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

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

ネットワークカード3個、LAN(有線)1個、ワイヤレスネットワークカード1個、ワイヤレスUSB1個があります。

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

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

はい

i want to ping google from wlan1

具体的な適用事例

i want to use firefox or transmission from wan1

Lan ip 192.168.0.2 > うまく機能する ここに画像の説明を入力してください。 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

a@onezero:~$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 

@カリド

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

さて、最後にアプリケーションの問題です。

答え1

pingマニュアルを見ると、次の内容をman ping読むことができます。

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

答え2

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

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 インターフェイスを異なるサブネットに配置することです。

答え3

ハン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 アドレスを介して接続して目的のインターフェイスを取得できます。

関連情報