como executar ping e usar uma placa de rede específica


11

Eu tenho 3 placas de rede, 1 Lan (com fio), 1 placa de rede sem fio e 1 é usb sem fio

como faço ping de uma placa de rede específica?

e como uso uma placa de rede específica para aplicativos específicos

exemplo

i want to ping google from wlan1

exemplo para aplicação específica

i want to use firefox or transmission from wan1

Lan ip 192.168.0.2> Funcionando corretamente: insira a descrição da imagem aqui pino -I wlan1 google.com insira a descrição da imagem aqui

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: rota $ 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

Agora, finalmente, o problema do aplicativo


1
Deseja apenas definir o endereço de origem ou espera selecionar um caminho de rede diferente? Definir um endereço de origem não altera automaticamente automaticamente qual rota está selecionada e faz sair de qualquer interface específica.
precisa saber é o seguinte

Respostas:


9

Se você olhar o manual do ping man ping, poderá ler:

-I interface address
   Set source address to specified interface address. Argument may be numeric IP
   address or name of device.

1
verifique a segunda foto> ping -I wlan1 google.com
One Zero

Talvez você tenha ping bloqueado na sua conexão.
Khaled

está trabalhando em eth0
One Zero

5

Confira sua tabela de roteamento.

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

Sua interface wlan1 sabe apenas como alcançar a rede 192.168.0.0. Você também possui sua wlan1 e eth0 na mesma sub-rede, o que pode causar problemas. Você precisa adicionar uma rota à tabela de roteamento para todos os destinos que deseja alcançar na sua interface wlan. Por exemplo

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

Observe que isso não permitirá que você roteie por aplicativo. Para isso, você precisará configurar o roteamento de políticas com algo como iptables -m owner --uid-owner O ping -S src_ip dest_ipcomando realmente enviará o pacote com uma fonte do seu endereço IP wlan1, mas encaminhará o pacote eth0 porque o próximo salto é eth0 na tabela de roteamento. Sua melhor aposta é colocar as interfaces wlan1 e eth0 em sub-redes separadas.


4

No que diz respeito ao ping (8) do BSD , você pode usar o -Sswitch de ping para simular o ping de uma interface específica:

-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.

A conscientização no nível do aplicativo para a interface de rede (endereços IP) é um tanto possível até certo ponto, se especificarmos um gateway diferente para interfaces diferentes ou redirecionarmos o tráfego de acordo com a porta ou outro critério através das regras do firewall ... por exemplo. se você estiver usando o firefox para conectar-se apenas a 80 portas, poderá especificar a regra SNAT no iptables para conectar-se através do seu endereço IP especificado, portanto, a interface desejada


eu não entendi, comando? ping -S?
Um Zero

ping -S your.first.ip.addr hotmail.com e ping -S your.another.ip.addr hotmail.com pings hotmail.com com seu endereço IP diferente disponível. Se não for especificado, o protocolo padrão leva a sonda de ping via gateway padrão

1
Qual versão do ping você está processando? No meu sistema Ubuntu -Sconfigura o buffer de envio do soquete.
Zoredache

ping -V> utilitário ping, iputils-sss20101006
One Zero
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.