私は常に、ソフトウェア ファイアウォールが内部でどのように機能するのか疑問に思っていました。OS がパケットを送受信する前に、パケットを分析または傍受するための独自のカスタム ツールを作成できるようになりたいと考えています。私はコア ネットワークの原則にかなり精通しています。ファイアウォールと同じように、ネットワーク スタック内に収まるソフトウェアを作成したい場合、どこから始めればよいかわかりません。誰かが私にいくつかの指針を教えてもらえますか?
これが C# を使用して達成できる場合は特に興味がありますが、他の言語も可能です。私は主に Windows に焦点を当てていますが、クロスプラットフォームのライブラリも存在するかどうかを知りたいです。
編集(Wireshark のように) NDIS ドライバーを使用するのは良い選択肢のように思えますし、Vista のパケット フィルタリング機能はきちんとしているように聞こえますが、たとえば Windows XP では、ファイアウォールはどのようにそれを行うのでしょうか? 私が知っている特別なドライバーをインストールする必要はありません。