【发布时间】:2011-07-09 12:05:41
【问题描述】:
在我的网络课程中,我研究了 11 种 tcp 状态,它们如下:
- 关闭
- 听着
- Syn_Sent
- Syn_Rcvd
- 成立
- Fin_Wait_1
- Fin_Wait_2
- 结束
- Time_Wait
- Last_Ack
- Close_Wait
我不知道在 Linux 内核网络架构中实际实现了多少这些状态。
我想编写一个使用系统调用的程序,它可以捕获在 Linux 内核中实现的所有这些状态。
实际上我想使用套接字编程和系统调用来捕获这些状态,例如:
每当我做 netstat -taupen | grep tcp ,我想在 State 列中查看同一 tcp 连接在不同时间的所有这些连接状态。
有人告诉我如何编写这样的代码。
【问题讨论】:
-
(我想他们都必须被实现以获得有用的 TCP 堆栈?问题有点模糊。)
-
您是在问如何能够从套接字文件描述符中找到状态?这个问题很不清楚。
-
我实际上想为同一个 tcp 连接捕获这些状态
标签: networking tcp sockets