推荐阅读:天天学一个 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