zoukankan      html  css  js  c++  java
  • Linux netstat 命令

    1. netstat命令用于显示系统的网络信息,包括网络连接 、路由表 、接口状态
    2. 一般我们使用 netstat 来查看本机开启了哪些端口,查看有哪些客户端连接

    常见用法如下:

    [root@localhost ~]$ yum install -y net-tools    # 安装netstat命令
    [root@localhost ~]$ netstat -anp      # 查看所有协议的连接
    [root@localhost ~]$ netstat -tunlp    # 查看开启的进程和端口
    [root@localhost ~]$ netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c| sort -rn | head    # 统计每个IP的连接数
    [root@localhost ~]$ netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key, "	", sta[key]}'          # 统计每个连接状态的数量(主要看ESTABLISHED状态的连接,这种状态表示正在与服务器通信)

    命令参数:

    -r        # 显示路由表
    -p        # 显示进程ID和程序名
    -s        # 显示每个协议的统计信息
    -t        # 显示使用TCP协议端口的连接
    -u        # 显示使用UDP协议端口的连接
    -l        # 仅显示监听(listen)状态的连接
    -i        # 显示网络接口列表,也就是网卡列表
    -a        # 显示所有协议的连接,如:TCP、UDP、UNIX、IP、ICMP
    -n        # 以数字形式显示主机名,如localhost显示成127.0.0.1
    -c        # 指定每隔几秒刷新一次网络状态,如 netstat -c 3 表示每隔3秒执行一次netstat命令
    --help    # 查看命令帮助

    命令输出详解:

    [root@localhost ~]$ netstat -tunlp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      4735/sshd           
    udp        0      0 0.0.0.0:68              0.0.0.0:*                           777/dhclient        
    udp        0      0 172.16.0.7:123          0.0.0.0:*                           2642/ntpd           
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           2642/ntpd           
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           2642/ntpd           
    udp6       0      0 :::123                  :::*                                2642/ntpd      
    
    # Proto:网络连接的协议,一般是tcp和udp
    # Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走
    # Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,不具备ACK标志的数据包
    # Local Address:表示本机监听的IP地址和端口号
    # Foreign Address:表示要连接的远程主机IP地址和端口号
    # State:连接状态,常见的状态如下
    # - LISTEN:监听状态,只有TCP协议需要监听,UDP协议不需要监听
    # - ESTABLISHED:已经建立连接的状态
    # - SYN_SENT:主动发起连接的数据包
    # - SYN_RECV:接收到主动连接的数据包
    # - FIN_WAIT1:正在中断的连接
    # - FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认
    # - TIME_WAIT:一个刚被终止的连接,它只持续1至2分钟,然后就会变成LISTEN状态
    # - CLOSED:套接字没有被使用
    # PID/Program name:进程ID和程序名

          

  • 相关阅读:
    C#如何给Listbox添加右键菜单
    [GraphQL] Query Lists of Multiple Types using a Union in GraphQL
    [GraphQL] Query GraphQL Interface Types in GraphQL Playground
    [GraphQL] Reuse GraphQL Selection Sets with Fragments
    [Dart] final vs const
    [GraphQL] Set variable and default value & alias
    [置顶] 【Git入门之十一】标签管理
    poj 3182 The Grove bfs
    hdu1166敌兵布阵
    <WinForm_1>初识WinForm编程
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10172849.html
Copyright © 2011-2022 走看看