确定python中的本地连接

时间:2010-08-20 02:15:32

标签: python sockets

如何判断我的客户端系统是否使用python进行网络连接?我可以假设客户端与DHCP连接。我不能使用已知可靠站点列表来ping测试连接,因为它需要在隔离网络和开放网络中工作。

我考虑过获取本地ip(应该可以工作,只要它不仅返回环回)。但....

print socket.gethostbyaddr('localhost')

返回

('localhost', ['ip6-localhost', 'ip6-loopback'], ['::1'])

这不是很有用。任何其他想法将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:4)

localhost应始终在ip4中返回127.0.0.1,在ip6中返回'::1',所以当然它不会有用 - 它是 loopback 接口,不是以太网卡或其他; - )。

就个人而言,我会使用subprocess.Popen运行ifconfig并解析结果(在Windows中拼写为ipconfig) - 不理想,但非常实用,IMNSHO ;-)。