如果是Python,如果您正在开发一个通过套接字与用户应用程序通信的系统服务,并且您希望以不同方式处理由不同用户连接的套接字,那么您将如何处理该问题?
如果我知道所有连接套接字都来自localhost,是否有办法通过操作系统(在Windows或Linux上)查找哪个用户正在发出连接请求?
答案 0 :(得分:3)
在Linux和其他unixy系统上,您可以使用ident服务。
我不确定Windows是否提供类似的功能。
答案 1 :(得分:0)
在Linux上,您可以获取套接字的源(即客户端)端口,并解析lsof(8)
实用程序的输出,以搜索使用该端口的用户。
这是manual page。
答案 2 :(得分:0)
不幸的是,目前python库不支持通常的Unix套接字传递凭证的SCM_CREDENTIALS方法。
你需要使用另一个答案中描述的“丑陋”方法来找到它。