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

时间:2012-03-29 18:59:38

标签: python udp checksum

我在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()

无论如何,我可以收到格式错误的UDP数据包吗?

1 个答案:

答案 0 :(得分:0)

找到了解决方案。

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