netstat 命令詳解
Linux netstat命令用於顯示網絡狀態。
利用netstat指令可讓你得知整個Linux系統的網絡情況。
語法:
netstat [-acCeFghilMnNoprstuvVwx][-A<網絡類型>][--ip]
參數說明:
-a 顯示所有連線中的Socket
-A 列出網絡類型連線中的相關地址
-c 持續列出網絡狀態
-C 顯示路由器配置的快取信息
-e 顯示網絡其他相關信息
-g 顯示多重羣組名單
-l 顯示監控中的服務器的socket
-n 直接使用ip 地址,不通過域名服務器
-N 顯示網絡硬件外圍設備的符號鏈接名稱
-p 顯示正在使用Socket 的程序識別碼和程序名稱
-t 顯示TCP 傳輸協議的連線狀況
-u 顯示UDP 傳輸協議的連線狀況
-x --unix
下面是示例:
[root@ localhost ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@ localhost ~]# netstat -a #顯示詳細的網絡狀況
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 10.0.0.20:mysql 10.0.0.11:40011 ESTABLISHED
tcp 0 0 10.0.0.20:ssh 10.0.0.4:52746 ESTABLISHED
tcp 0 0 10.0.0.20:ssh 10.0.0.4:64066 ESTABLISHED
tcp 0 0 *:ssh *:*
...
[root@ localhost ~]# netstat -nu #顯示當前戶籍UDP連接狀況
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
[root@ localhost ~]# netstat -i #顯示網卡列表
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 21516 0 0 0 10046 0 0 0 BMRU
lo 65536 0 0 0 0 0 0 0 0 0 LRU
[root@ localhost ~]# netstat -g #顯示組播組的關係
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 all-systems.mcast.net
lo 1 ff02::1
eth0 1 ff02::1:ff42:7715
[root@ localhost ~]# netstat -l #顯示監聽的套接口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 8057 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 11879 /var/lib/mysql/mysql.sock