Jef*_*ong 5 linux network-programming lsof
我运行了该命令sudo lsof -i -n -P | grep TCP,想知道是否可以获得有关其输出的更多说明。
具体来说,在这张图片中:

为什么我有一个 IP:PORT 指向另一个 IP:PORT,然后又返回到自身并带有标签“ESTABLISHED”?我对这到底意味着什么感到困惑。
我不确定您对网络和 TCP 的熟悉程度,因此我将尝试提供包含一些细节的简短描述。从您的问题来看,您似乎对网络内部结构不太熟悉,因此可能很难理解其中的一些概念,但我希望这会有所帮助:
TCP 协议有多种状态。将其视为状态机。客户端的状态包括CLOSED、、、、和。SYN_SENTESTABLISHEDFIN_WAIT_1FIN_WAIT_2TIME_WAIT
因此,该ESTABLISHED标签表示 TCP 连接处于该ESTABLISHED状态。处于已建立状态意味着两台主机都成功完成了 TCP 3 次握手(并且在此过程中,从 转换为SYN_SENT)ESTABLISHED。当客户端向服务器发送 TCP 请求时,就会发生从CLOSED到 的转换。SYN_SENTSYN
在已建立的连接中,双方传输和接收应用程序特定数据。基本上,会话已建立,双向字节流在两个端系统之间流动。
TCP 套接字由 4 元组唯一标识(source-ip, source-port, destination-ip, destination-port)。IP 标识终端系统的网络接口,端口号用于对到达该网络接口的数据包进行复用和解复用(以便目标系统知道将数据包传送到哪个服务)。这就是字段的含义IP:PORT。
我不确定为什么同一个连接有两个条目。这可能与系统相关,尽管这很奇怪(在我的系统中,每个套接字只有一个条目)。但套接字是双向的,因此您的系统可能会将每个数据包流方向显示为不同的条目。这可能还取决于系统如何实现套接字。
| 归档时间: |
|
| 查看次数: |
1957 次 |
| 最近记录: |