状況はこれです-サーバー上にpingを実行するスクリプトが1つありますが、どこにあるのかわかりません。このping makeがどのマシンにあり、なぜFAILED
が返されるのかを確認したいと思います。
私が作成するのは、1つの端末でtcpdumpを有効にし、同時に2番目の端末でpingを実行するスクリプトを有効にすることですが、実際のpingがキャプチャされているかどうかはわかりません。
これは私が使うコマンドです
tcpdump -w - | tee ping.pcap | tcpdump -r -
これはこれを行う正しい方法ですか、それとも他の方法がありますか?
編集:
問題は、tcpdumpを開始すると大量のトラフィックが発生し、このpingからのトラフィックがどれかを認識できないことです...
試してください:
tcpdump -i eth0 icmp
ping
トラフィックをリストに表示しますeth0
。
tcpdump -n icmp
を使用して、ping要求と応答をフィルタリングできます。名前の検索を防ぐために-n
スイッチを追加しました。ホストにはいくつかのインターフェースがあるため、正しいインターフェースを指定するために-i ethX
スイッチを追加する必要がある場合があります。
フィルター(この場合はicmp)がコマンドの最後の部分である必要があることに注意してください。
使用する前に、常にunix/linuxコマンドのmanページを参照してください。 tcpdumpコマンドにはさまざまなオプションがあります。それらすべてを探索することは非常に興味深いです。
Tcpdumpコマンドを使用してダンプをキャプチャするには、rootアクセスが必要です。
例:
tcpdump -i any -s 0 -v -w ping.pcap
上記のコマンドは、使用可能なすべてのイーサネットインターフェイス上のすべてのパケットを無制限のスナップ長で詳細にキャプチャし、キャプチャをファイルping.pcapに書き込みます。
同様に、インラインフィルターを使用して、特定のホストのパケットをフィルターできます。
例:
tcpdump -i any -s 0 -v -w ping.pcap 135.250.80.55
上記のコマンドは、135.250.80.55から135.250.80.55までのすべてのパケットをキャプチャします。