您好,登錄后才能下訂單哦!
這篇文章跟大家分析一下“Linux查看網絡狀態具體方法是什么”。內容詳細易懂,對“Linux查看網絡狀態具體方法是什么”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠對大家有所幫助。下面跟著小編一起深入學習“Linux查看網絡狀態具體方法是什么”的知識吧。
netstat 是網絡狀態查看命令,既可以查看到本機開啟的端口,也可以查看有哪些客戶端連接。netstat 命令的基本信息如下。
命令名稱:netstat。
英文原意:Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships。
所在路徑:/bin/netstat.
執行權限:所有用戶。
功能描述:輸出網絡連接、路由表、接口統計、偽裝連接和組播成員。
命令格式如下:
[root@localhost ~]# netstat [選項]
選項:
-a:列出所有網絡狀態,包括 Socket 程序;
-c秒數:指定每隔幾秒刷新一次網絡狀態;
-n:使用 IP 地址和端口號顯示,不使用域名與服務名;
-p:顯示 PID 和程序名;
-t:顯示使用 TCP 協議端口的連接狀況;
-u:顯示使用 UDP 協議端口的連接狀況;
-I:僅顯示監聽狀態的連接;
-r:顯示路由表;
【例 1】查看本機開啟的端口。這是本機最常用的方式,使用選項”-tuln”。因為使用了”-I”選項,所以只能看到監聽狀態的連接,而不能看到已經連接狀態的連接。例如:
[root@localhost ~]# netstat -tulnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0:::11211 :::* LISTENtcp 0 0 :::80 :::* LISTENtcp 0 0 :::22 :::* LISTENudp 0 0 0.0.0.0:11211 0.0.0.0:*udp 0 0:::11211 :::*#協議接收隊列發送隊列本機的 IP 地址及端口號 遠程主機的 IP 地址及端口號 狀態
這個命令的輸出較多。1) Proto:網絡連接的協議,一般就是 TCP 協議或者 UDP 協議。2) Recv-Q:表示接收到的數據,已經在本地的緩沖中,但是還沒有被進程取走。3) Send-Q:表示從本機發送,對方還沒有收到的數據,依然在本地的緩沖中,不具備 ACK 標志的數據包。4) Local Address:本機的 IP 地址和端口號。5) ForeignAddress:遠程主機的 IP 地址和端口號。6) State:狀態。常見的狀態主要有以下幾種。
-LISTEN:監聽狀態,只有 TCP 協議需要監聽,而 UDP 協議不需要監聽。
-ESTABLISHED:已經建立連接的狀態。如果使用”-I”選項,則看不到已經建立連接的狀態。
-SYN_SENT:SYN 發起包,就是主動發起連接的數據包。
-SYN_RECV:接收到主動連接的數據包。
-FIN_WAIT1:正在中斷的連接。
-FIN_WAIT2:已經中斷的連接,但是正在等待對方主機進行確認。
-TIME_WAIT:連接已經中斷,但是套接字依然在網絡中等待結束。
-CLOSED:套接字沒有被使用。
在這些狀態中,我們最常用的就是 LISTEN 和 ESTABLISHED 狀態,一種代表正在監聽,另一種代表已經連接。
【例 2】查看本機有哪些程序開啟的端口。如果使用”-p”選項,則可以查看到是哪個程序占用了端口,并且可以知道這個程序的 PID。例如:
[root@localhost ~]# netstat -tulnpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2359/mysqldtcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 1563/memcachedtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1490/sshdtcp 0 0 :::11211 :::* LISTEN 1563/memcachedtcp 0 0 :::80 :::* LISTEN 21025/httpdtcp 0 0 :::22 :::*LISTEN 1490/sshdudp 0 0 0.0.0.0:11211 0.0.0.0:* 1563/memcachedudp 0 0:::11211 :::* 1563/memcached#比之前的命令多了一個”-p”選項,結果多了可以知道是哪個程序占用了端口
【例 3】 查看所有連接。使用選項”-an”可以查看所有連接,包括監聽狀態的連接(LISTEN)、已經建立連接狀態的連接(ESTABLISHED)、Socke 程序連接等。因為連接較多,所以輸出的內容有很多。例如:
[root@localhost ~]# netstat -anActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTENtcp 0 0 117.79.130.170:80 78.46.174.55:58815 SYN_RECVtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0 117.79.130.170:22 124.205.129.99:10379 ESTABLISHEDtcp 0 0 117.79.130.170:22 124.205.129.99:11811 ESTABLISHED…省略部分內容…udp 0 0 0.0.0.0:11211 0.0.0.0:*udp 0 0:::11211 :::*Active UNIX domain s (servers and established)Proto RefCnt Flags Type State I-Node Pathunix 2 [ACC] STREAM LISTENING 9761 @/var/run/hald/dbus-fr41WkQn1C......
從”Active UNIX domain sockets”開始,之后的內容就是 Socke 程序產生的連接,之前的內容都是網絡服務產生的連接。我們可以在”-an”選項的輸出中看到各種網絡連接狀態,而之前的”-tuln”選項則只能看到監聽狀態。
關于Linux查看網絡狀態具體方法是什么就分享到這里啦,希望上述內容能夠讓大家有所提升。如果想要學習更多知識,請大家多多留意小編的更新。謝謝大家關注一下億速云網站!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。