我打开了一个telnet会话和wireshark ..并观察了连接。
我所知道的是,ip ident字段的正常增量为“1”(如果没有碎片)但是如果碎片发生,则识别字段将在所有片段上保持相同
但是我看到..它不是1 ..它是随机改变的值
那么递增ident字段的算法是什么?
另一个问题:如果设置了DF标志..我们看看ident字段还是忽略它?
答案 0 :(得分:1)
这是非常依赖于实现的 - 事实上,这些差异被用于执行操作系统指纹识别。例如,某些Windows系统会增加ID,但是以主机字节顺序而不是网络字节顺序发送字段。
它并不重要,也不会引起问题,因为ID仅用于碎片。因此,如你所知,如果设置了DF,你可能会忽略ID,但我会理智地检查frag offset是否为0,总长度是否与接收的数据量相匹配。
答案 1 :(得分:0)
我的猜测是它是伪随机的,以便让攻击者更难猜测序列和欺骗数据包。什么操作系统产生时髦的识别值?
答案 2 :(得分:0)
我发现增量值取决于数据包之间的时间..in telnet:如果你发送频繁的快速字符..id将增加一个..如果你发送字符慢速..u会注意到差异。 .i没有找出真正的关系...但它与时间有关..