Linuxで特定の宛先ホストへのルートに使用されるネットワークインターフェイスと送信元IPアドレスを確認するにはどうすればよいですか?


16

Linuxマシン(ここ:Debian Lenny)に複数のネットワークインターフェイス(ここ:2)がある場合。特定の宛先ホストへのルートがどのネットワークインターフェイス(NIC)を経由し、どのソースIPアドレスがデフォルトで使用されているかを確認するにはどうすればよいですか?

私は使用していますが

ping -I nic1 desthost.example.com
ping -I nic2 desthost.example.com

両方の方法が可能かどうかも確認してください。(ここ:両方の方法が可能です)

ルーティングテーブルを検索しました

ip route show

しかし、それは非常に複雑なので、私に言っておくと、小さなシンプルなツールが必要です。

「宛先ホストdesthost.example.comには、インターフェイスnicXおよびソースIPアドレス10.0.0.1が必要です」

この情報を取得する最も簡単な方法は何ですか?

(そして、tcpdumpを使用せずに、インターフェイスを無差別モードに設定したいです。)

ありがとう。

回答:


39

を使用しip route get <ip>ます。


1
インターフェイスのみを取得するには:ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
mivk 14

2
またはip -o route get $ipaddress | awk '{ print $5 }'
ShadowFlame


0

を使用しますnetstat -Wcatnp。このコマンドを試してください。


0

さらに簡単なのはnm-tool、関連する行のみが必要な場合ですnm-tool | grep Device。出力されるはずです:

- Device: wlan0  [My router name] -----------------------------------------------
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.