我用Scapy Python解析pcap文件,并且在其中有一个TCP数据包,我想知道这个数据包的回答是什么,我该怎么做?
例如:客户端和服务器TCP流
客户端->服务器:"嗨" 服务器->客户端:"你好吗"
当我获取"嗨"数据包(使用Scapy)时,如何获取"你好吗"?
例如:客户端和服务器TCP流
客户端->服务器:"嗨" 服务器->客户端:"你好吗"
当我获取"嗨"数据包(使用Scapy)时,如何获取"你好吗"?
查看来自客户端的消息的TCP序列号。将其称为SeqC。
然后查找第一条来自客户端的消息,其TCP确认序列大于SeqC(通常等于SeqC加上客户端TCP负载的大小)。将其称为PacketS1。
从PacketS1开始,收集所有数据包的TCP负载,直到看到由服务器发送并设置了TCP PSH(推送)标志的数据包。这表明应用层消息的结束。将这些有效载荷称为PayloadS1到PayloadSN。
将PayloadS1到PayloadSN连接起来。这是对客户端消息的可能应用层响应。
pkt[TCP].seq
获取我称之为SeqC
的TCP序列号。你可以使用pkt[TCP].ack
获取我称之为PacketS1
的确认号。你知道如何在Scapy中加载数据包,以便可以使用pkt[TCP]
来获取头部吗? - John Zwinck