我正在尝试从服务器内部获取与本地 http 服务器建立本地连接的进程的 PID。例如:Chrome-> HTTPREQ -> httpServer:8080。所以从 httpServer 我可以知道哪个进程正在建立连接,在这种情况下是 Chrome。
我可以使用带有 TCP_TABLE_OWNER_MODULE_ALL 的 GetExtendedTcpTable 查询所有 tcp 连接,然后检查每一行并使用 row->dwOwningPid
8080 == ntohs(row->dwRemotePort) &&
row->dwLocalAddr == inet_addr("127.0.0.1") &&
row->dwRemoteAddr == inet_addr("127.0.0.1")
问题似乎是因为我安装了一个正在拦截我的流量的 AV,我得到的是 AV 的 PID,而不是启动连接的原始应用程序。
chrome -> av wfp -> httpserver
在不向 AV 添加排除项的情况下,有没有办法可以检索启动请求的原始进程的 PID,而不是像 AV 网络过滤器这样的转发器?
提前致谢。