如何使用psuti通过python获得实时建立的UDP连接

2024-04-27 03:53:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取连接到使用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一起工作,有没有其他的解决方案


Tags: nameinforif计算机procconnectionpid
1条回答
网友
1楼 · 发布于 2024-04-27 03:53:44

似乎psutil不是正确的解决方案和路径,原来UDP连接不像TCP那样建立,所以我转而使用python scapy来捕获UDP数据包,它帮助我解析了目标IP地址

相关问题 更多 >