2010-06-23 28 views
2

如果使用Python,如果您正在開發一個通過套接字與用戶應用程序通信的系統服務,並且您希望以不同方式連接不同用戶連接的套接字,那麼您會怎麼做?確定用戶使用Python連接本地套接字

如果我知道所有連接套接字都來自本地主機,有沒有辦法通過操作系統(無論是在Windows或Linux)查詢哪個用戶提出連接請求?

回答

3

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

我不確定Windows是否提供類似的東西。

+0

+1,完全忘了'ident'。 – 2010-06-23 21:59:08

0

在Linux上,您可以獲取套接字的源(即客戶端)端口,並解析lsof(8)實用程序的輸出,以搜索誰正在使用該端口。

這是manual page

0

不幸的是,在這個時候,python庫不支持沿Unix套接字傳遞憑據的通常的SCM_CREDENTIALS方法。

您需要使用另一個答案中描述的「難看」方法來找到它。