この質問はばかげているように聞こえるかもしれません。なぜなら、あなたのためにそれを行うフレームワークがたくさんあることを私は知っているからです。私が望んでいるのは、実際に低レベルのC APIと深く接触し、コンピューター上に配置され、ローカルマシンと外部スペースの間のパケットを傍受するプログラムを作成できることです。オープンソースコード(つまりtcpdump)を調べてそれを理解しようとしましたが、実際にネットワークスニッフィングを実行しているファイルを見つけるのは非常に困難です。任意の提案をいただければ幸いです!
2 に答える
3
rawソケットを使用する必要があります。これが例です。少なくとも、オペレーティングシステムのようなLinuxやUnixに関係するものについては。Windowsについてはわかりません。
于 2011-09-22T19:42:26.557 に答える
1
UNIXベースのシステム[*]を使用している場合、最も単純なメカニズムはlibpcap
、tcpdump
プロジェクトの一部であるです。
ネットワークインターフェイスにアクセスするには、プロセスにroot権限が必要です(rawソケットの場合も同様です)。
通常、イーサネットフレーム、IPヘッダーなどを自分でデコードする必要がありますが、ほとんどのプロトコルでは、これはそれほど難しくありません。
[*]実際にはWin32でも利用できますが、私自身はWindowsでは使用していません。
于 2011-09-22T19:47:51.573 に答える