2011-11-10 113 views
1

如何控制Windows上的網絡接口?其實,這個想法很簡單。Windows上的網絡控制

  1. 建立連接到計算機上的某個適配器。

  2. 將適配器的整個流量直接傳遞給此程序。

  3. 給這個程序的權利必須傳遞給適配器什麼不應該。

我認爲該程序必須實現任何Windows網絡適配器接口並註冊爲適配器驅動程序。因此,當它想要將數據傳輸到真正的適配器時,程序必須調用適配器驅動程序方法。反過來,這些方法實現了相同的Windows網絡接口(或者以其他方式調用的方法並不真正知道,我希望你能理解),不是嗎?

因此,我們在這裏有一種繼承。 之前使用新的驅動程序: Windows應用程序和Windows本身

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ windows網絡接口

適配器1的驅動程序

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ OS邊界

適配器1

使用我們的新驅動程序: Windows應用程序和Windows本身

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ windows網絡接口

我們的驅動程序

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___視窗網絡接口

DRIVER適配器1

__ _ __ _ __ _ __ _ __ _ __ _ __ _ ___ OS邊界結束

適配器1

我相信那種接口的存在我希望它很容易實現。

回答

1

您可能需要掛鉤Windows API調用才能真正做到這一點。這是可能的...開始谷歌搜索API和Winternals - 看看你是否能找到他們的示例代碼。

在Winternals被微軟收購之前,他們發佈了他們的代碼。 http://technet.microsoft.com/en-us/sysinternals/bb545021

的想法是這樣的:

  • 你寫了一個用戶模式的程序來控制您的掛鉤裝置 驅動程序。
  • 您的掛鉤設備驅動程序確定給定API調用的 網絡流量是否正常。
  • 驅動程序允許正常的API調用成功(如果它們是的話)。
+0

是的...好的。但還有其他更多的紀錄方式或更具體的方式。 – itun