netstat命令介紹-要用熟

來源:互聯網
上載者:User

標籤:sts   imp   default   路由   tcp   ssh   統計資訊   missing   style   

這篇文章寫的不錯:

http://www.cnblogs.com/CheeseZH/p/5169498.html

 

關注Linux的系統狀態,主要從兩個角度出發,一個角度是系統正在運行什麼服務(ps命令);另外一個就是有什麼串連或服務可用(netstat命令)。

netstat還可以顯示ps無法顯示的、從inetd或xinetd中啟動並執行服務,比如telnet等。

 

3.常用執行個體3.1  列出所有連接埠 
 netstat -a
[[email protected] jiehun]# netstat -a|more Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address               Foreign Address             State      tcp        0      0 *:sunrpc                    *:*                         LISTEN      tcp        0      0 *:webcache                  *:*                         LISTEN      tcp        0      0 *:http                      *:*                         LISTEN      tcp        0      0 192.168.122.1:domain        *:*                         LISTEN      tcp        0      0 localhost.localdomain:d-s-n *:*                         LISTEN      tcp        0      0 *:ssh                       *:*                         LISTEN      tcp        0      0 localhost.loc:simplifymedia *:*                         LISTEN  

上述顯示中, "Proto"是 Protocol 的簡稱,它可以是 TCP 或 UDP。

"Recv-Q"和"Send-Q"指的是接收隊列和發送隊列,這些數字一般都應該是 0,如果不是,則表示軟體包正在隊列中堆積。這種情況只能在非常短的時間記憶體在,比如在 KMail 中單擊檢查郵件按鈕時,有如下顯示是正常現象:

tcp 0 593 192.168.1.5:34321 venus.euao.com:smtp ESTABLISHED

  如果接收隊列持續處於阻塞狀態,那麼很有可能受到了拒絕式服務的攻擊。如果發送隊列不能被快速清除,則可能是因為有一個應用程式不能將所要發送的東西傳送完。

"Local Address" 指原生 IP 和連接埠號碼。

"Foreign Address"指所要串連的主機名稱和服務。

"State"指現在串連的狀態。

三種常見的 TCP 狀態如下所示:

a) LISTEN 等待接收串連;

b) ESTABLISHED 一個處於活躍狀態的串連;

c) TIME_WAIT 一個剛被終止的串連。它只持續 1 至 2 分鐘,然後就會變成 LISTEN 狀態。

由於 UDP 是無狀態的,所以其 State 欄總是空白。

 

持續擷取有用資訊

使用"netstat -a"命令,顯示結果可能會有數百行。其實,在這些結果中可以忽略所有"Active Unix domain sockets"以後的內容。因為這些內容是本地內部進程之間的通訊,而不是網路連接。使用以下命令可以避免顯示無用資訊:

$ netstat --inet -a

   " netstat --inet -a" 命令的顯示結果將只有網路連接,包括所有正處在"LISTEN"狀態和"ESTABLISHED"狀態的。需要特別注意的是,對於普通使用者而言,一般不需要使用 telnet 或 SMTP 服務。因此需要將其關閉,以提高系統安全性;並且要重新設定開機檔案,以保證它們不會在下次系統啟動時自動重新啟動。要想持續不斷地查看隨時都在更改的網路資訊,可以使用 netstat 命令的"-c"參數,並且將結果存入檔案中:

$ netstat --inet -a -c > netstat.txt

這時,查看 netstat.txt 檔案即可檢查郵件服務、Web 服務和 telnet 服務等的狀態變化。

 

3.2  列出所有tcp連接埠
[[email protected] jiehun]# netstat -at|more Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address               Foreign Address             State      tcp        0      0 *:sunrpc                    *:*                         LISTEN      tcp        0      0 *:webcache                  *:*                         LISTEN      tcp        0      0 *:http                      *:*                         LISTEN      tcp        0      0 192.168.122.1:domain        *:*                         LISTEN      tcp        0      0 localhost.localdomain:d-s-n *:*                         LISTEN      tcp        0      0 *:ssh                       *:*                         LISTEN      tcp        0      0 localhost.loc:simplifymedia *:*                         LISTEN  

 

3.3 列出所有udp連接埠 

netstat -au

 

3.4 只顯示正在處於監聽狀態的連接埠 netstat -l

 

3.8  顯示所有連接埠的統計資訊 netstat -s

[[email protected] jiehun]# netstat -sIp:    1943780 total packets received    2 forwarded    0 incoming packets discarded    1769532 incoming packets delivered    1121573 requests sent out    132 outgoing packets dropped    45867 dropped because of missing routeTcp:    64002 active connections openings    7632 passive connection openings    2309 failed connection attempts    498 connection resets received    8 connections established    1018564 segments received    1022700 segments send out    16835 segments retransmited    2 bad segments received.    552 resets sentUdp:    133420 packets received    7845 packets to unknown port received.    0 packet receive errors    74841 packets sent    0 receive buffer errors    0 send buffer errors

 

3.9 顯示所有tcp(netstat -st)或udp(netstat -su)的統計資訊

 

3.10 顯示pid/進程名稱 netstat -p   -p可以與其他參數一起使用 比如 顯示tcp的進程id資訊

[[email protected] jiehun]# netstat -ptActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   tcp        0      0 192.168.0.52:44784          123.150.49.20:http          FIN_WAIT2   4207/VirtualBox     tcp        0      0 192.168.0.52:46715          ie-in-f125.1e100.net:https  ESTABLISHED 4207/VirtualBox     tcp        0      0 192.168.0.52:43415          geotrust-ocsp-mtv.veri:http FIN_WAIT2   4207/VirtualBox     

 

3.11  在 netstat 輸出中不顯示主機,連接埠和使用者名稱 (host, port or user)當你不想讓主機,連接埠和使用者名稱顯示,使用 netstat -n,將會使用數字代替那些名稱,同樣可以加速輸出,因為不用進行DNS輪詢。netstat -ntpl  顯示tcp的監聽連接埠 不顯示主機連接埠使用者名稱 用數字代替

 

3.12  一秒鐘輸出一次tcp監聽連接埠資訊 netstat -ntplc

 

3.13  顯示路由資訊 netstat -r

[[email protected] jiehun]# netstat -rKernel IP routing tableDestination     Gateway         Genmask         Flags   MSS Window  irtt Ifacedefault         vrouter         0.0.0.0         UG        0 0          0 eth0192.168.0.0     *               255.255.255.0   U         0 0          0 eth0192.168.122.0   *               255.255.255.0   U         0 0          0 virb

 

3.14 顯示網路介面列表,檢查網卡 netstat -i

[[email protected] jiehun]# netstat -iKernel Interface tableIface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flgeth0       1500   0  4943885      0      0      0   901773      0      0      0 BMRUlo        16436   0   236931      0      0      0   236931      0      0      0 LRUvirbr0     1500   0        0      0      0      0        0      0      0      0 BMU

 

在"RX-OK (Received OK)"和"TX-OK (Transmitted OK)"欄應該看到很多數字,而其它地方的數字應該非常小。如果在"RX-ERR"或"TX-ERR"欄看到很多資料,則很有可能是網卡或網線出現了問題。

 

2.參數含義介紹

-a (all)顯示所有選項,預設不顯示LISTEN相關(本選項顯示一個所有的有效串連資訊列表,包括已建立的串連(ESTABLISHED),也包括監聽串連請(LISTENING)的那些串連。)
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數位全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態

-p 顯示建立相關連結的程式名
-r 顯示路由資訊,路由表(本選項可以顯示關於路由表的資訊,類似於後面所講使用route print命令時看到的 資訊。除了顯示有效路由外,還顯示當前有效串連。)
-e 顯示擴充資訊,例如uid等(本選項用於顯示關於乙太網路的統計資料。它列出的項目包括傳送的資料報的總位元組數、錯誤數、刪除數、資料報的數量和廣播的數量。這些統計資料既有發送的資料報數量,也有接收的資料報數量。這個選項可以用來統計一些基本的網路流量)。)
-s 按各個協議進行統計(本選項能夠按照各個協議分別顯示其統計資料。如果我們的應用程式(如Web瀏覽器)運行速度比較慢,或者不能顯示Web頁之類的資料,那麼我們就可以用本選項來查看一下所顯示的資訊。我們需要仔細查看統計資料的各行,找到出錯的關鍵字,進而確定問題所在。)
-c 每隔一個固定時間,執行該netstat命令。

提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到

 

netstat命令介紹-要用熟

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.