我需要找出应该保存在 TCP 传输控制块 (TCB) 中的信息,特别是我需要找出用于任何特定会话的序列号。
我已经发布到其他论坛,查看了 procfs,搜索了 Google,从 lmgtfy (dot) com 给自己发送了链接 :) 没有运气。
如果 procfs 中没有工具或提示,是否有可能以某种方式找出此类信息在内存中的位置并从那里收集它,例如使用dd
to 复制 /dev/mem?
提前感谢您对此的任何帮助!!!!!!!
我需要找出应该保存在 TCP 传输控制块 (TCB) 中的信息,特别是我需要找出用于任何特定会话的序列号。
我已经发布到其他论坛,查看了 procfs,搜索了 Google,从 lmgtfy (dot) com 给自己发送了链接 :) 没有运气。
如果 procfs 中没有工具或提示,是否有可能以某种方式找出此类信息在内存中的位置并从那里收集它,例如使用dd
to 复制 /dev/mem?
提前感谢您对此的任何帮助!!!!!!!
好吧,我想您首先需要知道序列号是什么以及为什么使用它,然后您可以查看序列号生成的特定实现。
序列号是 32 位字段,它被用来唯一地标记每个数据包,就好像它们可以被确认一样。而且,被承认很重要,它是 tcp 保持连接可靠性的一个重要特性。完整的详细信息可以在 TCP rfc ( http://www.ietf.org/rfc/rfc793.txt - 第 3.3 节) 中找到。
现在,如果您需要了解 Linux 是如何做到的,您需要查看 net/ipv4/tcp_ipv4.c::tcp_v4_init_sequence(),它用于在建立新连接时生成 ISN(初始序列号)以及如何建立新连接生成的序列号在 rfc 中有解释。因此,查看 tcp_v4_init_sequence() 和 rfc 的实现,这将有助于您有效地理解序列号的用途和实现。希望这会有所帮助!