我目前正在开发一个程序,该程序可以嗅探发送到特定地址和从特定地址接收的TCP数据包。我试图完成的是用定制的数据包回复某些接收到的数据包。我已经完成了解析。我已经可以生成有效的以太网、IP和TCP数据包。
我唯一不能理解的是seq / ack数字是如何确定的。
虽然这可能与问题无关,但该程序是使用WinPCap用C++编写的。我正在寻求任何可能对我有帮助的提示、文章或其他资源。
发布于 2010-07-08 18:49:15
我也有同样的工作要做。首先,随机生成初始seq# (0-4294967297)。然后接收方对接收到的数据长度进行计数,并将seq# + length = x的确认信息发送给发送方。然后,序列将是x,发送者将发送数据。类似地,接收器将计算长度ACK,并将x + length = y作为y发送,以此类推……它是如何生成seq/ack的.
如果你想实际地展示它,尝试在Wireshark中嗅探数据包,然后跟踪TCP流并查看场景……
https://stackoverflow.com/questions/692880
复制相似问题