加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

确定现有连接是否在Windows下使用TCP KeepAlive

发布时间:2020-12-14 02:20:36 所属栏目:Windows 来源:网络整理
导读:在 Windows(Vista和更高版本)中,有一种方法或工具可以帮助确定使用SO_KEEPALIVE选项创建现有的,已建立的传出TCP连接. 在Unix平台上,通常可以使用netstat看到这一点(即’netstat -o’将为KEEPALIVE显示一个单独的列). Windows上的Netstat没有此功能.我测试过
在 Windows(Vista和更高版本)中,有一种方法或工具可以帮助确定使用SO_KEEPALIVE选项创建现有的,已建立的传出TCP连接.

在Unix平台上,通常可以使用netstat看到这一点(即’netstat -o’将为KEEPALIVE显示一个单独的列).

Windows上的Netstat没有此功能.我测试过的其他Microsoft / SysInternals网络工具也没有.

我似乎无法找到可以提供此信息的工具.

场景是:在Windows 2008 R2服务器上运行的应用程序需要在其建立的所有连接上启用TCP keepalive.某些应用程序没有启用TCP keepalive的选项,我需要某种方法来确定这些应用程序是否默认启用它.

需要说明的是:我需要一些工具或关于如何编写工具的建议,这表明现有的winsock连接是否启用了TCP keepalive.虽然还有其他方法可以确定这一点(例如嗅探流量并查看是否发送了keepalive数据包),但它们都具有不确定性.此外,我们谈论的是很多服务器和很多应用程序.

解决方法

使用WireShark查看TCP Keepalive数据包.如果你需要检查环回,就像我使用 https://github.com/nmap/npcap一样

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读