zer*_*dev 5 c tcp packet-capture libpcap
我正在编写一个程序,它使用libpcap来捕获数据包并重新组装TCP流.我的程序只是监控流量,所以我无法控制数据包的接收和传输.我的程序忽略所有非TCP/IP流量.
我从ISN计算下一个预期的序列号,然后计算连续的SEQ号.我进行了设置,以便每个TCP连接由一个由源IP,源端口,dest IP和dest端口组成的元组唯一标识.一切都顺利进行,直到我收到一个序列号不同于我所期望的数据包.我上传了屏幕截图,以帮助说明我在这里描述的内容.
我的问题是:1."丢失"数据包中的数据在哪里?2. SEQ数字顺序如何从这种情况中恢复?3.我该怎么做才能处理这些事件.
请记住; 但是,我不是在编写一个遵循TCP的程序.我正在编写一个程序,被动地监视TCP流的网络流量并尝试将原始数据保存到磁盘,我很困惑为什么上面的状态发生以及如何编程来处理它.
谢谢
cni*_*tar 13
"丢失"数据包中的数据在哪里?
SEQ数字顺序如何从这种情况中恢复
接收器注意到该段不按顺序并且不将其发送到应用程序,从而履行其合同:有序可靠字节流.现在,实际上发现缺少的部分是非常错综复杂的,并且从堆栈到堆栈各不相同.简而言之,堆栈等待丢失的部分到达.
我该怎么做才能处理这些事件
由于您只是在监控,因此无法执行任何操作.如果您还捕获了响应流量,您可能会更深入地了解实际发生的情况.