我想看看什麼樣的連接,任何程序正在做,哪個端口,看到程序EXE路徑等如何跟蹤任何程序試圖使用哪個網絡端口?
我想實現某種防火牆通知系統,它會彈出一個窗口給我告訴這個和那個端口需要打開才能使程序正常工作。
我該如何開始?
我想看看什麼樣的連接,任何程序正在做,哪個端口,看到程序EXE路徑等如何跟蹤任何程序試圖使用哪個網絡端口?
我想實現某種防火牆通知系統,它會彈出一個窗口給我告訴這個和那個端口需要打開才能使程序正常工作。
我該如何開始?
您需要爲每個願意提供此功能的進程都掛接套接字API,或者使用WFP和客戶端應用程序編寫過濾器,這些應用程序從過濾器接收信息並顯示通知窗口。
結帳Windows Filtering Platform (WFP) API。不確定您如何將網絡活動與應用程序相關聯,但這是您攔截它的正確位置。
netstat/o爲您提供每個網絡連接的進程ID,並且netstat/b爲您提供可執行文件的名稱。
正確,但是這不會告訴你什麼時候禁止訪問網絡,因爲netstat在發生故障時不會看到任何內容。每次連接嘗試時都需要一個可追蹤事件。 – 2011-06-10 15:44:02
+1。這種關聯可能發生在ALE上(參見'inMetaValues'中的'processId')。使用PID,您可以輕鬆檢索可執行文件路徑和參數。 – jweyrich 2011-06-10 15:59:20
@Jweyrich - 感謝您添加額外信息 – 2011-06-10 16:31:29