如何检查给定进程创建了哪些与 Internet 的连接

Posted

技术标签:

【中文标题】如何检查给定进程创建了哪些与 Internet 的连接【英文标题】:How to check what connections a given process has created to the internet 【发布时间】:2009-08-13 17:02:56 【问题描述】:

我的意思是,如果您使用 NetLimiter 之类的工具,它们会让您知道连接到 IP1、IP2 等的给定进程。我正在为我的应用程序使用数据包嗅探,但我只需要对一个应用程序进行数据包嗅探,所以我想知道该应用程序连接到哪些 IP 地址。有什么简单的方法可以做到这一点?我正在使用 WinPCap 的包装器。

编辑:谷歌搜索后,我了解了 -netstat -bno 命令。它似乎做我想做的事,但我想知道是否有任何特定的功能可以做到这一点。否则,我就用这个。

edit2: w i n d o w s !

【问题讨论】:

我不确定你在问什么。你说 netstat -bno 是你想要的,但要求一个特定的功能来做到这一点。你想要一个 c#/c++/something .net 函数吗?即您是通过编程方式执行此操作还是想要像 Netlimiter 这样的工具? 【参考方案1】:

按照您的建议,使用 windows 等效项;

netstat -abnot 

【讨论】:

【参考方案2】:

看看GetExtendedTcpTable(),它是相关的列出函数。 C 或 C++,如果您喜欢 VB,我想 VB 等效项具有相似的名称。

http://msdn.microsoft.com/en-us/library/aa365928%28VS.85%29.aspx

【讨论】:

【参考方案3】:

如果您使用的是 Linux,您可以说“netstat -nap”,它会列出打开的网络和 UNIX 域套接字。

您还可以从 /proc/net/tcp 和 /proc/net/udp 读取此类信息。此页面http://linuxdevcenter.com/pub/a/linux/2000/11/16/LinuxAdmin.html 应该可以帮助您入门。

【讨论】:

谢谢。但这适用于 Windows :( 哦,对不起,我还没看完就开始回答了。

以上是关于如何检查给定进程创建了哪些与 Internet 的连接的主要内容,如果未能解决你的问题,请参考以下文章

word无法创建工作文件 请检查临时环境变量

如果给定文件或目录被锁定(由任何进程使用),如何检查命令行?

在 OnPaint() 事件中,如何检查给定的矩形是不是与无效区域相交?

手动将文件与流程关联

检查文件是不是被进程文件句柄锁定

是否可以检查哪些 gradle 依赖项包含给定的类?