【Linux常用命令速查手册】关注【入门小站】,后盾回复 「1001」 自取。
netstat命令用于显示与IP、TCP、UDP和ICMP协定相干的统计数据,个别用于测验本机各端口的网络连接状况。netstat是在内核中拜访网络及相干信息的程序,它能提供TCP连贯,TCP和UDP监听,过程内存治理的相干报告。
TCP连贯状态详解
- LISTEN: 侦听来自远方的TCP端口的连贯申请
- SYN-SENT: 再发送连贯申请后期待匹配的连贯申请
- SYN-RECEIVED:再收到和发送一个连贯申请后期待对方对连贯申请的确认
- ESTABLISHED: 代表一个关上的连贯
- FIN-WAIT-1: 期待近程TCP连贯中断请求,或先前的连贯中断请求的确认
- FIN-WAIT-2: 从近程TCP期待连贯中断请求
- CLOSE-WAIT: 期待从本地用户发来的连贯中断请求
- CLOSING: 期待近程TCP对连贯中断的确认
- LAST-ACK: 期待原来的发向近程TCP的连贯中断请求的确认
- TIME-WAIT: 期待足够的工夫以确保近程TCP接管到连贯中断请求的确认
- CLOSED: 没有任何连贯状态
命令格局
netstat(选项)
命令选项
- -a或--all:显示所有连线中的Socket;
- -A<网络类型>或--<网络类型>:列出该网络类型连线中的相干地址;
- -c或--continuous:继续列出网络状态;
- -C或--cache:显示路由器配置的快取信息;
- -e或--extend:显示网络其余相干信息;
- -F或--fib:显示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或--statistice:显示网络工作信息统计表;
- -t或--tcp:显示TCP传输协定的连线情况;
- -u或--udp:显示UDP传输协定的连线情况;
- -v或--verbose:显示指令执行过程;
- -V或--version:显示版本信息;
- -w或--raw:显示RAW传输协定的连线情况;
- -x或--unix:此参数的成果和指定"-A unix"参数雷同;
- --ip或--inet:此参数的成果和指定"-A inet"参数雷同。
列出所有端口(蕴含TCP和UDP)
> netstat -a
列出所有TCP端口
> netstat -at
列出所有UDP端口
> netstat -au
列出所有处于监听状态的 Sockets
> netstat -l
只列出所有监听tcp端口
> netstat -lt
只列出所有监听udp端口
> netstat -lu
只列出所有监听UNIX端口
> netstat -lx
显示所有端口的统计信息
> netstat -sIp: 1007495197 total packets received 0 forwarded 582 with unknown protocol 0 incoming packets discarded 1007422115 incoming packets deliveredIcmp: 66583265 ICMP messages received 63899 input ICMP message failed. InCsumErrors: 384 ICMP input histogram: destination unreachable: 115410 timeout in transit: 12840 source quenches: 11 redirects: 563 echo requests: 66453453 echo replies: 152 timestamp request: 438 address mask request: 4 66987000 ICMP messages sent 0 ICMP messages failed ICMP output histogram: destination unreachable: 533106 echo request: 4 echo replies: 66453453 timestamp replies: 437IcmpMsg: InType0: 152 InType3: 115410 InType4: 11 InType5: 563IpExt: InNoRoutes: 15 InMcastPkts: 1291307 InOctets: 211446050816 OutOctets: 481070069194
显示TCP端口的统计信息
> netstat -stIcmpMsg: InType0: 152 InType3: 115410 InType4: 11 InType5: 563 InType8: 66453492Tcp: 55437641 active connections openings 35899081 passive connection openings 552243 failed connection attempts 753118 connection resets received 7 connections establishedUdpLite:TcpExt: 162052 SYN cookies sent 621 SYN cookies received 4998179 invalid SYN cookies received 551915 resets received for embryonic SYN_RECV socketsIpExt: InNoRoutes: 15 InMcastPkts: 1291308 InOctets: 211446303015 OutOctets: 481070459735 InMcastOctets: 46487088
显示UDP端口的统计信息
> netstat -suIcmpMsg: InType0: 152 InType3: 115410 InType4: 11 InType5: 563 InType8: 66453594 InType11: 12840 InType13: 438 InType17: 4 InType37: 3 InType165: 7 OutType0: 66453594 OutType3: 533106 OutType8: 4 OutType14: 437Udp: 17941589 packets received 637146 packets to unknown port received. 1649 packet receive errors 17977050 packets sent 0 receive buffer errors 0 send buffer errors InCsumErrors: 1640UdpLite:IpExt: InNoRoutes: 15 InMcastPkts: 1291310 InOctets: 211446802283 OutOctets: 481071405083 InMcastOctets: 46487160 InNoECTPkts: 1009629627 InECT1Pkts: 9955 InECT0Pkts: 1987096 InCEPkts: 94039
在netstat输入中显示 PID 和过程名称
> netstat -pt
在netstat输入中不显示主机,端口和用户名(host, port or user)
> netstat -an
继续输入netstat信息
每隔一秒输入网络信息
> netstat -c
显示外围路由信息
> netstat -rKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Ifacedefault gateway 0.0.0.0 UG 0 0 0 eth0link-local 0.0.0.0 255.255.0.0 U 0 0 0 eth0172.16.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
应用netstat -rn显示数字格局,不查问主机名称。
> netstat -rnKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0172.16.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
找出程序运行的端口
> netstat -tunlp | grep sshtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4400/sshd
找出运行在指定端口的过程
> netstat -an | grep ":80"tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTENtcp 0 0 172.16.0.9:80 185.191.171.12:9380 TIME_WAITtcp 0 0 172.16.0.9:80 185.191.171.26:52418 TIME_WAITtcp 0 3450 172.16.0.9:80 185.191.171.37:25108 FIN_WAIT1tcp 0 0 172.16.0.9:80 185.191.171.37:55096 TIME_WAITtcp 0 0 172.16.0.9:80 144.76.176.171:27832 TIME_WAITtcp 0 0 172.16.0.9:80 118.126.124.7:11127 TIME_WAITtcp 0 0 172.16.0.9:46628 169.254.0.55:8080 TIME_WAITtcp 0 0 172.16.0.9:80 144.76.176.171:23812 ESTABLISHED
通过端口找过程ID
> netstat -tunlp | grep 80 | awk '{print $7}' | cut -d/ -f121323
显示网络接口列表
> netstat -i
Kernel Interface tableIface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flgdocker0 1500 0 0 0 0 0 0 0 0 BMUeth0 1450 462305568 0 0 0 276046945 0 0 0 BMRUlo 65536 7204971 0 0 0 7204971 0 0 0 LRUvpn_abi 1500 229612389 0 1023383 0 146640133 0 956 0 BMRU
统计TCP各种状态列表
> netstat -n | awk '/^tcp/{++S[$NF]}END{for(i in S) print i,S[i]}'ESTABLISHED 7FIN_WAIT2 13TIME_WAIT 18
原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站
【Linux常用命令速查手册】关注【入门小站】,后盾回复 「1001」 自取。