Netstat

本地地址的“本地地址”和“遠端地址”netstat 列是否對稱?

  • March 9, 2018

如果我有以下 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   -

如果套接字的兩端都在本地機器上,伺服器和客戶端是否可以出現在任一列中?

不,本地地址始終是所描述的程序打開的連接的結尾。在這種情況下,MySQL 伺服器程序偵聽埠 3306,因此這是任何已建立連接中的本地地址。隊列也特定於所描述的連接方向。

對於已建立的連接,您應該在netstatorss的輸出中的其他位置看到對稱連接。

TIME_WAIT連接是一種特殊情況。TIME_WAIT用於確保新連接不接收雜散數據包;只有發起其終止的連接的一端會達到該狀態(因為另一端知道它的通信者不會再發送任何東西)。連接由作業系統保留,因此不再與程序關聯;本地地址是關閉連接的一端。

引用自:https://unix.stackexchange.com/questions/429281