3

Wireshark がどのように機能するのか疑問に思っています。特定のマシンのすべてのポートでトラフィックをリッスンできるアプリケーションの設計はどのようなものでしょうか? そのようなアプリケーションが生成するのはどのような種類のオーバーヘッドですか? トラフィックを監視するアプリを作成するには、どのような方法がよいでしょうか?

ありがとう

4

2 に答える 2

1

Wireshark は、UNIX プラットフォームで libpcap を利用し、Windows でそのポート WinPcap を利用します。このライブラリは、パケットをキャプチャするための API を提供します (Wireshark はフレームをキャプチャすることもできますが、pcap がそれを実行できることを pcap ドキュメントで見つけていません)。

ライブラリがどのようにそれを行うかはプラットフォーム固有です。そのため、ライブラリを使用して面倒な作業を行うのが良い方法です。UNIX では libpcap または tcpdump (どれだけ低レベルにする必要があるかによる)、および Windows では WinPcap または Windows Filtering Platform。

ドキュメント: http://www.tcpdump.org/pcap3_man.html http://www.winpcap.org/docs/docs_412/html/main.html

于 2010-12-18T10:57:47.647 に答える
1

1 つの方法は、Windows Filtering Platformを使用することです (これは Vista+ 用ですが、XP でも同様の機能が可能でした - WFP は作業を簡単にします)。WFP を使用すると、パケット処理スタックのさまざまなポイントでコードを呼び出すドライバーの "コールアウト" をリッスンできるため、移動するデータをキャプチャ、フィルター処理、さらには変更することもできます。

于 2010-10-15T03:28:28.680 に答える