Linux中netstat命令查看網絡狀態

Linux中利用netstat命令查看網絡狀態

補充:

IP地址是服務器在互聯網中唯一的地址標識。

假設有一臺阿里雲服務器,我們通過IP地址可以找到它。

服務器中啟動了Tomcat、FTP服務...,

當客戶端訪問服務器時,如何確定訪問的是哪一個服務?

解:

端口就是用於網絡通信的接口,是數據從傳輸層向上傳遞到應用層的數據通道。

每個常規服務都有默認的端口號,通過不同的端口號就可以訪問不同服務。

總結:

客戶端通過IP地址訪問服務器,假設數據包訪問的是80端口,則為Web服務。

若數據包訪問的是21端口,則訪問的是FTP服務。

即:客戶端可以通過固定的端口訪問指定的服務。

而我們可以通過在服務器中查看已經開啟的端口號,就可以判斷服務器中開啟了那些服務。

1、netstat

netstat是網絡狀態查看命令,可以查看到本機開啟的端口及有哪些客戶端連接。

2、命令格式

netstat [選項]

3、選項

-a:列出所有網絡狀態,包括Socket程序。

-c:秒數,指定每隔幾秒刷新一次網絡狀態。

-n:使用IP地址和端口號顯示,不使用域名與服務名。

-p:顯示PID和程序名。

-t:顯示使用TCP協議端口的連接狀況。

-u:顯示使用UDP協議端口的連接狀況。

-I:僅顯示監聽狀態的連接。

-r:顯示路由表。

4、 案例

案例1、查看本機開啟的端口

netstat -tuln

這裡的選項-tuln是比較常用的方式。

Proto(協議):

一般就是 TCP 協議或者 UDP 協議。

Recv-Q(接收隊列):

表示接收到的數據,已經在本地的緩衝中,但是還沒有被進程取走。

Send-Q(發送隊列) :

表示從本機發送,對方還沒有收到的數據,依然在本地的緩衝中,不具備ACK標誌數據包。

Local Address(本機IP地址及端口號):

Foreign Address(遠程主機IP地址及端口號)

State(狀態):

-LISTEN:監聽狀態,只有TCP協議需要監聽,而UDP協議不需要監聽。

-ESTABLISHED:已經建立連接的狀態。

-SYN_SENT:SYN發起包,就是主動發起連接的數據包。

-SYN_RECV:接收到主動連接的數據包。

-FIN_WAIT1:正在中斷的連接。

-FIN_WAIT2:已經中斷的連接,但是正在等待對方主機進行確認。

-TIME_WAIT:連接已經中斷,但是套接字依然在網絡中等待結束。

-CLOSED:套接字沒有被使用。

Linux中netstat命令查看網絡狀態

案例2:

netstat -tulnp

查看本機有哪些程序開啟的端口

Linux中netstat命令查看網絡狀態

案例3:

netstat -an

查看所有連接。

Linux中netstat命令查看網絡狀態

歡迎大家給予寶貴的意見或者建議。

歡迎大家補充或者共享一些其他的方法。

感謝支持。


分享到:


相關文章: