如何从Linux中的用户空间获取TCP初始序列号?

时间:2013-02-15 22:58:41

标签: tcp linux-kernel

为了在TCP会话遍历网络时跟踪它,我想知道会话的初始序列号。我编写了一些代码,只是在创建TCP会话时将ISN复制到tcp_sock结构中,然后添加代码将该值复制到getsockopt()返回的tcp_info结构中。这似乎有效,但我想知道是否有更好的方法。我看到snt_isn和rcv_isn存储在结构tcp_request_sock中。有没有办法从getsockopt()中的tp结构访问tcp_request_sock结构?

提前谢谢 BVS

1 个答案:

答案 0 :(得分:0)

不,用户空间无法通过socket-API获取(或设置)序列号(例如,通过setsockopt或tcp_info,...)。

读取它的唯一方法是使用tcpdump捕获跟踪。