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

套接字 – 如何检测Windows中正在侦听tcp / ip端口的程序?

发布时间:2020-12-14 02:50:38 所属栏目:Windows 来源:网络整理
导读:我有一个我继承的应用程序,它在端口7001上侦听来自我们内部测试设备的UDP广播,我最近更新了另一个需要做同样事情的应用程序.两个应用程序必须能够在同一台计算机上共存. 目前,当我最近更新的应用程序尝试绑定到端口以侦听UDP广播并失败时,它只是报告端口不可
我有一个我继承的应用程序,它在端口7001上侦听来自我们内部测试设备的UDP广播,我最近更新了另一个需要做同样事情的应用程序.两个应用程序必须能够在同一台计算机上共存.

目前,当我最近更新的应用程序尝试绑定到端口以侦听UDP广播并失败时,它只是报告端口不可用并建议继承的应用程序可能正在运行.如何让我的应用程序检测哪个应用程序实际上正在该端口上侦听?我已经完成了谷歌搜索,甚至搜索了这个网站,但到目前为止,除了在命令行使用任务管理器,TCPView或netstat之外,我一直找不到任何东西.

我更喜欢使用Windows API或Windows系统COM组件的技术,因为这两个应用程序都是用VB6编写的. (我知道,我知道,但我必须维护这些应用程序,因为它们是关键任务.)但是,如果我在新的开发工作中需要它,.NET解决方案也会很有用.

解决方法

netstat -n -o

这将显示进程Id,从那里你可以查看任务管理器的进程查看器,转到视图 – >列…并检查进程ID(PID).然后,您可以看到在该端口上侦听的进程的名称.

当然,您需要一种程序化的方法来实现这一点,并且GetTCPTable2 API是最好的,正如已经建议的那样.实际上,如果你查看netstat.exe的IAT(导入地址表),它实际上使用该API来获取该信息.

有一种方法可以直接与命令窗口通信并使用管道获取其输出,它可以正常工作,但理想的方法是简单地使用相同的API netstat使用.

(编辑:李大同)

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

    推荐文章
      热点阅读