如何防止Windows在尝试通过Pcap.net连接到某人时发送RST数据包?
发布时间:2020-12-14 04:33:54 所属栏目:Windows 来源:网络整理
导读:我正在尝试使用Pcap.Net打开tcp连接. 我发送以下包裹: 服务器响应: 在此之后,Windows自己发送重置数据包: 为什么会发生这种情况,如何阻止此行为? 我在Windows 7上这样做 正如哈里斯先生所说,你可以用 WinDivert做你想做的事.例如.只需执行TCP握手,您可以
我正在尝试使用Pcap.Net打开tcp连接.
我发送以下包裹: 服务器响应: 在此之后,Windows自己发送重置数据包: 为什么会发生这种情况,如何阻止此行为? 我在Windows 7上这样做
正如哈里斯先生所说,你可以用
WinDivert做你想做的事.例如.只需执行TCP握手,您可以编写如下内容:
// TCP handshake using WinDivert: HANDLE handle = DivertOpen("inbound && tcp.SrcPort == 80 && tcp.Syn && tcp.Ack",0); DivertSend(handle,synPacket,sizeof(synPacket),dstAddr,NULL); ... DivertRecv(handle,synAckPacket,sizeof(synAckPacket),&srcAddr,&length); ... DivertSend(handle,ackPacket,sizeof(ackPacket),NULL); ... DivertRecv()函数在Windows TCP / IP堆栈处理之前将服务器响应重定向到用户空间.因此,不会生成任何讨厌的TCP RST. DivertSend()注入数据包. 这是WinDivert和WinPCAP之间的主要区别.后者仅仅是一个数据包嗅探器,而前者可以拦截/过滤/阻止流量. WinDivert是用C语言编写的,因此您需要编写自己的.NET包装器. (通常披露:WinDivert是我的项目). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows Server 2016-重命名域控制器
- Windows命令无法运行报错:is not recognized as an intern
- window.performance javascript的解释
- 同步域内时间方法二:PDC主机作为时间源
- windows-8 – “用于Javascript的Windows库的Visual Studio
- 如何在uwp windows 10中更改Package系列名称
- windows – f#中的缩进问题(vs2010 beta1)
- windows-server-2008 – 从Win2008 R2中删除IIS – 副作用?
- Windows10安装ubuntu16.04双系统教程 Windows10
- windows – 如何在Python cmd行应用程序上创建静态标题/边框