推薦閱讀:天天學一個 Linux 命令(64):ifconfig服務器
netstat(network statistics) 是一個命令行工具,它用來顯示網絡鏈接(傳入和傳出),路由表和許多網絡接口(網絡接口控制器或軟件定義的網絡接口)和網絡協議統計信息。也可用於查找網絡中的問題,打印 Linux 中網絡系統的狀態信息,查看整個 Linux 系統的網絡狀況。網絡
netstat 的使用平很廣,包括 OS X、Linux、Solaris 和 BSD,以及基於 Windows NT 的操做系統,包括 Windows XP、Windows Vista、Windows 7/8/10。ssh
netstat { xxx } [ OPTIONS ]
-a或--all #顯示全部的網絡鏈接信息 -A<網絡類型> #顯示該網絡類型連線中的相關地址 -c或--continuous #持續列出網絡狀態信息 -C或--cache #顯示路由器配置的快取信息 -e或--extend #顯示網絡其餘相關信息 -g或--groups #顯示多播功能羣組信息 -h或--help #打印在線幫助信息 -i或--interfaces #顯示網絡界面信息表單 -l或--listening #顯示監控中的服務器的Socket -M或--masquerade #顯示假裝的網絡連線 -n或--numeric #直接使用ip地址 -N或--netlink #顯示網絡硬件外圍設備的符號鏈接名稱 -o或--timers #顯示計時器 -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"參數結果 相同
列出端口socket
##列出全部端口 [root@CentOS7-1 ~]# netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 localhost:8125 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:dnp-sec 0.0.0.0:* LISTEN tcp 0 52 CentOS7-1:ssh 192.168.1.93:58049 ESTABLISHED tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN tcp6 0 0 localhost:8125 [::]:* LISTEN tcp6 0 0 [::]:dnp-sec [::]:* LISTEN udp 0 0 localhost:8125 0.0.0.0:* udp 0 0 localhost:323 0.0.0.0:* udp6 0 0 localhost:8125 [::]:* udp6 0 0 localhost:323 [::]:* raw6 0 0 [::]:ipv6-icmp [::]:* 7 #列出全部tcp端口 [root@CentOS7-1 ~]# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 localhost:8125 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:dnp-sec 0.0.0.0:* LISTEN tcp 0 52 CentOS7-1:ssh 192.168.1.93:58049 ESTABLISHED tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN tcp6 0 0 localhost:8125 [::]:* LISTEN tcp6 0 0 [::]:dnp-sec [::]:* LISTEN #列出全部UDP端口 [root@CentOS7-1 ~]# netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 localhost:8125 0.0.0.0:* udp 0 0 localhost:323 0.0.0.0:* udp6 0 0 localhost:8125 [::]:* udp6 0 0 localhost:323 [::]:* #列出全部處於監聽狀態的 Sockets netstat -l #只顯示監聽端口 netstat -lt #只列出全部監聽 tcp 端口 netstat -lu #只列出全部監聽 udp 端口 netstat -lx #只列出全部監聽 UNIX 端口 #顯示每一個協議的統計信息 netstat -s #顯示全部端口的統計信息 netstat -st #顯示TCP端口的統計信息 netstat -su #顯示UDP端口的統計信息
顯示路由表信息tcp
[root@CentOS7-1 ~]# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default gateway 0.0.0.0 UG 0 0 0 ens33 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33 [root@CentOS7-1 ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 ens33 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
顯示接口列表工具
[root@CentOS7-1 ~]# netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens33 1500 48619 0 5 0 7246 0 0 0 BMRU lo 65536 1730 0 0 0 1730 0 0 0 LRU
分組查看各類鏈接狀態操作系統
[root@CentOS7-1 ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' LAST_ACK 5 (正在等待處理的請求數) SYN_RECV 3 ESTABLISHED 10 (正常數據傳輸狀態) FIN_WAIT2 5 TIME_WAIT 313 (處理完畢,等待超時結束的請求數)
顯示鏈接數.net
[root@CentOS7-1 ~]# netstat -an |grep :22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 52 192.168.1.100:22 192.168.1.93:58049 ESTABLISHED tcp6 0 0 :::22 [root@CentOS7-1 ~]# netstat -an |grep :22 |wc -l 3
經過端口找進程ID命令行
[root@CentOS7-1 ~]# netstat -anp | grep 58049 tcp 0 52 192.168.1.100:22 192.168.1.93:58049 ESTABLISHED 1350/sshd: root@pts [root@CentOS7-1 ~]# netstat -anp | grep 58049 |grep ESTABLISHED tcp 0 52 192.168.1.100:22 192.168.1.93:58049 ESTABLISHED 1350/sshd: root@pts [root@CentOS7-1 ~]# netstat -anp | grep 58049 |grep ESTABLISHED |awk '{print $7}' 1350/sshd: [root@CentOS7-1 ~]# netstat -anp | grep 58049 |grep ESTABLISHED |awk '{print $7}' |cut -d/ -f1 1350
查看鏈接某個端口最多的IP地址unix
[root@CentOS7-1 ~]# netstat -ntu | grep :58049 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"t",i}' | sort -nr 1 192.168.1.93 [root@CentOS7-1 ~]# netstat -ntu | grep :22 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"t",i}' | sort -nr 1 192.168.1.93
顯示全部端口的狀態統計信息
[root@CentOS7-1 ~]# netstat -s Ip: 15146 total packets received 0 forwarded 0 incoming packets discarded 15146 incoming packets delivered 3885 requests sent out 8 dropped because of missing route Icmp: 4 ICMP messages received 0 input ICMP message failed. ICMP input histogram: destination unreachable: 4 44 ICMP messages sent 0 ICMP messages failed ICMP output histogram: destination unreachable: 44 IcmpMsg: InType3: 4 OutType3: 44 Tcp: 863 active connections openings 1 passive connection openings 858 failed connection attempts 0 connection resets received 1 connections established 5021 segments received 3772 segments send out 0 segments retransmited 0 bad segments received. 858 resets sent Udp: 200 packets received 44 packets to unknown port received. 0 packet receive errors 246 packets sent 0 receive buffer errors 0 send buffer errors UdpLite: TcpExt: 1 TCP sockets finished time wait in fast timer 35 delayed acks sent 1 packets directly queued to recvmsg prequeue. 1362 packet headers predicted 438 acknowledgments not containing data payload received 1160 predicted acknowledgments TCPRcvCoalesce: 9 TCPOrigDataSent: 1719 IpExt: InBcastPkts: 10042 InOctets: 4159848 OutOctets: 329931 InBcastOctets: 3778680 InNoECTPkts: 15150
顯示多播組信息
[root@CentOS7-1 ~]# netstat -g IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ --------------------- lo 1 all-systems.mcast.net ens33 1 all-systems.mcast.net lo 1 ff02::1 lo 1 ff01::1 ens33 1 ff02::1:ff4e:26b0 ens33 1 ff02::1:ff01:b5bb ens33 1 ff02::1 ens33 1 ff01::1