我今天早些时候与开发人员进行了讨论,重新确定在具有相同负载的特定接口上发出的TCP数据包。他告诉我,由于TCP数据包在系统级构建的方式,找到具有相同有效负载的TCP数据包的概率(即使多次发送相同的数据)也非常低。我知道这可能是由于系统的MTU设置(通常是1500字节)等情况,但我真正关注的是什么样的概率统计?是否有任何特定的协议可以更容易地识别匹配的有效载荷?
答案 0 :(得分:2)
通过tcp运行的协议定义了有效负载的唯一性,而不是tcp协议本身。
例如,您可能会天真地认为在请求服务器主页时HTTP请求都是相同的,但引用者和用户代理字符串会使有效负载不同。
同样,如果动态生成响应,它可能有一个日期标题:
日期:2008年9月12日星期五,格林威治标准时间10:44:27
这样会使响应有效负载变得不同。但是,如果内容是静态的,则后续有效负载可能相同。
请记住,由于序列号不同,实际的数据包会有所不同,这些序列号应该是递增的和伪随机的。
答案 1 :(得分:2)
答案 2 :(得分:1)
你让我感兴趣所以我用谷歌搜索了一下this。如果你想编写自己的工具,你可能需要检查每个有效负载,最简单的方法可能是某种哈希/校验和来检查相同的有效负载。只需确保检查有效负载,而不是整个数据包。
至于统计数据,我将不得不推荐给对TCP工作有更多了解的人。
答案 3 :(得分:1)
发送相同的PAYLOAD可能相当常见(特别是如果您正在运行某种网络服务)。如果你的意思是发送相同的tcp段(标题和所有)或整个网络数据包(ip和up),那么概率就会大大降低。