如何判断我的客户端系统是否使用python进行网络连接?我可以假设客户端与DHCP连接。我不能使用已知可靠站点列表来ping测试连接,因为它需要在隔离网络和开放网络中工作。
我考虑过获取本地ip(应该可以工作,只要它不仅返回环回)。但....
print socket.gethostbyaddr('localhost')
返回
('localhost', ['ip6-localhost', 'ip6-loopback'], ['::1'])
这不是很有用。任何其他想法将不胜感激,谢谢!
答案 0 :(得分:4)
localhost
应始终在ip4中返回127.0.0.1
,在ip6中返回'::1'
,所以当然它不会有用 - 它是 loopback 接口,不是以太网卡或其他; - )。
就个人而言,我会使用subprocess.Popen
运行ifconfig
并解析结果(在Windows中拼写为ipconfig
) - 不理想,但非常实用,IMNSHO ;-)。