• Linux如何查看端口状态


    查看并发状态 

    # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    这条语句返回结果如下
    LAST_ACK 5
    SYN_RECV 30 
    ESTABLISHED 1597
    FIN_WAIT1 51
    FIN_WAIT2 504
    TIME_WAIT 1057
    其中的SYN_RECV表示正在等待处理的请求 数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。

    查看mysql连接

    #netstat -anp | grep mysql | wc -l


    netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key," ",state[key]}' 
    会得到类似下面的结果,具体数字会有所不同:

    LAST_ACK 1
    SYN_RECV 14
    ESTABLISHED 79
    FIN_WAIT1 28
    FIN_WAIT2 3
    CLOSING 5
    TIME_WAIT 1669
    状态:描述
    CLOSED:无连接是活动的或正在进行
    LISTEN:服务器在等待进入呼叫
    SYN_RECV:一个连接请求已经到达,等待确认
    SYN_SENT:应用已经开始,打开一个连接
    ESTABLISHED:正常数据传输状态
    FIN_WAIT1:应用说它已经完成
    FIN_WAIT2:另一边已同意释放
    ITMED_WAIT:等待所有分组死掉
    CLOSING:两边同时尝试关闭
    TIME_WAIT:另一边已初始化一个释放
    LAST_ACK:等待所有分组死掉

    也就是说,这条命令可以把当前系统的网络连接状态分类汇总。

    查看TIME_WAIT连接数
    netstat -ae|grep "TIME_WAIT" |wc -l 

    netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key," ",state[key]}' 

    查找较多time_wait连接
    netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20


    netstat + awk 查询连接数两种方法,意义相同
    1:netstat -pnt | awk '/^tcp/{print $5}' | cut -d: -f 1 | sort -n |uniq -c
    2:netstat -pnt | awk '/^tcp/{s=split($5,N,":");A[N[s-1]]++} END{ for (k in A) print k,A[k]}'

    Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

    netstat -ntlp

    netstat -anp | grep 3306  #查看某一端口的连接客户端IP 比如3306端口

    netstat -an #查看网络端口 

    netstat -ae |grep mysql 

    lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 

    netstat -i -e 显示主机上每个网络接口的配置和状态

    netstat -lp 标识正在监听的网络服务

    netstat -rn  检查路由表

    netstat -s 查看各种网络协议运行的统计信息


    netstat -tln 用来查看linux的端口使用情况
    netstat --ip -an

    Linux查看端口及服务 
      # netstat -tulpn 
      或者是
      # netstat -npl

    参  数: 

      -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”参数相同

     
    服务端,端口的状态变化

    先在本机(IP地址为:192.168.1.10)配置FTP服务,然后在其它计算机(IP地址为:192.168.1.1)访问FTP服务,从TCPView看看端口的状态变化。

    下面黑体字显示的是从TCPView中截取的部分。

    1、LISTENING状态

    FTP服务启动后首先处于侦听(LISTENING)状态。

    State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。 就像你房子的门已经敞开的,但还没有人进来。

    从TCPView可以看出本机开放FTP的情况。它的意思是:程序inetinfo.exe开放了21端口,FTP默认的端口为21,可见在本机开放了FTP服务。目前正处于侦听状态。

    inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING 

    2、ESTABLISHED状态

    现在从192.168.1.1这台计算机访问一下192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为ESTABLISHED。

    ESTABLISHED的意思是建立连接。表示两台机器正在通信 。

    下面显示的是本机的FTP服务正在被192.168.1.1这台计算机访问。

    inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED 

    注意:处于ESTABLISHED状态的连接一定要格外注意,因为它也许不是个正常连接。后面我们要讲到这个问题。

    3、 TIME_WAIT状态

    现在从192.168.1.1这台计算机结束访问192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为TIME_WAIT。 

    TIME_WAIT的意思是结束了这次连接。说明21端口曾经有过访问,但访问结束了。

    [System Process]:0 TCP 192.168.1.10:21 192.168.1.1:3009 TIME_WAIT 

    4、小技巧

    a、可以telnet一个开放的端口,来观察该端口的变化。 比如看1025端口是开放的,在命令状态(如图1运行cmd)运行:

    telnet 192.168.1.10 1025

    b、从本机也可以测试,只不过显示的是本机连本机 

    c、在Tcpview中双击连接可看出程序的位置,右键点击该连接,选择End Process即可结束该连接

     客户端,端口的状态变化

     
    ---------------------
    作者:禾斗比不来IT
    来源:CSDN
    原文:https://blog.csdn.net/river131/article/details/53404518
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Python深拷贝和浅拷贝解析
    python中count函数的用法
    Jenkins + gitlab + maven 自动打包部署项目
    nio和bio得区别
    nginx负载均衡的5种策略
    接口测试常见bug
    接口自动化面试4
    pass 语句
    if 语句
    while循环
  • 原文地址:https://www.cnblogs.com/zgq123456/p/9885165.html
Copyright © 2020-2023  润新知