适用于Windows的低级HTTP过滤

时间:2014-03-17 10:02:32

标签: c# windows http winapi fiddler

我想在Windows中为所有浏览器实现家长控制。我在.NET应用程序中思考。

我的第一个想法是创建一个本地HTTP代理(如Fiddler),甚至使用Fiddlers嵌入式API。然而,即使是小孩,这个代理也可以轻松完成,只需(重新)设置浏览器不要使用这个本地代理。

所以我得出结论我必须更深入。 我的问题,我是对的吗? ......以及如何以及在哪里......

提前致谢

2 个答案:

答案 0 :(得分:1)

"官方"这样做的方法是在Windows过滤平台上构建一个过滤器;它专为此类设计而设计,它是Windows'建立了自己的家长控制功能。

话虽如此,您可以使用FiddlerCore构建家长控制应用程序。然后,您将使用组策略来控制代理设置(在ProxySettingsPerUser内创建一个名为0的值为HKLM\Software\Policies\Microsoft\Windows\CurrentVersion\InternetSettings\的REG_DWORD),以便非管理用户无法更改这些设置。

您可以通过应用防火墙策略进一步加强这一点,以便阻止直接出口,并且只允许通过Fiddler的流量离开该框。

答案 1 :(得分:0)

您可能无法使用.NET执行此操作。如果您想要查看所有HTTP流量而不管浏览器设置如何,您需要挂钩每个进程并覆盖对套接字API的调用,或者进入网络驱动程序层并查看其中的通信。

.NET两者都是错误的 - 您不希望将.NET DLL附加到非.NET进程,并且您不想创建.NET驱动程序。

您还需要以某种方式覆盖DNS,否则您将无法阻止HTTPS访问 - 您无法监控HTTPS,您只能阻止它。