2011-02-12 15 views
4

如何在Windows中過濾(允許,拒絕等)傳出數據包?我想在TCP或UDP數據包類型中搜索數據段,例如這個「387602304fd236e048125453b1fa10c980e9dad4fa7f3f5dd2497c2e8b2b」,並且丟棄/阻止/拒絕數據包,如果它匹配搜索的十六進制字符串。 我已經嘗試過WIPFW和PKTFILTER,但它們只能提供IP源,目標,端口等過濾。他們不檢查數據包的數據。 我認爲伯克利包過濾器的工作,但它是爲unix ...Windows中的數據包過濾(XP,7 etc)

回答

0

您可以在Windows中使用SmartSniff

從1.10版本開始,您可以過濾捕獲過程(捕獲過濾器)中不需要的TCP/IP的活動,或顯示捕獲的TCP/IP數據(顯示過濾器)

+0

它和WIPFW和PKTFILTER差不多。我不想過濾在捕獲過程中顯示給我的結果,但要攔截數據包並對其進行修改或刪除。 讓我更好地向你解釋。假設我們有一個像msn messenger這樣的簡單聊天程序。我給你發了一條消息「Hello Max」。我想讓包過濾程序搜索我的傳出數據包,找到包含「Hello Max」的數據包,然後將其更改(以便您將收到「Hello Dan」)或放下它(這樣您就不會收到任何東西)。 – Skoupidi 2011-02-12 15:28:31

0

你想要的應用程序級篩選那麼當, (只是改變有效載荷)。如果你想放下,我知道你可以掛鉤到Winsock,這將允許你捕獲數據包,因爲他們出去,並在那裏設置一個過濾器。 Windows 7也添加到他們的防火牆,所以你可以使用該API來抓取出站數據包;不過,我不確定它是否會允許您專門更改有效載荷數據。

+0

謝謝,我會嘗試winsock2攔截方法作爲Windows 7高級防火牆,不提供更改數據包的能力。 – Skoupidi 2011-03-15 03:32:37