确定用Python连接本地套接字的用户

时间:2010-06-23 21:30:45

标签: python sockets

如果是Python,如果您正在开发一个通过套接字与用户应用程序通信的系统服务,并且您希望以不同方式处理由不同用户连接的套接字,那么您将如何处理该问题?

如果我知道所有连接套接字都来自localhost,是否有办法通过操作系统(在Windows或Linux上)查找哪个用户正在发出连接请求?

3 个答案:

答案 0 :(得分:3)

在Linux和其他unixy系统上,您可以使用ident服务。

我不确定Windows是否提供类似的功能。

答案 1 :(得分:0)

在Linux上,您可以获取套接字的源(即客户端)端口,并解析lsof(8)实用程序的输出,以搜索使用该端口的用户。

这是manual page

答案 2 :(得分:0)

不幸的是,目前python库不支持通常的Unix套接字传递凭证的SCM_CREDENTIALS方法。

你需要使用另一个答案中描述的“丑陋”方法来找到它。