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

发布于 2024-12-07 15:29:40 字数 332 浏览 1 评论 0原文

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

另外,如果没有用于此目的的 API,我可以从哪里以更黑客的方式提取信息?

(这样做的目的是修改本地 HTTP 代理服务器以根据请求过程接受或拒绝请求。)

编辑:下面 palacsint 的答案让我找到 这个类似问题的答案正是所需要的

That is to say, if I have a server listening on 127.0.0.1, and a TCP connection comes in, how can I determine the process id of the client?

Also if there isn't an API for this, where would I be able to extract the information from in a more hackish manner?

(The purpose of this is to modify a local HTTP proxy server to accept or deny requests based on the requesting process.)

Edit: palacsint's answer below led me to find this answer to a similar question which is just what's needed

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以可爱出名 2024-12-14 15:29:40
netstat -a -o

打印它。我猜想它们在同一台机器上,因为您正在 127.0.0.1 上监听。

netstat -a -o

prints it. I suppose they are on the same machine becase you are listening on 127.0.0.1.

独孤求败 2024-12-14 15:29:40

执行此操作的唯一方法是连接进程发送某种包含标识符的自定义标头。这是因为网络层与应用层完全分离(提示:OSI 模型

The only way to do this is if the connecting process sends some sort of custom headers which contains identifier. This is due to the fact that the networking layer is completely separated from the application layer (hint: OSI MODEL. This way it is possible to write lower layers software without caring what happens above as long as the messages exchanged (read: networking packets) follow a pre-determined format (read: use the same protocol).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文