“netstat” 用於顯示與 IP、TCP、UDP、ICMP 協議相關的路由、接收隊列、發送隊列、接口、SNMP、僞裝連接、套接字、等統計信息,一般用於檢驗本機各端口的網絡連接情況。

使用 “netstat” 時若不帶參數,可顯示活動 TCP 連接。

譬如:netstat -ntpl

基本語法

at [-vWeenNcCF] [ < 'Af'>] -r

at {-V|--version|-h|--help}

at [-vWnNcaeol] [ < 'Socket'>...]

netstat { [-vWeenNac] -i | [-cWnNe] -M | -s }

常用參數
# 參數 EN 解釋 中文翻譯 備注
01 , --rou 顯示路由錶
02 , --interf play interf 顯示接口錶
03 g, --group isplay multicast group membership 顯示多點傳送組成員
04 , play networking statistics (like SNMP) 顯示網絡統計信息 (像 SNMP)
05 M, --masquera isplay masqueraded connection 顯示僞裝連接
06 v, --v 顯示詳細信息
07 W, --wi n't truncate IP a 不截斷 IP 地址
08 , --num 不解析名稱
09 numeric-h 不解析主機名
10 meric-p 忽略端口名稱
11 numeric-u 忽略用戶名
12 N, --sym ve hardware nam 解析硬件名稱
13 , --exten 顯示更多信息
14 p, --program play PID/Program name f 顯示套接字 “PID/程序” 名稱
15 , --continuou ntinuous listing 連續列錶
16 , play listening serv 顯示監聽服務器套接字
17 a, --all, --listening isplay all sockets (default: connected) 顯示所有套接字 (默認:連接)
18 , --tim play tim 顯示計時器
19 F, --fi isplay Forwarding Information Base (default) 顯示轉發信息庫 (默認)
20 C, play routing cache instead of FI 顯示路由緩存,而不是 FI
其它參數


< 'Socket'> = {-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom


< 'AF'> = Use '-6|-4' or '-A' or '--'

支持協議
# 協議 備注 # 協議 備注
01 inet (DARPA Internet) 默認 05 ipx (Novell IPX)
02 (IPv6) 0 p (Appletalk DDP)
03 ax25 (AMPR AX.25) 07 x25 (CCITT X.25)
04 m (AMPR NET/ROM)

詳細用法

功能 # 命令規範 文字解釋 示例 示例解釋
列齣所有端口 01 netstat -a 列齣所有端口
02 netstat -a 列齣所有 TCP 端口
03 netstat -au 列齣所有 UDP 端口
列齣所有處於監聽狀態的 Sockets 01 netstat -l 顯示監聽端口
02 netstat -lt 列齣所有監聽 TCP 端口
03 netstat -lu 列齣所有監聽 UDP 端口
04 x 列齣所有監聽 UNIX 端口
顯示每協議統計信息 01 netsta 顯示所有端口的統計信息
02 netsta 顯示 TCP 端口的統計信息
03 netstat -su 顯示 UDP 端口的統計信息
PID/進程 01 p 顯示 “PID/進程” 名稱
主機、端口、用戶名 01 netstat -n 以數字代替顯示主機、端口、用戶名
02 netstat -an 以數字代替顯示所有主機、端口、用戶名
03 netsat -a --numeric-p 以數字代替顯示所有主機、用戶名,不顯示端口
04 netsat -a --numeric-h 以數字代替顯示所有端口、用戶名,不顯示主機
05 netsat -a --numeric-u 以數字代替顯示所有主機、端口,不顯示用戶名
持續輸齣統計信息 01 netstat -c 每隔一秒輸齣網絡信息
詳細顯示係統不支持地址族 01 netstat --v 顯示詳細統計信息
核心路由 01 netstat -r 顯示核心路由信息
02 netstat -rn 以數字格式顯示,不顯示主機名
查看幫助 01 netstat -h 顯示 netstat 相關幫助信息
運行端口 01 p | grep 找齣 ssh 運行端口。並不是所有進程都能找到,沒有權限的不會顯示,使用 root 權限可查看所有信息。
02 | grep ':80' 找齣指定端口運行進程
網絡接口 01 netstat -i 顯示網絡接口
02 netstat -i 顯示更多網絡接口信息
其它 01 | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20 查看連接某服務端口的最多 IP 地址
02 |awk '{print $6}' 顯示 TCP 的各種狀態列錶
03 netstat -nat |awk '{print $6}'|sort|uniq -c
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
先把狀態全取齣來,再用 uniq -c 統計,最後再進行排序。
04 wk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10 分析 access.log 獲得訪問前 10 位的 IP 地址
查看幫助 01 netstat -h 顯示 netstat 相關幫助信息
02 netstat --help 顯示 netstat 相關幫助信息