netstat(英文全拼:network statistics)命令主要功能是用来查看各种网络的相关信息、连接状态、路由表信息、接口状态、伪装连接、网络链路信息和组播成员组等。
语法:netstat [参数]
参数说明:
-a或--all:显示所有连线中的Socket。
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址。
-c或--continuous:持续列出网络状态。
-C或--cache:显示路由器配置的快取信息。
-e或--extend:显示网络其他相关信息。
-F或--fib:显示路由缓存。
-g或--groups:显示多重广播功能群组组员名单。
-h或--help:在线帮助。
-i或--interfaces:显示网络界面信息表单。
-l或--listening:显示监控中的服务器的Socket。
-M或--masquerade:显示伪装的网络连线。
-n或--numeric:直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称。
-o或--timers:显示计时器。
-p或--programs:显示正在使用Socket的程序识别码和程序名称。
-r或--route:显示Routing Table。
-s或--statistics:显示网络工作信息统计表。
-t或--tcp:显示TCP传输协议的连线状况。
-u或--udp:显示UDP传输协议的连线状况。
-v或--verbose:显示指令执行过程。
-V或--version:显示版本信息。
-w或--raw:显示RAW传输协议的连线状况。
-x或--unix:此参数的效果和指定"-A unix"参数相同。
--ip或--inet:此参数的效果和指定"-A inet"参数相同。
[root@CentOS7 ~]# netstat -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:x11 0.0.0.0:* LISTENtcp 0 0 CentOS7.6:domain 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTENtcp 0 0 localhost:ipp 0.0.0.0:* LISTENtcp 0 0 CentOS7.6:ssh 192.168.20.2:52694 ESTABLISHED*********************省略部分内容输出*********************
[root@CentOS7 ~]# netstat -nu Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Stateudp 0 0 192.168.10.10:68 192.168.10.20:67 ESTABLISHED
如果在查udp连接信息时,有可能不会查出任何信息,这是因为没有udp的连接造成。
3、查看tcp的连接端口使用情况
[root@CentOS7 ~]# netstat -aptActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN 1/systemdtcp 0 0 0.0.0.0:x11 0.0.0.0:* LISTEN 4942/Xtcp 0 0 bogon:domain 0.0.0.0:* LISTEN 4735/dnsmasqtcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 4282/sshdtcp 0 0 localhost:ipp 0.0.0.0:* LISTEN 4283/cupsd*********************省略部分内容输出*********************
查看udp的端口连接的使用情况时,把“t”换成“u”即可。
4、查看网卡的当前状态信息
[root@CentOS7 ~]# netstat -iKernel Interface tableIface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flgeth0 1500 1095 0 0 0 585 0 0 0 BMRUeth1 1500 3461 0 0 0 1695 0 0 0 BMRUlo 65536 442 0 0 0 442 0 0 0 LRUvirbr0 1500 0 0 0 0 0 0 0 0 BMU
[root@CentOS7 ~]# netstat -gIPv6/IPv4 Group MembershipsInterface RefCnt Group--------------- ------ ---------------------lo 1 all-systems.mcast.neteth0 1 mdns.mcast.neteth0 1 all-systems.mcast.neteth1 1 mdns.mcast.neteth1 1 all-systems.mcast.netvirbr0 1 mdns.mcast.netvirbr0 1 all-systems.mcast.netlo 1 ff02::1lo 1 ff01::1eth0 1 ff02::1:fff9:1a25eth0 1 ff02::1:ff7d:c09beth0 1 ff02::1eth0 1 ff01::1eth1 1 ff02::1:ff23:5c09eth1 1 ff02::1:ff9c:aaedeth1 1 ff02::1*********************省略部分内容输出*********************
[root@CentOS7 ~]# netstat -sIp: 4224 total packets received 0 forwarded 0 incoming packets discarded 3949 incoming packets delivered 2315 requests sent out 39 outgoing packets dropped 65 dropped because of missing routeIcmp: 86 ICMP messages received 0 input ICMP message failed. ICMP input histogram: destination unreachable: 86 86 ICMP messages sent 0 ICMP messages failed ICMP output histogram: destination unreachable: 86IcmpMsg: InType3: 86 OutType3: 86Tcp: 6 active connections openings11 passive connection openings*********************省略部分内容输出*********************
[root@CentOS7 ~]# netstat -lActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:x11 0.0.0.0:* LISTENtcp 0 0 bogon:domain 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTENtcp 0 0 localhost:ipp 0.0.0.0:* LISTEN*********************省略部分内容输出*********************
root@CentOS7 ~]# netstat -rKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Ifacedefault prl-local-ns-se 0.0.0.0 UG 00 0 eth1default prl-local-ns-se 0.0.0.0 UG 00 0 eth010.211.55.0 0.0.0.0 255.255.255.0 U 00 0 eth0192.168.20.0 0.0.0.0 255.255.255.0 U 00 0 eth1192.168.122.0 0.0.0.0 255.255.255.0 U 00 0 virbr0
如上图标红部分所示,每列的输出内容都代表什么意思。以下内容为此做出了简单解释:
Proto:协议名称,如:tcp协议/udp协议。
Recv-Q:网络接收队列,接收缓冲区中未被应用程序读取的数据量(字节),如果持续很高,可能是应用处理缓慢。
Send-Q:网络发送队列,发送缓冲区中未被远程主机确认的数据量(字节),如果持续很高,可能是网络拥塞或远程主机处理缓慢。
Local Address:本地地址,以是本地地址+端口的形出现,格式为:ip:port。其中0.0.0.0或::代表监听所有可用网络接口,127.0.0.1或::1代表仅限本地回环地址。
Foreign Address:外部地址,远程主机的IP地址和端口号,对于监听的端口(LISTEN状态),通常显示为0.0.0.0:*或*:*。对于已经建立的连接,显示为实际的远程主机IP地址和端口。
State:状态,TCP连接的列有此内容,UDP通常显示空或UNCONN。
常见的状态如下:
LISTEN:正在监听的端口,等待连接。
ESTABLISHED:连接已建立,正在传输数据。
TIME_WAIT:连接已关闭,等待清理。
CLOSE_WAIT:远程端已关闭,本地等待关闭。
SYN_SENT:正在尝试建立连接。
FIN_WAIT1/2:连接正在关闭过程中。