推荐阅读:每天学一个Linux命令(64):ifconfig命令介绍netstat(网络统计)是一个命令行工具,用于显示网络连接情况(传入和传出输出)、路由表和许多网络接口(网络接口控制器或软件定义的网络接口)和网络协议统计信息。它还可以用来发现网络中的问题,打印Linux中网络系统的状态信息,查看整个Linux系统的网络状态。netstat可用于多种平台,包括OSX、Linux、Solaris和BSD,以及基于WindowsNT的操作系统,包括WindowsXP、WindowsVista、Windows7/8/10。语法格式netstat{xxx}[OPTIONS]选项说明-aor--all#显示所有网络连接信息-A#显示网络类型连接中的相关地址-cor--continuous#连续列输出网络statusinformation-Cor--cache#显示路由器配置的缓存信息-eor--extend#显示网络的其他相关信息-gor--groups#显示组播功能组信息-hor--help#Print在线帮助信息-i或--i??nterfaces#显示网络接口信息形式-l或--listening#显示被监控服务器的Socket-M或--masquerade#显示伪装的网络连接-n或--numeric#使用ip地址直接-N或--netlink#显示网络硬件外设的符号连接名-o或--timers#显示定时器-r或--route#显示路由表-s或--statistice#显示所有端口状态统计-t或--tcp#显示TCP传输协议的连接状态-u或--udp#显示UDP传输协议的连接状态-v或--verbose#显示命令执行过程信息-V或--version#显示版本信息-w或--raw#显示RAW传输协议的连接状态-x或--unix#该参数与“-Aunix”参数结果相同--ip或--inet#该参数为与“-Ainet”参数结果相同应用示例listports##listallports[root@CentOS7-1~]#netstat-aActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddress状态tcp000.0.0.0:ssh0.0.0.0:*LISTENtcp00localhost:smtp0.0.0.0:*听TCP00localhost:81250.0.0.0:*听听TCP000.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0:**听听TCP052Centos7-1:SSH192.168.1.93:58049建立ssh[::]:*听TCP600localhost:smtp[::]:*听TCP600localhost:8125[::]:*听TCP600[:::::]:dnp-sec[::::]:*听udp00localhost:81250.0.0.0:*udp00localhost:3230.0.0.0.0:*udp600localhost:8125:8125[::]:*udp6000000localhost:323[:::::*raw60:*RAW6000[::]:ipv6-icmp[::]:*7#列出列出tcp端口[root@centos7-1?]#NetStat-Actat-ActativeInternet连接(服务器和已建立)PROORECV-QSEND-Q本地地址本地地址efternforterefundertcp000.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0:***听TCP00localhost:smtp0.0.0.0:**听听TCP00localhost:81250.0.0.0.0:*听听TCP000.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0:*.1.93:58049建立tcp600[::]:ssh[::]:*听tcp600localhost:smtp[::::]:*listaintcp600localhost:8125[::::]:*::]:dnp-sec[::]:*LISTEN#列出所有UDP端口[root@CentOS7-1~]#netstat-auActiveInternet连接(服务器和ESTABLISHED)ProtoRECV-QSend-QLocalAddressForeignAddressStateUdp00LocalHost:81250.0.0.0:*Udp00LocalHost:3230.0.0:*Udp60Localhost:*UDP600LocalHost:323[::]:*#列出所有的SocketsNetStat-L#只显示监听端口netat-LT#Portnetstat-lx#只列出所有监听的UNIX端口#显示每个协议的统计信息netstat-s#显示所有的统计信息portsnetstat-st#DisplaythestatisticsofTCPportsnetstat-su#DisplaythestatisticsofUDPports显示路由表信息[root@CentOS7-1?~]#?netstat?-rKernel?IP?routing?tableDestination?????Gateway?????????Genmask?????????Flags???MSS?Window??irtt?Ifacedefault?????????gateway?????????0.0.0.0UG000ens33192.168.1.00.0.0.0255.255.255.0U000ens33[root@CentOS7-1~]#NetStat-rnkernelIP路由tableDestinationGatewayGenMask标志MSSWindowirttiface0.0.0.0192.168.1.1.1.1.0.0.0.0ug000000ens33192.168.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.bes-0CentOS7-1~]#NetStat-INTERFACEFACEFACEFACEFACEMTURX-OKRX-ERRRX-OVRTX-OKTX-DRPTX-OVRFLGENS3150048619000BMRULO65536173000017300000LRU组查看各种连接状态[root@CentOS7-1~]#netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'LAST_ACK5(等待处理的请求数)SYN_RECV3ESTABLISHED10(普通数据transmissionstatus)FIN_WAIT25TIME_WAIT313(已处理并等待超时结束的请求数)显示连接数[root@CentOS7-1~]#netstat-an|grep:22tcp0000.0.0.0:220.0.0.0:*监听TCP1522192.168.1.1068.1.93:58049ESTABLISHEDtcp600:::22[root@CentOS7-1~]#netstat-an|grep:22|wc-l3通过端口查找进程号[root@CentOS7-1~]#netstat-anp|grep58049tcp052192.168.1.100:22192.168.1.93:58049ESTABLISHED1350/sshd:root@pts[root@CentOS7-1~]#netstat-anp|grep58049|grepESTABLISHEDtcp052192.168.1.100:22192.168.1.93:58049ESTABLISHED1350/sshd:root@pts[root@CentOS7-1~]#netstat-anp|grep58049|grep已建立|awk'{print$7}'1350/sshd:[root@CentOS7-1~]#netstat-anp|grep58049|grepESTABLISHED|awk'{print$7}'|cut-d/-f11350查看最常连接到某个端口的IP地址[root@CentOS7-1~]#netstat-ntu|grep:58049|awk'{print$5}'|剪切-d:-f1|awk'{++ip[$1]}END{for(iinip)printip[i],"t",i}'|排序-nr1192.168.1.93[root@CentOS7-1~]#netstat-ntu|grep:22|awk'{print$5}'|剪切-d:-f1|awk'{++ip[$1]}END{for(iinip)printip[i],"t",i}'|sort-nr1192.168.1.93显示所有端口的状态统计[root@centos7-1?]#netstat-sip:15146收到的总数据包0转发0丢弃的数据包15146传递的传递数据包3885发送的请求8丢弃了8个掉落的请求,因为丢失了RouteICMP:4ICMP消息接收到0输入ICMP消息失败。ICMP输入直方图:目标无法实现:444ICMP消息发送0ICMP消息失败ICMP输出直方图:目的地无法到达:44ICMPMSG:INTYPE3:4OUTTETPE3:44TCP:44TCP:863活动连接开放式开放1个无动连接开放式连接均可接收到0连接的连接尝试1连接尝试1连接尝试1连接尝试1连接。已建立收到5021段3772段发送0段重新传输收到0坏段。858重置sentUdp:收到200个数据包收到44个到未知端口的数据包。0包接收错误246包发送0接收缓冲区错误0发送缓冲区错误UdpLite:TcpExt:1TCP套接字完成时间等待快速定时器35延迟确认发送1数据包直接排队到recvmsgprequeue。1362?packet?headers?predicted????438?acknowledgments?not?containing?data?payload?received????1160?predicted?acknowledgments????TCPRcvCoalesce:?9????TCPOrigDataSent:?1719IpExt:????InBcastPkts:?10042????InOctets:?4159848????OutOctets:?329931????InBcastOctets:?3778680????InNoECTPkts:?15150显示多播组信息[root@CentOS7-1?~]#netstat-gIPv6/IPv4组MembershipsInterfaceRefCnt组---------------------------------------------lo1all-systems.mcast.netens331all-systems.mcast.mcast.netlo1ff02::1lo1ff01::odens331ff02::1:ff4e:ff4e:ff4e:26b0ens331ff02::1:ff01:ff01:ff01:b5bbbens331fff021ff02ff02ff02::ff02::1ens331ff01::1每天学一个Linux命令(62):ping每天学一个Linux命令(63):route