Cómo hacer ping y usar una tarjeta de red específica

11

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 ingrese la descripción de la imagen aquí pin -I wlan1 google.com ingrese la descripción de la imagen aquí

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

Un cero
fuente
1
¿Solo desea establecer la dirección de origen o espera seleccionar de alguna manera una ruta de red diferente? Establecer una dirección de origen no cambiará automáticamente por arte de magia qué ruta está seleccionada, y hará que salga de cualquier interfaz en particular.
Zoredache

Respuestas:

9

Si mira el manual de ping man ping, puede leer:

-I interface address
   Set source address to specified interface address. Argument may be numeric IP
   address or name of device.
Khaled
fuente
1
compruebe la segunda foto> ping -I wlan1 google.com
One Zero
Tal vez, tienes ping bloqueado en tu conexión.
Khaled
está trabajando en eth0
One Zero
5

Echa un vistazo a tu tabla de enrutamiento.

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
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan1

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

route add -host 65.55.72.135 gw 192.168.0.1 dev wlan1
ping -I wlan1 65.55.72.135

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 El ping -S src_ip dest_ipcomando 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.

resmon6
fuente
4

En lo que respecta al ping (8) de BSD , puede usar el -Sinterruptor de ping para simular ping desde una interfaz particular:

-S src_addr
             Use the following IP address as the source address in outgoing packets.  On hosts
             with more than one IP address, this option can be used to force the source address to
             be something other than the IP address of the interface the probe packet is sent on.
             If the IP address is not one of this machine's interface addresses, an error is
             returned and nothing is sent.

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

kaji
fuente
no entendi, comando? ping -S?
One Zero
ping -S your.first.ip.addr hotmail.com y ping -S your.another.ip.addr hotmail.com pings hotmail.com con su dirección IP disponible diferente. Si no se especifica, el protocolo predeterminado toma la sonda de ping a través de la puerta de enlace predeterminada
1
¿Qué versión de ping está demandando? En mi sistema Ubuntu -Sconfigura el buffer de envío de socket.
Zoredache
ping -V> utilidad de ping, iputils-sss20101006
One Zero