2024-04-26 12:36:42 发布
网友
我有以下代码来获取发送到我的计算机的所有IP包:
import socket rs = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) while True: print rs.recvfrom(65565)
我可以在控制台上打印出多行类似的内容
我说这是一个IP包,但我不知道如何解释收到的数据。我想知道怎么解剖这个?在
您可以使用scapy来解析数据包,下面是示例数据的解析IP数据包:
>>> b = 'E\x004tC\x00\x007\x06\x99\x97\xd8:\xdb\xee\xc0\xa8\x00\xf8\x01\xbb\xa3\xb6\xb9\x1cmavT\x14\xbd\x80\x10\x01^\xa6W\x00\x00\x01\x01\x08\n,k\xe0*\x01+\xf4{' >>> c = IP(b) >>> c.show() ###[ IP ]### version= 4L ihl= 5L tos= 0x20 len= 52 id= 29763 flags= frag= 0L ttl= 55 proto= tcp chksum= 0x9997 src= 216.58.219.238 dst= 192.168.0.248 \options\ ###[ TCP ]### sport= https dport= 41910 seq= 3105647969 ack= 1985221821 dataofs= 8L reserved= 0L flags= A window= 350 chksum= 0xa657 urgptr= 0 options= [('NOP', None), ('NOP', None), ('Timestamp', (745267242, 19657851))]
您可以使用scapy来解析数据包,下面是示例数据的解析IP数据包:
相关问题 更多 >
编程相关推荐