溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中netstat命令如何使用

發(fā)布時(shí)間:2021-08-11 16:59:27 來(lái)源:億速云 閱讀:124 作者:Leah 欄目:系統(tǒng)運(yùn)維

這篇文章將為大家詳細(xì)講解有關(guān)Linux系統(tǒng)中netstat命令如何使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。


netstat man的幫助手冊(cè)會(huì)有提示信息:

NOTE
This  program  is  obsolete.  Replacement for netstat is ss.  Replacement for netstat -r is ip route.
Replacement for netstat -i is ip -s link.  Replacement for netstat -g is ip maddr.
在Linux系統(tǒng)作,netstat命令已廢棄不建議使用,已經(jīng)被ss命令替代,netstat已經(jīng)是明日黃花了,官方已經(jīng)不再更新了。它已經(jīng)被ss命令和ip命令所取代,或許在不久的將來(lái)在Linux發(fā)行版中就將見不到netstat的身影了。所以,如果還有人在用netstat,你要建議他使用ss和ip。

netstat命令是一個(gè)監(jiān)控TCP/IP網(wǎng)絡(luò)的非常有用的工具,它可以顯示路由表、實(shí)際的網(wǎng)絡(luò)連接以及每一個(gè)網(wǎng)絡(luò)接口設(shè)備的狀態(tài)信息,
 語(yǔ)  法:netstat [-acCeFghilMnNoprstuvVwx][-A網(wǎng)絡(luò)類型>][--ip]
 補(bǔ)充說(shuō)明:利用netstat指令可讓你得知整個(gè)Linux系統(tǒng)的網(wǎng)絡(luò)情況。
 參  數(shù):
 -a或--all   顯示所有連線中的Socket。
 -A網(wǎng)絡(luò)類型>或--網(wǎng)絡(luò)類型>   列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址。
 -c或--continuous   持續(xù)列出網(wǎng)絡(luò)狀態(tài)。
 -C或--cache   顯示路由器配置的快取信息。
 -e或--extend   顯示網(wǎng)絡(luò)其他相關(guān)信息。
 -F或--fib   顯示FIB。
 -g或--groups   顯示多重廣播功能群組組員名單。
 -h或--help   在線幫助。
 -i或--interfaces   顯示網(wǎng)絡(luò)界面信息表單。
 -l或--listening   顯示監(jiān)控中的服務(wù)器的Socket。
 -M或--masquerade   顯示偽裝的網(wǎng)絡(luò)連線。
 -n或--numeric   直接使用IP地址,而不通過(guò)域名服務(wù)器。
 -N或--netlink或--symbolic   顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號(hào)連接名稱。
 -o或--timers   顯示計(jì)時(shí)器。
 -p或--programs   顯示正在使用Socket的程序識(shí)別碼和程序名稱。
 -r或--route   顯示Routing Table。
 -s或--statistice   顯示網(wǎng)絡(luò)工作信息統(tǒng)計(jì)表。
 -t或--tcp   顯示TCP傳輸協(xié)議的連線狀況。
 -u或--udp   顯示UDP傳輸協(xié)議的連線狀況。
 -v或--verbose   顯示指令執(zhí)行過(guò)程。
 -V或--version   顯示版本信息。
 -w或--raw   顯示RAW傳輸協(xié)議的連線狀況。
 -x或--unix   此參數(shù)的效果和指定"-A unix"參數(shù)相同。
 --ip或--inet   此參數(shù)的效果和指定"-A inet"參數(shù)相同。
 
1)

代碼如下:

netstat -tl    -nltp


 查看當(dāng)前tcp監(jiān)聽端口
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 *:rrac                  *:*                     LISTEN     
tcp        0      0 *:34006                 *:*                     LISTEN     
......
 
2)

代碼如下:

netstat -tlp


 查看當(dāng)前tcp監(jiān)聽端口, 需要顯示監(jiān)聽的程序名,當(dāng)不清楚mysql的監(jiān)聽端口時(shí)比較好用
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 *:rrac                  *:*                     LISTEN      -                         
tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld  
......
 

3)

代碼如下:

netstat -tl | grep 34006


     只查看mysql的監(jiān)聽端口,當(dāng)前啟動(dòng)的mysql端口為34006,明確知道m(xù)ysql監(jiān)聽端口時(shí)使用
 
4)

代碼如下:

netstat -ta | grep 34006


 tcp        0      0 *:34006                 *:*                     LISTEN     
tcp        0      0 linux.local:34006       linux.local:41485       ESTABLISHED
tcp        0      0 linux.local:34006       linux.local:41486       ESTABLISHED
...
 tcp        0      0 10.3.2.35:41488         10.3.2.35:34006         ESTABLISHED
tcp        0      0 10.3.2.35:41489         10.3.2.35:34006         ESTABLISHED
tcp        0      0 10.3.2.35:41490         10.3.2.35:34006         ESTABLISHED

由于數(shù)據(jù)庫(kù)和運(yùn)用程序都放在同一臺(tái)機(jī)器了,因此這里連接被顯示了兩次. 可以使用-p參數(shù)來(lái)顯示PID,然后grep PID.
 

5)

代碼如下:

netstat -tap | grep 34006 | grep 23425


     23425是當(dāng)前mysql的PID
 tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld       
tcp        0      0 linux.local:34006       linux.local:41510       ESTABLISHED 23425/mysqld       
tcp        0      0 linux.local:34006       linux.local:41511       ESTABLISHED 23425/mysqld       
tcp        0      0 linux.local:34006       linux.local:41516       ESTABLISHED 23425/mysqld 從 整體上看,netstat的輸出結(jié)果可以分為兩個(gè)部分,一個(gè)是Active Internet connections,稱為有源TCP連接,另一個(gè)是Active UNIX domain sockets,稱為有源Unix域套接口。在上面的輸出結(jié)果中,第一部分有5個(gè)輸出結(jié)果,顯示有源TCP連接的情況,而第二部分的輸出結(jié)果顯示的是 Unix域套接口的連接情況。Proto顯示連接使用的協(xié)議;RefCnt表示連接到本套接口上的進(jìn)程號(hào);Types顯示套接口的類型;State顯示套 接口當(dāng)前的狀態(tài);Path表示連接到套接口的其它進(jìn)程使用的路徑名。
 事實(shí)上,netstat是若干個(gè)工具的匯總。
 
顯示路由表
 在隨- r標(biāo)記一起調(diào)用n e t s t a t時(shí),將顯示內(nèi)核路由表,就像我們利用r o u t e命令一樣。產(chǎn)生的輸出如下:
 

代碼如下:

[root@machine1 /]$ netstat -nr


 Kernel IP routing table
 Destination Gateway Genmask Flags MSS Window irtt Iface
 210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0
 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
 0.0.0.0 210.34.6.2 0.0.0.0 UG 0 0 0 eth0
 
- n 選項(xiàng)令netstat以點(diǎn)分四段式的形式輸出IP地址,而不是象征性的主機(jī)名和網(wǎng)絡(luò)名。如果想避免通過(guò)網(wǎng)絡(luò)查找地址(比如避開DNS或NIS服務(wù)器),這一點(diǎn)是特別有用的。
 netstat 輸出結(jié)果中,第二列展示的是路由條目所指的網(wǎng)關(guān),如果沒有使用網(wǎng)關(guān),就會(huì)出現(xiàn)一個(gè)星號(hào)(*)或者0.0.0.0;第三列展示路由的概述,在為具體的I P地址找出最恰當(dāng)?shù)穆酚蓵r(shí),內(nèi)核將查看路由表內(nèi)的所有條目,在對(duì)找到的路由與目標(biāo)路由比較之前,將對(duì)I P地址和genmask進(jìn)行按位“與”計(jì)算;第四列顯示了不同的標(biāo)記,這些標(biāo)記的說(shuō)明如下:
 
G 路由將采用網(wǎng)關(guān)。
U 準(zhǔn)備使用的接口處于“活動(dòng)”狀態(tài)。
H 通過(guò)該路由,只能抵達(dá)一臺(tái)主機(jī)。
D 如果路由表的條目是由ICMP重定向消息生成的,就會(huì)設(shè)置這個(gè)標(biāo)記。
M 如果路由表?xiàng)l目已被ICMP重定向消息修改,就會(huì)設(shè)置這個(gè)標(biāo)記。
 
netstat輸出結(jié)果的Iface顯示該連接所用的物理網(wǎng)卡,如eth0表示用第一張,eth2表示用第二張。
 
顯示接口特性
 
在隨- i標(biāo)記一起調(diào)用時(shí), netstat將顯示網(wǎng)絡(luò)接口的當(dāng)前配置特性。除此以外,如果調(diào)用時(shí)還帶上-a選項(xiàng),它還將輸出內(nèi)核中所有接口,并不只是當(dāng)前配置的接口。netstat-i的輸出結(jié)果是這樣的:
 

代碼如下:

[root@machine1 /]$ netstat -i


 Kernel Interface table
 Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
 eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU
 eth2 1500 0 520811 0 0 0 1986 0 0 0 BRU
 lo 3924 0 1943 0 0 0 43 0 0 0 LRU
 
MTU 和Met字段表示的是接口的MTU和度量值值;RX和TX這兩列表示的是已經(jīng)準(zhǔn)確無(wú)誤地收發(fā)了多少數(shù)據(jù)包( RX - OK / TX - OK)、產(chǎn)生了多少錯(cuò)誤( RX-ERR/TX-ERR)、丟棄了多少包(RX-DRP/TX-DRP),由于誤差而遺失了多少包(RX-OVR/TX-OVR);最后一列展示的是 為這個(gè)接口設(shè)置的標(biāo)記,在利用ifconfig顯示接口配置時(shí),這些標(biāo)記都采用一個(gè)字母。它們的說(shuō)明如下:
 
B 已經(jīng)設(shè)置了一個(gè)廣播地址。
L 該接口是一個(gè)回送設(shè)備。
M 接收所有數(shù)據(jù)包(混亂模式)。
N 避免跟蹤。
O 在該接口上,禁用A R P。
P 這是一個(gè)點(diǎn)到點(diǎn)鏈接。
R 接口正在運(yùn)行。
U 接口處于“活動(dòng)”狀態(tài)。
 
顯示鏈接
 netstat 支持用于顯示活動(dòng)或被動(dòng)套接字的選項(xiàng)集。選項(xiàng)- t、- u、- w和- x分別表示TCP、UDP、RAW和UNIX套接字連接。如果你另外還提供了一個(gè)- a標(biāo)記,還會(huì)顯示出等待連接(也就是說(shuō)處于監(jiān)聽模式)的套接字。這樣就可以得到一份服務(wù)器清單,當(dāng)前所有運(yùn)行于系統(tǒng)中的所有服務(wù)器都會(huì)列入其中。
 
調(diào)用netstat -ta時(shí),輸出結(jié)果如下:
 

代碼如下:

[root@machine1 /]$ netstat -ta


 Active Internet connections (servers and established)
 Proto Recv-Q Send-Q Local Address Foreign Address State
 tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
 tcp 0 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
 tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
 tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
 tcp 0 0 *:9001 *:* LISTEN
 tcp 0 0 *:6000 *:* LISTEN
 tcp 0 0 *:socks *:* LISTEN
 tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE


關(guān)于Linux系統(tǒng)中netstat命令如何使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI