netstat使用
命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態,masquerade 連接,多播成員等, 文本演示
輸出格式
jarvis@Jarvis:~$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 10.141.31.209:http 223.104.188.182:52153 ESTABLISHED
tcp 0 0 10.141.31.209:43140 10.174.231.167:5574 ESTABLISHED
tcp 0 0 10.141.31.209:http 117.136.94.169:27249 ESTABLISHED
tcp 0 0 10.141.31.209:http 223.104.190.12:51091 ESTABLISHED
tcp 0 0 10.141.31.209:http 223.104.190.12:29270 ESTABLISHED
tcp 0 0 localhost.localdo:mysql localhost.localdo:44134 ESTABLISHED
...
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 17397 /run/user/500/systemd/notify
unix 3 [ ] DGRAM 9700 /run/systemd/notify
unix 10 [ ] DGRAM 9716 /run/systemd/journal/dev-log
unix 2 [ ] DGRAM 9719 /run/systemd/journal/syslog
輸出結果主要分為兩部分
- Active Internet connections, 即有源TCP連接, 其中
Recv-Q
和Send-Q
指%0A的是接收隊列和發送隊列. 這些數字一般都應該是0. 如果不是則表示軟件包正在隊列中堆積. - Active UNIX domain sockets, 稱為有源Unix域套接口(用於本地的進程/線程間socket連接信息),
Proto
為連接使用的協議,RefCnt
表示連接到本套接口上的進程號,Types
顯示套接口的類型(流式套接字SOCK_STREAM
、數據包套接字SOCK_DGRAM
、SOCK_SEQPACKET
和原始套接字),State
顯示套接口當前的狀態,Path
表示連接到套接口的其他進程使用的路徑名.
常見參數
{-a|--all}
顯示所有選項, 默認不顯示udp協議和State
值為LISTEN信息而State
值為ESTABLISHED是顯示的已連接到改端口的信息{-c|--continuous}
每隔一個固定時間,執行該netstat命令。{-e|--expansion}
顯示擴展信息,例如uid等{-l|--listen}
僅列出有在 Listen (監聽) 的服務狀態{-n|--numeric}
拒絕顯示別名,能顯示數字的全部轉化成數字。{-p|--program}
顯示建立相關鏈接的程序名{-r|--router}
顯示路由信息,路由表{-s|--statistic}
按各個協議進行統計{-t|--tcp}
僅顯示tcp相關選項{-u|--udp}
僅顯示udp相關選項{-x|--unix}
僅顯示unix相關選項 提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到
Useful
{-r|--route}
: Display the kernel routing tablesjarvis@Jarvis:~$ netstat -r Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 10.141.0.1 0.0.0.0 UG 0 0 0 eth0
10.141.0.0 * 255.255.192.0 U 0 0 0 eth0- Destination 目的網絡或主機
- Gateway 經過網關
- Genmask 目標網絡的網絡掩碼
Flags 路由flag
A
被addrconf安裝C
緩存記錄D
路由表的條目是由ICMP重定向消息生成的H
目標是一台主機G
路由使用網關M
路由表條目已被ICMP重定向消息修改R
動態路由復原S
此路由為手動添加U
路由可用W
由一個條目Clone而來!
拒絕路由
MSS(Maximum Segment Size) 最大分段尺寸, 也是內核所構建以通過該路由發送的數據報的最大尺寸
Window 系統一次從遠程主機接收突發的最大量數據
irtt(initial round trip tim) 初始往返時間
Iface 網絡接口名稱
{-g|--groups}
Display multicast group membership information for IPv4 and IPv6.jarvis@Jarvis:~$ netstat -g IPv6/IPv4 Group Memberships
Interface RefCnt Group
#------------------------------------------
lo 1 all-systems.mcast.net
eth0 1 all-systems.mcast.net
lo 1 ip6-allnodes
lo 1 ff01::1
eth0 1 ip6-allnodes
eth0 1 ff01::1{-i|--interfaces}
Display a table of all network interfaces.jarvis@Jarvis:~$ netstat -i Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth1 1500 0 0 0 0 0 0 0 0 BMRU
eth2 1500 0 0 0 0 0 0 0 0 BMRU
eth3 1500 0 0 0 0 0 0 0 0 BMRU
lo 1500 0 0 0 0 0 0 0 0 LRU
wifi0 1500 0 0 0 0 0 0 0 0 BMRU- Iface 網絡接口名稱
- MTU(Maximum Trasmission Unit) 最大傳輸單元
- RX-OK 接收時, 正確的數據包數
- RX-ERR 接收時, 產生錯誤的數據包數
- RX-DRP 接收時, 丟棄的數據包數
- RX-OVR 接收時, 由於過速而丟失的數據包數
- TX-OK 發送時,正確的數據包數
- TX-ERR 發送時,產生錯誤的數據包數
- TX-DRP 發送時,丟棄的數據包數
- TX-OVR 發送時,由於過速而丟失的數據包數
- Flg 標志
B
已經設置了一個廣播地址L
該接口是一個回送設備M
接收所有數據包(混亂模式)N
避免跟蹤O
在該接口上,禁用ARPP
這是一個點到點鏈接R
接口正在運行U
接口處於“活動”狀態