天天看點

Linux netstat指令詳解

Linux netstat指令詳解

簡介

netstat 指令用于顯示各種網絡相關資訊,如網絡連接配接,路由表,接口狀态 (interface statistics),masquerade 連接配接,多點傳播成員 (multicast memberships) 等等。

輸出資訊含義

執行netstat後,其輸出結果為

active internet connections (w/o servers) 

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 296 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 80 210.34.6.89:1161 210.34.6.10:netbios-ssn close 

active unix domain sockets (w/o servers) 

proto refcnt flags type state i-node path 

unix 1 [ ] stream connected 16178 @000000dd 

unix 1 [ ] stream connected 16176 @000000dc 

unix 9 [ ] dgram 5292 /dev/log 

unix 1 [ ] stream connected 16182 @000000df  

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

一個是active internet connections,稱為有源tcp連接配接,其中"recv-q"和"send-q"指%0a的是接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟體包正在隊列中堆積。這種情況隻能在非常少的情況見到。

另一個是active unix domain sockets,稱為有源unix域套接口(和網絡套接字一樣,但是隻能用于本機通信,性能可以提高一倍)。proto顯示連接配接使用的協定,refcnt表示連接配接到本套接口上的程序号,types顯示套接口的類型,state顯示套接口目前的狀态,path表示連接配接到套接口的其它程序使用的路徑名。

常見參數

提示:listen和listening的狀态隻有用-a或者-l才能看到

實用指令執行個體

1.列出所有端口 (包括監聽和未監聽的)

列出所有端口 netstat -a

# netstat -a | more 

 active internet connections (servers and established) 

 proto recv-q send-q local address           foreign address         state 

 tcp        0      0 localhost:30037         *:*                     listen 

 udp        0      0 *:bootpc                *:* 

active unix domain sockets (servers and established) 

 proto refcnt flags       type       state         i-node   path 

 unix  2      [ acc ]     stream     listening     6135     /tmp/.x11-unix/x0 

 unix  2      [ acc ]     stream     listening     5140     /var/run/acpid.socket  

列出所有 tcp 端口 netstat -at

# netstat -at 

 tcp        0      0 localhost:ipp           *:*                     listen 

 tcp        0      0 *:smtp                  *:*                     listen 

 tcp6       0      0 localhost:ipp           [::]:*                  listen  

列出所有 udp 端口 netstat -au

# netstat -au 

 udp        0      0 *:49119                 *:* 

 udp        0      0 *:mdns                  *:*  

2. 列出所有處于監聽狀态的 sockets

隻顯示監聽端口 netstat -l

# netstat -l 

 active internet connections (only servers) 

 tcp6       0      0 localhost:ipp           [::]:*                  listen 

 udp        0      0 *:49119                 *:*  

隻列出所有監聽 tcp 端口 netstat -lt

# netstat -lt 

隻列出所有監聽 udp 端口 netstat -lu

# netstat -lu 

 udp        0      0 *:mdns                  *:*  

隻列出所有監聽 unix 端口 netstat -lx

# netstat -lx  

active unix domain sockets (only servers) 

 unix  2      [ acc ]     stream     listening     6294     private/maildrop 

 unix  2      [ acc ]     stream     listening     6203     public/cleanup 

 unix  2      [ acc ]     stream     listening     6302     private/ifmail 

 unix  2      [ acc ]     stream     listening     6306     private/bsmtp  

作者:asoren

來源:51cto

繼續閱讀