自分のユーザーモードのNATアプリケーションを作りたいと思います。バインディングポートなしでユーザーモードNATを作成するにはどうすればよいですか?
VM2 [192.168:
私はfolowingスキームを持っています。 8.2] ------ [192.168。 8.1] Win2003 [192.168。 9.1] ------ [192.168。 9.2] VM1
VM3 [192.168。 8.3]/
VM4 [192.168。 8.4] _/
- Iは、8.1と9.1のインターフェイスで生のIPパケットをキャプチャしています。 8.2-> 9.2 9.1-> 9.2
- に置き換え9.1から一部のパケットが8.1インターフェイスに、このように転送されます::8.1から
- いくつかのパケットが9.1インターフェイスに、このように転送されます9.2-> 9.1は9.2-> 8.2に置き換え
私のアプリケーションはポートをまったくバインドしません。インターフェイスからのキャプチャだけです。
私はこのシナリオを見た:> 9.2 9.1-に翻訳
- 8.2-> 9.2は、SYNフラグに 9.2-> 8.2 containtのSYN + ACKフラグ
- に翻訳
- 9.2-> 9.1が含まれていますそして手順2にはRSTフラグ付きの9.1 - > 9.2が含まれています...
Windows Server 2003はNATed接続をリセットします。私はすべてのポートをバインドしたくありません。
どうすれば対応できますか?
UPDATE:あなたの ユーザー空間NATが使用するポートからRSTパケットをブロックするように
使用Windowsファイアウォール:それはすることが可能であるか
user1202136、。
独自のNDISドライバを記述しないでください。
+1、間違った 'RST'パケットをフィルタリングする正しい方法、正しい方法。ああ、人々が初めてISPのダウンロードを殺すのを防ぐためにこれをやってきたときの思い出を思い出しました... \ * shake cane \ * – MrGomez
...またはusermode以外のコンポーネントを追加したい場合は、 TCPスタックを見たくないRSTパケットをドロップするための中間のNDISドライバを作成します。 – Kimvais
私はちょうどあなたのrespounceのために、私の質問、高校を更新しました! – k06a