如何检测 Windows 中打开的套接字?
Posted
技术标签:
【中文标题】如何检测 Windows 中打开的套接字?【英文标题】:How to detect opened sockets in Windows? 【发布时间】:2010-10-08 15:24:00 【问题描述】:在 Windows XP(如有必要,SP2)中,是否有任何方法可以从用户空间应用程序检测 TCP/UDP 套接字(来自 任何 进程)已打开?我知道GetExtendedTcpTable()
和GetExtendedUdpTable()
函数,但它们只检测当前 打开的套接字。有些套接字在打开后立即关闭,我能够检测到它们存在的唯一方法是在它们打开时收到通知。
如果用户空间不存在这样的机制,我愿意进入内核空间来获得这个功能。是否有任何记录/未记录的功能可以做到这一点?
【问题讨论】:
Windows 包含可执行命令netstat.exe
,它显示了当前打开和监听的连接...您也许可以使用它。
【参考方案1】:
您可能需要编写 WinSock LSP 或 SPI 驱动程序来检测它,而无需直接挂钩每个正在运行的进程。
【讨论】:
以上是关于如何检测 Windows 中打开的套接字?的主要内容,如果未能解决你的问题,请参考以下文章