首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows过滤平台从托管代码中过滤HTTPS

Windows过滤平台从托管代码中过滤HTTPS
EN

Stack Overflow用户
提问于 2014-04-18 09:20:31
回答 1查看 4.1K关注 0票数 3

我想为Windows开发一个基于主机的防火墙,主要是从HTTPS开始过滤URL!我知道微软正在将WFP作为对旧技术的替代,例如防火墙/过滤器挂钩、NDIS、TDI、WSA和Winsock 2 (LSP)。但是WFP目前不支持带有主机名或URL的过滤器。此外,WFP只使用C/C++,而.NET中也没有可用的.NET包装器。

我尝试了@basil的WinDivert演示应用程序webfilter,它在TCP端口80 (默认HTTP)上解析IPv4出站流量中的数据包,重置服务器连接(TCP RST),并向客户端(浏览器)发送一个HTML (浏览器),然后再发送一个TCP FIN,以防IPv4匹配文本文件中任何作为命令行参数给出的黑名单条目,然后重新注入它们。

代码语言:javascript
复制
 handle = WinDivertOpen(
        "outbound && "              // Outbound traffic only
        "ip && "                    // Only IPv4 supported
        "tcp.DstPort == 80 && "     // HTTP (port 80) only
        "tcp.PayloadLength > 0",    // TCP data packets only
        WINDIVERT_LAYER_NETWORK, priority, 0
    );

我的问题是:我是否可以更改此代码以支持HTTPS (将端口更改为默认值443)以及IPv6?如果是这样的话,我愿意编写一个P\Invoke包装类来从托管C#代码中调用它。

额外:这个解决方案可以使用SSH隧道绕过,还有其他方法可以绕过它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-20 02:12:29

HTTPS使用加密来阻止第三方拦截和修改HTTP流。因此,简短的回答是“不”。

原则上,您可以使用WinDivert发起中间人攻击,以访问未加密的HTTP流。然而,这将被检测到,网络浏览器将严厉警告用户,他们正在遭受攻击,不能继续。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23151135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档