web-dev-qa-db-ja.com

特定のネットワークカードをpingして使用する方法

ネットワークカードが3枚、LAN(有線)が1枚、ワイヤレスネットワークカードが1枚、ワイヤレスUSBが1枚

特定のネットワークカードからpingするにはどうすればよいですか?

&特定のアプリケーションに特定のネットワークカードを使用する方法

i want to ping google from wlan1

特定のアプリケーションの例

i want to use firefox or transmission from wan1

Lan ip 192.168.0.2>正しく機能 enter image description here pin -I wlan1 google.com enter image description here

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:〜$ ip route

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

最後に、アプリケーションの問題

11
One Zero

Pingマニュアルを見るとman ping、 あなたは読むことができます:

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

ルーティングテーブルを確認してください。

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

Wlan1インターフェースは、192.168.0.0ネットワークに到達する方法を知っているだけです。また、問題を引き起こす可能性のある同じサブネットにwlan1とeth0があります。 wlanインターフェースで到達したい宛先のルーティングテーブルにルートを追加する必要があります。例えば

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

これはアプリケーションでルーティングできないことに注意してください。そのためには、iptables -m owner --uid-ownerなどのポリシールーティングを構成する必要があります。ping -S src_ip dest_ipコマンドは、実際にはwlan1 IPアドレスのソースを使用してパケットを送信しますが、次のホップのためにパケットをeth0にルーティングしますルーティングテーブルのeth0です。最善の策は、wlan1インターフェースとeth0インターフェースを別々のサブネットに配置することです。

5
resmon6

BSDからのping(8) に関する限り、-S特定のインターフェイスからのpingをシミュレートするpingのスイッチ:

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

ネットワークインターフェイス(IPアドレス)のアプリケーションレベルの認識は、インターフェイスごとに異なるゲートウェイを指定したり、ファイアウォールルールを介してポートまたはその他の基準に従ってトラフィックをリダイレクトしたりすると、ある程度可能です。 firefoxを使用して80ポートのみに接続している場合は、iptablesにSNATルールを指定して、指定したIPアドレスを介して接続することで、目的のインターフェイスを作成できます。

4
kaji