我想製作我自己的用戶模式NAT應用程序。如何編寫沒有任何綁定端口的用戶模式NAT?
我有如下因素方案:
VM2 [192.168。 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] _/
- 我捕捉上8.1和9.1接口RAW IP分組。
- 8.1中的一些數據包以這種方式被轉換爲9.1接口:8.2-> 9.2被9.1-> 9.2替代
- 9.1的一些數據包以這種方式被轉換爲8.1接口:9.2-> 9.1被9.2-> 8.2替換
我的應用程序根本不綁定任何端口 - 它只是從接口捕獲。
我看到這樣的情景:
- 8.2-> 9.2轉換爲9.1-> 9.2包含SYN標誌
- 9.2 - > 9.1轉換爲9.2 - > 8.2 containt SYN + ACK標誌
- 並且第2步包含帶有RST標誌的9.1-> 9.2 ...
Windows Server 2003重置我的NAT連接。我根本不想綁定任何端口。
我該如何處理?
UPDATE:
user1202136,怎麼可能到:
使用Windows防火牆從您的 用戶空間NAT使用的端口阻止RST包。
沒有寫自己的NDIS驅動程序?
+1,正確的規範,正確的方法來過濾掉可疑的'RST'數據包。噢,我記得當人們開始這樣做時,爲了防止他們的ISP阻止他們的下載... \ *搖動手杖\ * – MrGomez 2012-03-30 22:50:23
...或者如果您願意添加非用戶模式組件,您可以創建一箇中間NDIS驅動程序來刪除您不想讓TCP堆棧看到的RST包。 – Kimvais 2012-03-31 19:55:28
我剛剛更新了我的問題,謝謝你的回覆! – k06a 2012-04-04 06:01:44