【问题标题】:Comparing TCP checksums with Scapy?将 TCP 校验和与 Scapy 进行比较?
【发布时间】:2013-09-12 22:26:00
【问题描述】:

我在使用 Scapy 作为嗅探器时尝试识别校验和不正确的数据包。我可以通过访问

获得原始校验和
packet[TCP].chksum  

然后我删除它使用

del packet[TCP].chksum 

我想做类似的事情

if(originalChecksum == recomputedChecksum):
     # Checksum is valid

我知道使用 show2() 会重新计算校验和,但是是否可以访问此属性以与原始属性进行比较?调用 show2() 只显示校验和,而不设置数据包中的任何值。

感谢您的澄清

【问题讨论】:

    标签: python networking scapy


    【解决方案1】:

    为了让 Scapy 重新计算所有字段,通过将数据包转储到字符串来组装数据包,然后解析字符串。

    originalChecksum=packet['TCP'].chksum
    del packet['TCP'].chksum
    packet=IP(str(packet))
    recomputedChecksum=packet['TCP'].chksum
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-16
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      相关资源
      最近更新 更多