我正在尝试获取连接到使用UDP协议的计算机的目标IP(远程主机)地址,但使用psutil得到空结果
我写的剧本
import psutil
def GetServerIP():
PROCNAME = "theprocessname.exe"
for proc in psutil.process_iter():
if proc.name() == PROCNAME:
pinfo = proc.as_dict(attrs=['pid', 'name', 'create_time'])
pidnumber = pinfo["pid"]
print("Process is runnging on number: %r" % (pidnumber))
for connection in psutil.net_connections(kind='udp4'):
if pidnumber in connection:
print(connection.raddr)
GetServerIP()
该脚本适用于TCP连接,但对在本地计算机上建立的UDP连接不提供任何帮助。你知道吗
我阅读了psutil的文档,但是仍然不明白为什么它在UDP上没有返回结果
我可以验证是否有已建立的UDP数据包正在使用wireshark发送和接收
如果psutil不能很好地与UDP一起工作,有没有其他的解决方案
似乎psutil不是正确的解决方案和路径,原来UDP连接不像TCP那样建立,所以我转而使用python scapy来捕获UDP数据包,它帮助我解析了目标IP地址
相关问题 更多 >
编程相关推荐