本地主机的“本地地址”和“远程地址”netstat 列是否对称?

本地主机的“本地地址”和“远程地址”netstat 列是否对称?

如果我有以下 netstat 输出:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          127.0.0.1:21950         ESTABLISHED 2129/mysqld
tcp        0      0 127.0.0.1:38766         127.0.0.1:10033         TIME_WAIT   -

如果套接字的两端都在本地计算机上,服务器和客户端是否可以出现在任一列中?

答案1

不,本地地址始终是所描述的进程打开的连接的末尾。在本例中,MySQL 服务器进程侦听端口 3306,因此这是其在任何已建立的连接中的本地地址。队列还特定于所描述的连接方向。

对于已建立的连接,您应该在netstatorss的输出中的其他位置看到对称连接。

TIME_WAIT连接是一种特殊情况。TIME_WAIT用于确保新连接不会收到杂散数据包;只有发起终止的连接一端才会达到该状态(因为另一端知道其通信方不会再发送任何内容)。连接由操作系统保留,因此它不再与进程关联;本地地址是关闭连接的一端。

相关内容