Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用scapy在PCAP中查找tcp数据包的答案_Python_Tcp_Scapy_Pcap - Fatal编程技术网

Python 使用scapy在PCAP中查找tcp数据包的答案

Python 使用scapy在PCAP中查找tcp数据包的答案,python,tcp,scapy,pcap,Python,Tcp,Scapy,Pcap,我用scapython解析pcap文件,在这个pcap中有一个TCP包,我想知道这个pcaket的答案是什么,我怎么做 例如:客户端和服务器TCP流 客户端->服务器:“嗨” 服务器->客户端:“你好吗?” 当我收到“hi”数据包(使用scapy)时,如何才能收到“你好”?查看来自客户端的消息的TCP序列号。这叫SeqC 然后查找来自TCP确认序列高于SeqC的客户端的第一条消息(通常等于SeqC加上客户端TCP有效负载的大小)。把这个叫做PacketS1 从PacketS1开始,从所有数据包收

我用scapython解析pcap文件,在这个pcap中有一个TCP包,我想知道这个pcaket的答案是什么,我怎么做

例如:客户端和服务器TCP流

客户端->服务器:“嗨” 服务器->客户端:“你好吗?”


当我收到“hi”数据包(使用scapy)时,如何才能收到“你好”?

查看来自客户端的消息的TCP序列号。这叫SeqC

然后查找来自TCP确认序列高于SeqC的客户端的第一条消息(通常等于SeqC加上客户端TCP有效负载的大小)。把这个叫做PacketS1

从PacketS1开始,从所有数据包收集TCP有效负载,直到看到服务器发送的数据包设置了TCP PSH(push)标志。这意味着应用层消息的结束。将这些有效载荷称为PayloadS1到PayloadSN


将PayloadS1连接到PayloadSN。这可能是应用层对客户端消息的响应。

您是否尝试查看数据包序列号?@JohnZwinck我尝试在scapy python中执行此操作,我建议您发布迄今为止尝试的代码。目前的问题很模糊,你是在要求我们为你编写整个程序吗?@JohnZwinck不是所有程序,只是找到TCP流“答案”的方法TCP流中的“答案”是什么样子的?同意JohnZwinck的观点,这太模糊了。如果您提供更多详细信息,您将有更多机会获得对您有帮助的答案。感谢您的回复,但我不明白如何在Scapy Python中做到这一点?我称之为
SeqC
的TCP序列号可以使用
pkt[TCP].seq从Scapy获得。我调用的ack编号
PacketS1
您可以使用
pkt[TCP].ack
获得。您知道如何在Scapy中加载数据包,以便执行
pkt[TCP]
来获取标题吗?我没有理解您的意思,您能编写一个简单的python代码来实现吗?