2011-07-12 41 views
2

Scapyをスニファとして使用しているときに、不正なチェックサムを持つパケットを特定しようとしています。私は)私はその後、私はshow2を(使用していることを理解TCPチェックサムとScapyの比較?

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

ような何かをしたいと思います

del packet[TCP].chksum 

を使用して、これを削除

packet[TCP].chksum 

にアクセスすることで、元のチェックサムを取得することができていますチェックサムを再計算しますが、元の値と比較するためにこの属性にアクセスするにはどうにかしていますか? show2()を呼び出すと、単にチェックサムの内容が表示され、パケットの値は設定されません。任意の明確化

答えて

2

ため

おかげで、文字列を解析し、それを文字列にダンプすることで、パケットを組み立て、Scapyは、すべてのフィールドを再計算作ります。

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