Tengo 3 tarjetas de red, 1 Lan (con cable), 1 tarjeta de red inalámbrica y 1 es USB inalámbrico
¿Cómo hago ping desde una tarjeta de red específica?
y como uso una tarjeta de red específica para una aplicación específica
ejemplo
i want to ping google from wlan1
ejemplo para aplicación específica
i want to use firefox or transmission from wan1
Lan ip 192.168.0.2> Trabajando correctamente pin -I wlan1 google.com
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
172.16.221.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan1
192.168.48.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
one @ onezero: ~ $ ruta ip
default via 192.168.0.1 dev eth0 proto static
169.254.0.0/16 dev eth0 scope link metric 1000
172.16.221.0/24 dev vmnet8 proto kernel scope link src 172.16.221.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 metric 1
192.168.0.0/24 dev wlan1 proto kernel scope link src 192.168.0.3 metric 2
192.168.48.0/24 dev vmnet1 proto kernel scope link src 192.168.48.1
@Khaled
one@onezero:~$ ping -S 192.168.0.2 hotmail.com
PING hotmail.com (65.55.72.135) 56(84) bytes of data.
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=1 ttl=236 time=391 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=2 ttl=236 time=296 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=3 ttl=236 time=393 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=4 ttl=236 time=352 ms
ping -S 192.168.0.3 hotmail.com
PING hotmail.com (65.55.72.183) 56(84) bytes of data.
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=1 ttl=236 time=312 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=2 ttl=236 time=457 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=3 ttl=236 time=298 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=5 ttl=236 time=330 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=6 ttl=236 time=300 ms
Ahora por último el problema de la aplicación
networking
route
Un cero
fuente
fuente
Respuestas:
Si mira el manual de ping
man ping
, puede leer:fuente
Echa un vistazo a tu tabla de enrutamiento.
Su interfaz wlan1 solo sabe cómo llegar a la red 192.168.0.0. También tiene su wlan1 y eth0 en la misma subred, lo que podría causar problemas. Debe agregar una ruta a la tabla de enrutamiento para cualquier destino al que desee llegar en su interfaz wlan. Por ejemplo
Tenga en cuenta que esto no le permitirá enrutar por aplicación. Para eso, deberá configurar el enrutamiento de políticas con algo como
iptables -m owner --uid-owner
Elping -S src_ip dest_ip
comando en realidad enviará el paquete con una fuente de su dirección IP wlan1 pero luego enrutará el paquete eth0 porque el siguiente salto es eth0 en la tabla de enrutamiento. Su mejor opción es colocar las interfaces wlan1 y eth0 en subredes separadas.fuente
En lo que respecta al ping (8) de BSD , puede usar el
-S
interruptor de ping para simular ping desde una interfaz particular:El conocimiento del nivel de aplicación para la interfaz de red (direcciones IP) es algo posible hasta cierto punto si especificamos diferentes puertas de enlace para diferentes interfaces o redirigimos el tráfico de acuerdo con el puerto u otro criterio a través de reglas de firewall ... por ejemplo. Si está utilizando Firefox para conectarse solo a 80 puertos, entonces podría especificar la regla SNAT en iptables para conectarse a través de la dirección IP especificada, de ahí la interfaz deseada
fuente
-S
configura el buffer de envío de socket.