我试图在使用 Scapy 作为嗅探器时识别校验和不正确的数据包。我可以通过访问
获得原始校验和packet[TCP].chksum
然后我使用
删除它del packet[TCP].chksum
我想做这样的事情
if(originalChecksum == recomputedChecksum):
# Checksum is valid
我知道使用 show2() 会重新计算校验和,但是是否可以访问此属性以便与原始属性进行比较?调用 show2() 只是显示校验和的内容,并不设置数据包中的任何值。
感谢任何澄清
最佳答案
为了让 Scapy 重新计算所有字段,通过将数据包转储为字符串来组装数据包,然后解析该字符串。
originalChecksum=packet['TCP'].chksum
del packet['TCP'].chksum
packet=IP(str(packet))
recomputedChecksum=packet['TCP'].chksum
关于python - 将 TCP 校验和与 Scapy 进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6665844/