我正在用Python编写我的第一个程序。 我正在使用第三方工具包与网络数据包进行交互(Scapy)。
当我使用这种方法时:
p=sr1(IP(dst="google.com")/TCP())
结果是:
<IP version=4L ihl=5L tos=0x0 len=44 id=18972 flags= frag=0L ttl=44
proto=tcp chksum=0x25bd src=173.194.39.134 dst=192.168.137.2
options=[] |<TCP sport=www dport=ftp_data seq=1295300429 ack=1
dataofs=6L reserved=0L flags=SA window=14300 chksum=0x3c7e urgptr=0
options=[('MSS', 1430)] |<Padding load='\x00\x00' |>>>
我只能通过chksum
访问IP
p.chksum
,但我如何才能访问chksum
的{{1}}?
答案 0 :(得分:2)
作为一般准则,您应该使用
>>> p[TCP].chksum
但是这仅适用于接收的数据包,因为校验和是在发送时计算的。您可以使用show2()方法检索未传输数据包的校验和。