zoukankan      html  css  js  c++  java
  • netstat

    netstat是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。在CentOS 7.x中netstat命令默认没有安装,如果需要使用,需要安装net-snmp和net-tools软件包。

    功能:输出网络连接、路由表、接口统计、伪装连接和组播成员

    常用参数

      -a        列出所有网络状态,包括Socket程序 
      -t (TCP)    显示使用TCP协议端口的连接状况
      -u (UDP)  显示使用UDP协议端口的连接状况
      -n        使用IP地址和端口号显示,不使用域名与服务名 
      -l         仅显示监听状态的连接 
      -p        显示PID和程序名
      -r         显示路由表
      -e        显示扩展信息,例如uid等
      -s        按各个协议进行统计
      -c 秒数     指定每隔几秒刷新一次网络状态
     
    查看本机开启的端口
     
    最常用的方式,使用选项“-tuln”。 因为使用了“-l”选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接
     
     

     这个命令的输出较多。

      Proto:网络连接的协议,一般就是TCP协议或者UDP协议。

      Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走。

      Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,一般是不具备ACK标志的数据包。

      Local Address:本机的IP地址和端口号。

      Foreign Address:远程主机的IP地址和端口号。

      State:状态。常见的状态主要有以下几种。

        -LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听。

        -ESTABLISHED:已经建立连接的状态。如果使用“-l”选项, 则看不到已经建立连接的状态。

        -SYN_SENT:SYN发起包,就是主动发起连接的数据包。

        -SYN_RECV:接收到主动连接的数据包。

        - FIN_WAIT1:正在中断的连接。

        - FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认。

        - TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束。

        - CLOSED:套接字没有被使用。

    在这些状态中,我们最常用的就是LISTEN和ESTABLISHED状态,一种代表正在监听,另一种代表已经建立连接。

    查看本机有哪些程序开启的端口

    使用“-p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的PID

    查看所有连接

     使用选项“-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socket程序连接等。因为连接较多,所以输出的内容有很多。

    由于该命令输出内容较多,例子省略。

    从“Active UNIX domain sockets”开始,之后的内容就是Socket程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在“-an”选项的 输出中看到各种网络连接状态,而之前的“-tuln”选项则只能看到监听状态

  • 相关阅读:
    Python基础(6)--条件、循环
    sql中limit和汇总函数的集合使用
    mysql查看表结构
    Axure RP Extension for Chrome
    安装android studio报错Failed to install Intel HAXM.
    java8 环境变量设置
    C、C++文件操作大全
    sqlite3 sqlite3_prepare、sqlite3_step使用
    C/C++获取当前系统时间
    C++ 字符串转化成浮点型
  • 原文地址:https://www.cnblogs.com/sswind/p/11772630.html
Copyright © 2011-2022 走看看