查看Linux TCP TCB

时间:2013-06-19 19:37:19

标签: linux networking linux-kernel

我需要找出应该保存在TCP传输控制块(TCB)中的信息,具体来说我需要找出用于任何特定会话的序列号。

我已经发布到其他论坛,通过procfs查找,搜索谷歌,发送自己从lmgtfy(点)com的链接:)没有运气。

如果procfs中没有工具或提示,是否有可能以某种方式找出内存中存在此类信息的位置并从那里收集它,例如使用dd来复制/ dev / mem ?

感谢您提前提供任何帮助!!!!!

1 个答案:

答案 0 :(得分:0)

嗯,我想你首先需要知道序列号是什么以及为什么使用它,然后你可以看看序列号生成的具体实现。

序列号是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的实现,这将有助于您有效地理解序列号的使用和实现。希望这会有所帮助!