2010-01-26 53 views
4

我正在開發一個家長監控/跟蹤應用程序,它具有鎖定所有互聯網活動的功能。雖然禁用網絡適配器似乎是一個簡單的解決方案,但應用程序必須能夠遠程重新啓動互聯網,因此網絡需要保持啓用狀態,並達到一定限制。使用C#/ C++,是否可以限制網絡流量?

不幸的是,我還沒有找到一個合適的方法來實現這一點。沒有這個功能,這個應用程序就是 相當多的 死在水裏。所以我打了一個巨大的路障,我打開任何建議。

我的申請,我需要達到兩個要求:

  1. 丟棄所有的互聯網活動。 然後
  2. 只打開互聯網活動到指定的端口和IP地址。 (我的服務,這將被輪詢)

簡單的目標,對不對?最近並沒有那麼多。

雖然我期待在C#中實現這一點,據我所知,可能是一個長鏡頭,我開到C++的解決方案,可以被稱爲通過我的應用程序的資源。

另外請注意,我不能在用戶的系統上安裝任何第三方軟件,因爲這種解決方案需要無所不包。

在此先感謝!

回答

7

您需要使用Windows Filtering Platform將自定義層注入到IP堆棧中。該SDK特別針對家長控制程序等。不用說,任何內核模塊,它在C開發,你必須有Windows內部的專業知識:

Windows過濾平臺API是 設計用於通過使用 C程序員/ C++開發軟件。 程序員應熟悉使用用戶模式和 內核模式組件的 網絡概念和設計 系統。

+0

我要繼續前進,併爲此拍攝一張照片。謝謝!! – 2010-01-27 14:58:22

0

可能能夠利用的WinINET API來實現這一點; WinINET爲大多數/許多Windows應用程序定義了基本的Internet設置,並可用於定義代理信息。考慮到這一點,您可能可以創建一個拒絕除您之外的所有請求的代理。

0

不是一個直接的答案,但這種事情通常與serial connection或連接到一個「值得信賴的」 LAN第二NIC做出來的帶外。

相關問題