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

windows – 查找应用程序使用的tcp端口

发布时间:2020-12-13 20:34:49 所属栏目:Windows 来源:网络整理
导读:好吧,所以我扩展了我公司的flexlm供应商守护程序,以便对客户端应用程序有所了解. 我需要能够在客户端连接之前找出lmgrd正在侦听的端口. API文档似乎相当贫瘠,我相信他们将大部分代码保存在编译形式中,所以我不能只看它们的来源. 是否可以调用Windows API的强
好吧,所以我扩展了我公司的flexlm供应商守护程序,以便对客户端应用程序有所了解.

我需要能够在客户端连接之前找出lmgrd正在侦听的端口. API文档似乎相当贫瘠,我相信他们将大部分代码保存在编译形式中,所以我不能只看它们的来源.

是否可以调用Windows API的强大功能来找出特定进程正在使用的端口?如果来自sysinternals的Process Explorer可以做到,我应该能够做对吗?有没有人有这样的示例代码?

它需要支持Windows XP及更高版本,因为我们的许多客户尚未升级.

编辑:
我应该注意到,事实证明FLEX支持从许可证文件中提取端口.我没有在我面前的代码,但知道这不是找出供应商守护程序/ lmgrd正在运行的端口的最佳方法.

GetTcpTable2 – 请参阅编辑

http://msdn.microsoft.com/en-us/library/bb408406(v=vs.85).aspx

GetTcpTable函数检索IPv4 TCP连接表.

这将填充MIB_TCPTABLE结构.

typedef struct _MIB_TCPTABLE {
  DWORD      dwNumEntries;
  MIB_TCPROW table[ANY_SIZE];
} MIB_TCPTABLE,*PMIB_TCPTABLE;

现在是MIB_TCPROW

typedef struct _MIB_TCPROW {
  DWORD dwState;
  DWORD dwLocalAddr;
  DWORD dwLocalPort;
  DWORD dwRemoteAddr;
  DWORD dwRemotePort;
} MIB_TCPROW,*PMIB_TCPROW;

编辑重要说明:

您需要使用GetTcpTable2以获得相关的PID关联.

typedef struct _MIB_TCPROW2 {
  DWORD                        dwState;
  DWORD                        dwLocalAddr;
  DWORD                        dwLocalPort;
  DWORD                        dwRemoteAddr;
  DWORD                        dwRemotePort;
  DWORD                        dwOwningPid;
  TCP_CONNECTION_OFFLOAD_STATE dwOffloadState;
} MIB_TCPROW2,*PMIB_TCPROW2;

dwOwningPid

(编辑:李大同)

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

    推荐文章
      热点阅读