然后使用“awk ‘{print $4}‘”获取第四列的信息包括IP地址与端口号
标签:
目录:(一)netstat简介
(二)netstat语法指南
(三)实战演练
(四)netstat小结
(一)netstat简介
(1.1)在Internet的RFC标准中,netstat的界说是:netstat是在内核中访谒网络连接状态及相关信息的措施,它能供给TCP连接、在TCP和UDP监听、进程内存打点的相关呈报。netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。netstat用于显示IP、TCP、UDP和ICMP协议相关的统计数据,一般用于查验本机各端口的网路连接情况。如果你的计算机有时候接收到的数据包导致堕落数据或故障,你不必感想奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据包。但如果累积的堕落情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会呈现这些情况了。netstat命令的成果是显示网路连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。使用时如果不带参数,netstat显示勾当的TCP连接。
(1.2)我们的处事器经常会搭建网站同时会对外供给处事,很多时候我们想要监控处事器的TCP连接信息、UDP连接信息、或者盘问有几多个用户连接到我们的处事器等,每个用户成立了几多个连接,因此对我们来说不管是对处事器的流量统计,对处事器的性能优化,或者对处事器的性能统计,那么此时我们可以使用netstat命令对我们的处事器进行专门的信息统计,并且统计的网络信息也长短常全面的。
(1.3)我们输入netstat命令,在系统中显示了两列的内容,此中第一列默认列出了当前互联网的连接信息,第二列暗示的是当前UNIX的sockets的一个连接。
(二)netstat语法指南
(2.1)如果我们需要显示所有TCP连接的信息,我们可以使用“-at”参数,此中a参数暗示所有信息,t参数暗示tcp的连接,显示出来我们所有TCP监听的端口,包孕我们所连接的TCP信息。如果我们使用“-au”参数,暗示显示所有的UDP连接的信息,且我们知道UDP连接的信息是无状态的。
# netstat -at
# netstat -au
(2.2)如果我们但愿列出当前处事器中所有TCP和UDP正在监听的端口,此时我们可以使用“-l”参数,暗示列出相关切合要求的信息。好比我们此刻搭建了一个web处事,我们但愿此刻检察一下处事运行的是否正常,我们可以使用“-lt”参数检察一下当前系统的80端口是否有监听的状态。
# netstat -ltu
(2.3)如果我们需要监控我们系统实时更新的连接状态,我们可以使用“-c”参数。
# netstat -c---检察我们的系统实时更新的连接状态
(2.4)如果我们需要检察系统中TCP连接的情况,并且盘问的时候不需要逆向解析,此时我们可以使用“-tn”参数(图1-6),如果我们需要盘问当前系统所有连接的数量,可以使用“wc -l”进行统计。
# netstat -tn
# netstat -tn | wc -l
(2.5)如果我们需要盘问当前系统所有访谒我们处事器22端口的连接的统计,这样便可以非常精确的显示到端口的统计信息了。
# netstat -tn | grep 192.168.26.101:22 | wc -l
(2.6)如果我们但愿对显示的数据进行排序统计,我们使用“-tunl”此中t代表的TCP、u代表的是UDP、n代表的是直接使用IP地点不ton过域名处事器、l暗示的是显示监控中的处事器socket、p代表的是显示正在使用socket的措施识别码和措施名称,此时我们可以先使用“grep :123”获取所有为123端口的列表项,然后使用“awk ‘{print $4}‘”获取第四列的信息包孕IP地点与端标语,接着使用“awk -F":" ‘{print $1}‘”获取IP地点信息,然后使用“sort”命令进行排序,使用“uniq -c”命令进行去重,最后使用“sort -r -n”此中-n暗示凭据数字进行排序,-r暗示逆向进行排序。
注意:sort -u命令和sort | uniq -c意义不异
# netstat -tunl | grep :123 | awk ‘{print $4}‘| awk -F":" ‘{print $1}‘| sort | uniq -c | sort -r -n
(2.7)操作netstat指令可以让你知道整个Linux系统的网络状况
参数:
-a:显示所有连线中的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”参数不异
(2.8)网络连接状态详解
共有12种可能的状态,前面11种是凭据TCP连接成立的三次握手和TCP连接断开的四次握手过程来描述的。
(2.8.1)LISTEN:首先处事端需要打开一个socket进行监听,状态为LISTEN。(The socket is listening for incoming connections.)侦听来自远端TCP端口的连接请求。
(2.8.2)SYN_SENT:客户端通过应用措施挪用connect进行active open,于是客户端tco发送一个SYN以请求成立一个连接,之后状态置为SYN_SENT。(The socket is actively attempting to establish a connection.)在发送连接请求后期待匹配的连接请求。
(2.8.3)SYN_RECV:处事端应发出ACK确认客户真个SYN,同时本身向客户端发送一个SYN,之后状态置为SYN_RECV。(A connection request has been received from the network.)在收到和发送一个连接请求后期待对连接请求简直认。
(2.8.4)ESTABLISHED:代表一个打开的连接,双方可以进行或已经在数据交互了。(The socket has an established connection.)代表一个打开的连接,数据可以通报给用户。
(2.8.5)FIN_WAIT1:主动封锁(active close)端应用措施挪用close,于是其TCP发出FIN请求主动封锁连接,之后进入FIN_WAIT1状态。(The socket is closed,and the connection is shutting down,waiting for the socket to close.)期待长途TCP的连接中断请求,或先前的连接中断请求简直认。
(2.8.6)CLOSE_WAIT:被动封锁(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符通报给上层应用措施),并进入CLOSE_WAIT,(The remote end has shut down,waiting for teh socket to close.)期待从本地用户发来的连接中断请求。
(2.8.7)FIN_WAIT2:主动封锁端接收到ACK后,就进入了FIN-WAIT-2。(Connection is closed,and the socket is waiting for a shutdown from the remote end.)从长途TCP期待连接中断请求。
(2.8.8)LAST_ACK:被动封锁一段时间后,接收到文件结束符的应用措施将挪用CLOSE封锁连接。这导致它的TCP也发送一个FIN,期待对方的ACK,就进入了LAST-ACK。(The remote end has shut down,and the socket is closed,waiting for acknowledgement.)期待本来发向长途TCP的连接中断请求简直认。
(2.8.9)TIME_WAIT:在主动封锁接收到FIN后,TCP就发送ACK包,并进入到TIME-WAIT状态。(The socket is waiting after close to handle packets still in the network.)期待足够的时间以确保远端TCP接收到连接中断请求简直认。
(2.8.10)CLOSING:对照少见。(Both sockets are shut down but we still don’t have all our data sent.)期待长途TCP对连接中断简直认。
(2.8.11)CLOSED:被动封锁端在接收到ACK包后,就进入了closed的状态,连接结束。(The socket is not being used.)没有任何连接状态
(2.8.12)UNKNOWN:未知的socket状态。(The state of the socket is unknown.)
(2.9)SYN:(同步序列编号,Synchronize Sequence Numbers)该标识表记标帜仅在三次握手成立TCP连接时有效。暗示一个新的TCP连接请求。
ACK:(确认编号,Acknowledgement Number)是对TCP请求简直认标识表记标帜,同时提示对端系统已经告成接收所有数据。
FIN:(结束标识表记标帜,Finish)用来结束一个TCP会话,但对应端口仍处于开放状态,筹备接收后续数据。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33011.html