在Python中接收具有错误校验和的UDP数据包



我在PC上运行一个服务器应用程序,该应用程序从客户端接收UDP数据包。UDP数据包已接收(在WireShark中验证),但包含错误的校验和。我无法控制客户端,需要能够在Python中接收这些数据包。以下代码看不到数据包:

UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)
while 1:
    data,addr = UDPSock.recvfrom(buf)
    if not data:
        print "Client has exited!"
        break
    else:
        print "nReceived message '", data,"'"
UDPSock.close()

无论如何,在Python中,我可以接收格式错误的UDP数据包?

找到了解决方案。

我将pycap库与dpkt结合使用。对于旧版本的Python,pycap模块已经过时,但在"Issues"中有人发布了更新的二进制文件。

最新更新