web-dev-qa-db-ja.com

ルーターから特定のサーバーに送信されるパケットをキャプチャするにはどうすればよいですか?

家に小さなローカルネットワークがあり、モデムルーターに2台のコンピュータが接続されています。ルーターから特定のサーバーに送信されるパケットをキャプチャしたい(サーバーのIPアドレスを知っている)。

ルーターの製造元はD-Linkです。

12
user664174

最初に、そのすべてのトラフィックの間に入る必要があります。これはさまざまな方法で実行できますが、最も簡単な方法は、両方のコンピューターからのトラフィックが本当に必要か、単一のコンピューターからのトラフィックだけが本当に必要かを識別することです。

両方が必要な場合は、コンピューターをハブに接続してからルーターに接続します。ハブはすべてのネットワークトラフィックをすべてのポートに送信しますが、スイッチは目的の宛先にのみ送信します。

スイッチしかない場合は、1台のコンピューターをゲートウェイとして装備し、2台目のコンピューターをそれに向けることができると思いますが、それは面倒です。

allトラフィックが必要な場合は、たとえルーターであっても、ルーターの後にハブを配置し、それにコンピューターを接続します。これはおそらく、キャプチャしようとしているトラフィックしないがパケットのキャプチャに使用しているマシンから発信された場合にのみ機能します。それ以外の場合は、さらに厄介な構成で実行されます。 。

すべてのトラフィックがコンピュータのNICを通過したら、パケットスニファを取得し(実際には Windowsネットワークモニタ よりも Wireshark を使用することをお勧めします)、パケットの取得を開始します。問題のサーバーだけを表示するようにトラフィックをフィルタリングする必要があるでしょう。 Microsoftネットワークモニターのフィルターは非常にユーザーフレンドリーです。 enter image description here

5
Tanner Faulkner

ホームルーターでDD-WRTを実行する場合は、ルーターで直接tcpdumpを実行し、出力を後で処理するためにローカルシステムに戻すことができます。

例:

ssh [email protected] -c "tcpdump -v -w - -i eth2" > mypackets.pcap

完了したらCtrl-Cを押し、キャプチャファイルをWiresharkなどのお気に入りの分析ツールにロードします。

10
Michael Hampton

パケットがルーター自体から発信されていない限り(可能性がありますが、そうではありません)、パケットは接続されたコンピューターの1つから送信されます。この場合、 packet-sniffer を使用できます。 SmartSniff は非常に使いやすく、特定のIP、ポートなどとの接続のみをキャプチャまたは表示するように構成できます。

0
Synetech

エンタープライズグレードのルーターまたはスイッチを使用すると、ポートをミラーリングし、wiresharkやnetmonなどのパケットキャプチャプログラムを使用してこれを行うことができます。 d-linkルーターでは、これを行う方法は実際にはありません。

1つの解決策は、ネットワークハブ(スイッチではなくハブ)を取得し、それを内部ネットワークに配置することです。次に、ハブからのアップリンクをルーターのポートに接続します。これで、ハブを使用しているため、ネットワークに出入りするすべてのトラフィックがマシンのすべてのNICに到達する状況が作成されました。これを行うと、wiresharkまたはnetmonを無差別モードで実行し、このトラフィックをすべてキャプチャできるようになります。特定のIPとの間のトラフィックを分離するフィルターを作成するのは簡単です。

0
MDMarra