据我所知,OP正在从某个ip中寻找活动连接,这意味着他想在本地检查是否存在活动连接。在我看来,这就像是netstat的一部分。有几种选择:您可以使用psutils,如thispost中所示。您需要循环活动进程并查询活动连接。
你可以使用netstat.py-一个由Jay Loden,Giampaolo Rodola'克隆的netstat为你做这项工作。
添加了:
你可以这样做:import psutil
def remote_ips():
'''
Returns the list of IPs for current active connections
'''
remote_ips = []
for process in psutil.process_iter():
try:
connections = process.get_connections(kind='inet')
except psutil.AccessDenied or psutil.NoSuchProcess:
pass
else:
for connection in connections:
if connection.remote_address and connection.remote_address[0] not in remote_ips:
remote_ips.append(connection.remote_address[0])
return remote_ips
def remote_ip_present(ip):
return ip in remote_ips()
这就是它的工作原理:>>>remote_ips()
['192.168.1.50', '192.168.1.15', '192.168.1.52', '198.252.206.16', '198.252.206.17']
>>>remote_ip_present('192.168.1.52')
True
>>>remote_ip_present('10.1.1.1')
False