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


11

ネットワークカードが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>正しく機能 ここに画像の説明を入力してください する-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

one @ 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 

@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

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


1
送信元アドレスを設定したいだけですか、それとも何らかの方法で別のネットワークパスを選択する予定ですか。送信元アドレスを設定しても、選択されたルートが自動的に変更されたり、特定のインターフェイスが終了したりすることはありません。
Zoredache 2012年

回答:


9

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

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

1
2番目の画像をチェック> ping -I wlan1 google.com
One Zero

たぶん、あなたはあなたの接続でpingをブロックしました。
カレド2012年

eth0での作業
One Zero

5

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

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-ownerping -S src_ip dest_ipコマンドは実際にはwlan1 IPアドレスのソースを使用してパケットを送信しますが、ルーティングテーブルの次のホップはeth0であるため、パケットをeth0にルーティングします。最善の策は、wlan1インターフェースとeth0インターフェースを別々のサブネットに配置することです。


4

BSDのping(8)に関する限り、ping-Sスイッチを使用して、特定のインターフェイスからの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アドレスを介して接続することで、目的のインターフェイスを作成できます。


分かりません、コマンド?ping -S?
One Zero

ping -S your.first.ip.addr hotmail.com&ping -S your.another.ip.addr hotmail.com ping hotmail.com with your available IP address。指定しない場合、デフォルトプロトコルはデフォルトゲートウェイ経由でpingプローブを実行します

1
pingのどのバージョンを訴えていますか?私のUbuntuシステムで-Sは、ソケット送信バッファーを構成します。
Zoredache 2012年

ping -V> pingユーティリティ、iputils-sss20101006
One Zero
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.