首页
社区
课程
招聘
[翻译]SetTcpEntry6 - 一个针对IPv6的自定义SetTcpEntry实现
发表于: 2022-2-15 15:06 13022

[翻译]SetTcpEntry6 - 一个针对IPv6的自定义SetTcpEntry实现

2022-2-15 15:06
13022

翻译

原文地址:https://www.x86matthew.com/view_post?id=settcpentry6

功能:一个针对IPv6的自定义SetTcpEntry实现

Windows有一个名为SetTcpEntry的函数,可以用来终止TCP表中的一个活动连接。这个函数只支持IPv4连接,目前还没有针对IPv6的对应函数。甚至微软自己的TCPView工具也不允许关闭IPv6连接。

我对原始的SetTcpEntry函数进行了逆向工程,并成功创建了一个自定义的SetTcpEntry6函数。这段代码可以在所有带有 "下一代TCP/IP栈"(Vista以上)的Windows版本上使用。Windows XP从一开始就不完全支持IPv6,所以这些函数在所有现实情况下都能按预期工作。

SetTcpEntry函数调用NsiSetAllParameters时使用了一个未记录的数据结构。我对这个结构进行了逆向工程,并将其标记为KillTcpSocketData_V4。我逆向工程的SetTcpEntry(IPv4)函数如下:


上面的函数实际上并不是必需的,因为现有的 SetTcpEntry 函数适用于所有版本的 Windows 上的 IPv4 sockets ,但它可以作为创建 IPv6 实现的起点。

在花了一些时间看了nsi.dll中其他与IPv6有关的函数后,我想出了以下代码:


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//