在Windows中,如何找出本地网络套接字另一端的进程?

时间:2011-10-02 13:36:06

标签: windows sockets process localhost

也就是说,如果我有服务器监听127.0.0.1,并且有TCP连接,我该如何确定客户端的进程ID?

此外,如果没有这方面的API,我可以在哪里以更加黑客的方式提取信息?

(目的是修改本地HTTP代理服务器以接受或拒绝基于请求进程的请求。)

编辑:palacsint的回答让我找到了this answer to a similar question这就是所需要的

2 个答案:

答案 0 :(得分:1)

netstat -a -o

打印出来。我想他们在同一台机器上,因为你正在收听127.0.0.1。

答案 1 :(得分:0)

执行此操作的唯一方法是连接进程发送某种包含标识符的自定义标头。这是因为网络层与应用层完全分离(提示:OSI MODEL。这样就可以编写低层软件而无需关心上面发生的事情,只要交换消息(阅读:网络数据包)遵循预先确定的格式(读取:使用相同的协议)。