特定の IP とポート宛てのネットワーク パケットをキャプチャし、アプリケーション層に到達する前にそれらをキューに格納する方法を知りたいと思います。後で条件に応じて、パケットをデキューして送信したい上位層に送信するか、パケットを破棄します。C#を使用して.NETフレームワークで可能ですか?
質問する
161 次
3 に答える
1
そのためにはプロキシが必要です。プロキシは「中間者」として機能します。
于 2013-02-01T07:11:38.263 に答える
0
ettercap または tcpdump を実行するだけです。次に、必要に応じてwiresharkを使用してパケットを検査するか、必要に応じて、その生データを処理する任意の言語で独自のプログラムを作成できます.
于 2013-02-01T09:00:39.400 に答える
0
これを行う 1 つの方法 (仮想を使用する最新の Linux システムで) は、パケットを別の IP アドレス (たとえば、127.xxx アドレス) に再ルーティングするように iptables を構成することです。これらのパケットをキャプチャして再送信するアプリケーションを作成します。後で。おそらく、実際のアプリケーションを仮想マシンで実行する必要があります...そして、仮想ネットワーク層でiptableのトリックを実行して...実際のアプリケーションが「実際の」IPアドレスをリッスンして情報を取得できるようにします。
しかし、それは面倒で複雑であり、パケットのドロップや VM の安定性の問題が発生する可能性があります。
于 2013-02-01T07:51:24.427 に答える