come eseguire il ping e utilizzare una scheda di rete specifica


11

ho 3 schede di rete, 1 Lan (cablata), 1 scheda di rete wireless e 1 USB wireless

come posso effettuare il ping da una scheda di rete specifica?

e come utilizzo una scheda di rete specifica per un'applicazione specifica

esempio

i want to ping google from wlan1

esempio per un'applicazione specifica

i want to use firefox or transmission from wan1

Lan ip 192.168.0.2> Funziona correttamente inserisci qui la descrizione dell'immagine pin -I wlan1 google.com inserisci qui la descrizione dell'immagine

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: ~ $ route 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

Ora, infine, il problema dell'applicazione


1
Vuoi solo impostare l'indirizzo di origine o ti aspetti di selezionare in qualche modo un percorso di rete diverso? L'impostazione di un indirizzo sorgente non cambierà automaticamente la rotta selezionata e farà uscire qualsiasi interfaccia particolare.
Zoredache,

Risposte:


9

Se guardi il manuale del ping man ping, puoi leggere:

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

1
controlla la seconda foto> ping -I wlan1 google.com
One Zero

Forse, il ping è bloccato nella tua connessione.
Khaled,

sta lavorando su eth0
One Zero

5

Controlla la tua tabella di routing.

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

L'interfaccia wlan1 sa solo come raggiungere la rete 192.168.0.0. Hai anche wlan1 ed eth0 nella stessa sottorete che potrebbe causare problemi. Devi aggiungere un percorso alla tabella di routing per tutte le destinazioni che desideri raggiungere sulla tua interfaccia wlan. Per esempio

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

Nota che questo non ti permetterà di instradare per applicazione. Per questo dovrai configurare il routing dei criteri con qualcosa come iptables -m owner --uid-owner Il ping -S src_ip dest_ipcomando in realtà invierà il pacchetto con una fonte del tuo indirizzo IP wlan1 ma poi instraderà il pacchetto su eth0 perché l'hop successivo è eth0 nella tabella di routing. La soluzione migliore è posizionare le interfacce wlan1 ed eth0 su sottoreti separate.


4

Per quanto riguarda il ping (8) di BSD , puoi usare l' -Sinterruttore del ping per simulare il ping da una particolare interfaccia:

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

La consapevolezza a livello di applicazione per l'interfaccia di rete (indirizzi IP) è in qualche modo possibile se si specificano gateway diversi per interfacce diverse o reindirizziamo il traffico in base alla porta o ad altri criteri tramite le regole del firewall ... ad es. se si utilizza firefox per connettersi solo a 80 porte, è possibile specificare la regola SNAT in iptables per connettersi tramite l'indirizzo IP specificato, quindi l'interfaccia desiderata


non ho capito, comando? ping -S?
Uno Zero

ping -S your.first.ip.addr hotmail.com e ping -S your.another.ip.addr hotmail.com esegue il ping di hotmail.com con il tuo indirizzo IP diverso disponibile. Se non specificato, il protocollo predefinito accetta il probe ping tramite gateway predefinito

1
Quale versione di ping stai citando? Sul mio sistema Ubuntu -Sconfigura il buffer di invio socket.
Zoredache,

ping -V> utilità ping, iputils-sss20101006
One Zero
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.