每天一個 Linux 命令(56): netstat 命令

發表於2017-02-03

netstat命令用於顯示與IP、TCP、UDP和ICMP協議相關的統計資料,一般用於檢驗本機各埠的網路連線情況。netstat是在核心中訪問網路及相關資訊的程式,它能提供TCP連線,TCP和UDP監聽,程式記憶體管理的相關報告。

如果你的計算機有時候接收到的資料包導致出錯資料或故障,你不必感到奇怪,TCP/IP可以容許這些型別的錯誤,並能夠自動重發資料包。但如果累計的出錯情況數目佔到所接收的IP資料包相當大的百分比,或者它的數目正迅速增加,那麼你就應該使用netstat查一查為什麼會出現這些情況了。

1.命令格式:

2.命令功能:

netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計資料,一般用於檢驗本機各埠的網路連線情況。

3.命令引數:

4.使用例項:

例項1:無引數使用

命令:

輸出:

說明:

從整體上看,netstat的輸出結果可以分為兩個部分:

一個是Active Internet connections,稱為有源TCP連線,其中”Recv-Q”和”Send-Q”指的是接收佇列和傳送佇列。這些數字一般都應該是0。如果不是則表示軟體包正在佇列中堆積。這種情況只能在非常少的情況見到。

另一個是Active UNIX domain sockets,稱為有源Unix域套介面(和網路套接字一樣,但是隻能用於本機通訊,效能可以提高一倍)。

Proto顯示連線使用的協議,RefCnt表示連線到本套介面上的程式號,Types顯示套介面的型別,State顯示套介面當前的狀態,Path表示連線到套介面的其它程式使用的路徑名。

套介面型別:

 

狀態說明:

 

例項2:列出所有埠

命令:

輸出:

說明:

顯示一個所有的有效連線資訊列表,包括已建立的連線(ESTABLISHED),也包括監聽連線請(LISTENING)的那些連線。

例項3:顯示當前UDP連線狀況

命令:

輸出:

說明:

例項4:顯示UDP埠號的使用情況

命令:

輸出:

說明:

例項5:顯示網路卡列表

命令:

輸出:

說明:

例項6:顯示組播組的關係

命令:

輸出:

說明:

例項7:顯示網路統計資訊

命令:

輸出:

說明:

按照各個協議分別顯示其統計資料。如果我們的應用程式(如Web瀏覽器)執行速度比較慢,或者不能顯示Web頁之類的資料,那麼我們就可以用本選項來檢視一下所顯示的資訊。我們需要仔細檢視統計資料的各行,找到出錯的關鍵字,進而確定問題所在。

 

例項8:顯示監聽的套介面

命令:

輸出:

說明:

 

例項9:顯示所有已建立的有效連線

命令:

輸出:

說明:

 

例項10:顯示關於乙太網的統計資料

命令:

輸出:

說明:

用於顯示關於乙太網的統計資料。它列出的專案包括傳送的資料包的總位元組數、錯誤數、刪除數、資料包的數量和廣播的數量。這些統計資料既有傳送的資料包數量,也有接收的資料包數量。這個選項可以用來統計一些基本的網路流量)

 

例項11:顯示關於路由表的資訊

命令:

輸出:

說明:

 

例項12:列出所有 tcp 埠

命令:

輸出:

說明:

 

例項13:統計機器中網路連線各個狀態個數

命令:

輸出:

說明:

 

例項14:把狀態全都取出來後使用uniq -c統計後再進行排序

命令:

輸出:

說明:

 

例項15:檢視連線某服務埠最多的的IP地址

命令:

輸出:

說明:

 

例項16:找出程式執行的埠

命令:

輸出:

說明:

 

例項17:在 netstat 輸出中顯示 PID 和程式名稱

命令:

輸出:

說明:

netstat -p 可以與其它開關一起使用,就可以新增 “PID/程式名稱” 到 netstat 輸出中,這樣 debugging 的時候可以很方便的發現特定埠執行的程式。

 

例項18:找出執行在指定埠的程式

命令:

輸出:

說明:

執行在埠16064的程式id為24596,再通過ps命令就可以找到具體的應用程式了。

本系列文章:

每天一個 Linux 命令(1):ls命令
每天一個 Linux 命令(2):cd命令
每天一個 Linux 命令(3):pwd命令
每天一個 Linux 命令(4):mkdir命令
每天一個 Linux 命令(5):rm 命令
每天一個 Linux 命令(6):rmdir 命令
每天一個 Linux 命令(7):mv命令
每天一個 Linux 命令(8):cp 命令
每天一個 Linux 命令(9):touch 命令
每天一個 Linux 命令(10):cat 命令
每天一個 Linux 命令(11):nl 命令
每天一個 Linux 命令(12):more 命令
每天一個 Linux 命令(13):less 命令
每天一個 Linux 命令(14):head 命令
每天一個 Linux 命令(15):tail 命令
每天一個 Linux 命令(16):which命令
每天一個 Linux 命令(17):whereis 命令
每天一個 Linux 命令(18):locate 命令
每天一個 Linux 命令(19):find 命令概覽
每天一個 Linux 命令(20):find命令之exec
每天一個 Linux 命令(21):find命令之xargs
每天一個 Linux 命令(22):find 命令的引數詳解
每天一個 Linux 命令(23):Linux 目錄結構
每天一個 Linux 命令(24):Linux 檔案型別與副檔名
每天一個 Linux 命令(25):Linux 檔案屬性詳解
每天一個 Linux 命令(26):用 SecureCRT 來上傳和下載檔案
每天一個 Linux 命令(27):linux chmod 命令
每天一個 Linux 命令(28):tar 命令
每天一個 Linux 命令(29): chgrp 命令
每天一個 Linux 命令(30): chown 命令
每天一個 Linux 命令(31): /etc/group 檔案詳解
每天一個 Linux 命令(32):gzip 命令
每天一個 Linux 命令(33):df 命令
每天一個 Linux 命令(34): du 命令
每天一個 Linux 命令(35): ln 命令
每天一個 Linux 命令(36): diff 命令
每天一個 Linux 命令(37): date 命令
每天一個 Linux 命令(38): cal 命令
每天一個 Linux 命令(39): grep 命令
每天一個 Linux 命令(40): wc 命令
每天一個 Linux 命令(41): ps 命令
每天一個 Linux 命令(44): top 命令
每天一個 Linux 命令(45): free 命令
每天一個 Linux 命令(46): vmstat 命令
每天一個 Linux 命令(47): iostat 命令
每天一個 Linux 命令(48): watch 命令
每天一個 Linux 命令(49): at 命令
每天一個 Linux 命令(50): crontab 命令
每天一個 Linux 命令(51): lsof 命令
每天一個 Linux 命令(52): ifconfig 命令
每天一個 Linux 命令(53): route 命令
每天一個 Linux 命令(54): ping 命令
每天一個 Linux 命令(55): traceroute 命令

相關文章