天天看點

netstat 指令

netstat指令用來列印Linux中網絡系統的狀态資訊,可讓你得知整個Linux系統的網絡情況。

文法

netstat (選項)      

選項

-a或--all:顯示所有連線中的Socket; 
-A<網絡類型>或--<網絡類型>:列出該網絡類型連線中的相關位址; 
-c或--continuous:持續列出網絡狀态; 
-C或--cache:顯示路由器配置的快取資訊; 
-e或--extend:顯示網絡其他相關資訊; 
-F或--fib:顯示FIB; 
-g或--groups:顯示多重廣播功能群組組員名單; 
-h或--help:線上幫助; 
-i或--interfaces:顯示網絡界面資訊表單; 
-l或--listening:顯示監控中的伺服器的Socket; 
-M或--masquerade:顯示僞裝的網絡連線; 
-n或--numeric:直接使用ip位址,而不通過域名伺服器; 
-N或--netlink或--symbolic:顯示網絡硬體外圍裝置的符号連接配接名稱; 
-o或--timers:顯示計時器; 
-p或--programs:顯示正在使用Socket的程式識别碼和程式名稱; 
-r或--route:顯示Routing Table; 
-s或--statistice:顯示網絡工作資訊統計表; 
-t或--tcp:顯示TCP傳輸協定的連線狀況; 
-u或--udp:顯示UDP傳輸協定的連線狀況; 
-v或--verbose:顯示指令執行過程; 
-V或--version:顯示版本資訊; 
-w或--raw:顯示RAW傳輸協定的連線狀況; 
-x或--unix:此參數的效果和指定"-A unix"參數相同; 
--ip或--inet:此參數的效果和指定"-A inet"參數相同。      

執行個體

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

netstat -a #列出所有端口 
netstat -at #列出所有tcp端口 
netstat -au #列出所有udp端口      

列出所有處于監聽狀态的 Sockets

netstat -l #隻顯示監聽端口 
netstat -lt #隻列出所有監聽 tcp 端口 
netstat -lu #隻列出所有監聽 udp 端口 
netstat -lx #隻列出所有監聽 UNIX 端口      

顯示每個協定的統計資訊

netstat -s 顯示所有端口的統計資訊 
netstat -st 顯示TCP端口的統計資訊 
netstat -su 顯示UDP端口的統計資訊      

在netstat輸出中顯示 PID 和程序名稱

netstat -pt      

netstat -p可以與其它開關一起使用,就可以添加“PID/程序名稱”到netstat輸出中,這樣debugging的時候可以很友善的發現特定端口運作的程式。 

在netstat輸出中不顯示主機,端口和使用者名(host, port or user) 

當你不想讓主機,端口和使用者名顯示,使用netstat -n。将會使用數字代替那些名稱。同樣可以加速輸出,因為不用進行比對查詢。

netstat -an      

如果隻是不想讓這三個名稱中的一個被顯示,使用以下指令:

netsat -a --numeric-ports 
netsat -a --numeric-hosts 
netsat -a --numeric-users      

持續輸出netstat資訊

netstat -c #每隔一秒輸出網絡資訊      

顯示系統不支援的位址族(Address Families)

netstat --verbose      

在輸出的末尾,會有如下的資訊:

netstat: no support for `AF IPX' on this system. 
netstat: no support for `AF AX25' on this system. 
netstat: no support for `AF X25' on this system. 
netstat: no support for `AF NETROM' on this system.      

顯示核心路由資訊

netstat -r      

使用netstat -rn顯示數字格式,不查詢主機名稱。 

找出程式運作的端口 

并不是所有的程序都能找到,沒有權限的會不顯示,使用 root 權限檢視所有的資訊。

netstat -ap |grep ssh      

找出運作在指定端口的程序:

netstat -an |grep ':80'      

顯示網絡接口清單

netstat -i      

顯示詳細資訊,像是ifconfig使用netstat -ie。

 IP和TCP分析 

檢視連接配接某服務端口最多的的IP位址:

netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr      

TCP各種狀态清單:

netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'      
netstat -anpo | grep "php-cgi" | wc -l      
上一篇: linux netstat
下一篇: netstat 用法