• centos7 netstat命令使用场景 杂记


    查看tcp连接数状态

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

     

    统计8080端口上有多少个TCP连接,命令:

    netstat –nat | grep 8080 | wc –l



    TCP连接中有多少个连接状态是ESTABLISHED,命令:

    netstat –nat | grep 8080 | grep ESTABLISHED| wc -l



    TCP连接中有多少个连接状态是CLOSE_WAIT

    netstat –nat | grep 8080 | grep CLOSE_WAIT| wc -l



    TCP连接中有多少个连接状态是TIME_WAIT

    netstat –nat | grep 8080 | grep TIME_WAIT| wc -l



    使用awk来完成统计信息,命令如下

    netstat –nat | grep 8080 | awk ‘{++S[$NF]} END {for (a in S) print a, S[a]}’

    列出所有连接服务器的ip

    下列是一个Unix命令,用来列出所有连接到主机80端口的IP地址。

    netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
    

    输出 - 全部按IP连接数从高到低排列

    97 114.198.236.100
    56 67.166.157.194
    44 170.248.43.76
    38 141.0.9.20
    37 49.248.0.2
    37 153.100.131.12
    31 223.62.169.73
    30 65.248.100.253
    29 203.112.82.128
    29 182.19.66.187
    

    注:
    This command is useful to detect if your server is under attack, and null route those IPs. Read this null route attacker IP story.

    下面来把这个有点长的命令打散:

    1. netstat -tn 2>/dev/null

    用 netstat 列出所有网络连接,包括进和出。

    1. -n -只显示数字(IP地址和端口),不解析成名字。
    2. -t -只显示TCP连接。

    输出

    #Examples - 7 connections
    tcp        0      0 64.91.*.*:80            114.198.236.100:12763       TIME_WAIT
    tcp        0      0 64.91.*.*:80            175.136.226.244:51950       TIME_WAIT
    tcp        0      0 64.91.*.*:80            175.136.226.244:51951       TIME_WAIT
    tcp        0      0 64.91.*.*:23            202.127.210.2:14517         TIME_WAIT
    tcp        0      0 64.91.*.*:80            149.238.193.121:65268       TIME_WAIT
    tcp        0      0 64.91.*.*:80            114.198.236.100:44088       ESTABLISHED
    tcp        0      0 64.91.*.*:80            175.136.226.244:51952       TIME_WAIT
    

    2>/dev/null
    重定位所有不必要的输出流到/dev/null——一个专门用来获取并清空所有输出流的地方。(译注:2是标准错误输出,这段命令用来隐藏所有错误信息。)

    2. grep :80

    只显示连接到主机80端口的IP地址。

    tcp        0      0 64.91.*.*:80            114.198.236.100:12763       TIME_WAIT
    tcp        0      0 64.91.*.*:80            175.136.226.244:51950       TIME_WAIT
    tcp        0      0 64.91.*.*:80            175.136.226.244:51951       TIME_WAIT
    tcp        0      0 64.91.*.*:80            149.238.193.121:65268       TIME_WAIT
    tcp        0      0 64.91.*.*:80            114.198.236.100:44088       ESTABLISHED
    tcp        0      0 64.91.*.*:80            175.136.226.244:51952       TIME_WAIT
    

    3. awk ‘{print $5}’

    使用 awk 来只显示第5列的内容。

    114.198.236.100:12763
    175.136.226.244:51950
    175.136.226.244:51951
    149.238.193.121:65268
    114.198.236.100:44088
    175.136.226.244:51952
    

    4. cut -d: -f1

    使用 cut 来抽取内容。

    1. -d – 在-d选项后面紧挨着的文字将作为分隔符,默认是tab。
    2. -f – 指定显示用分隔符进行分割后的列
    114.198.236.100
    175.136.226.244
    175.136.226.244
    149.238.193.121
    114.198.236.100
    175.136.226.244
    

    5. sort | uniq -c | sort -nr

    对列表进行排序,分组然后再次倒序排序。

    sort

    114.198.236.100
    114.198.236.100
    149.238.193.121
    175.136.226.244
    175.136.226.244
    175.136.226.244
    

    uniq -c – 分组。

    2 114.198.236.100
    1 149.238.193.121
    3 175.136.226.244
    

    sort -nr – 按数字倒序排列(大数在前)。

    3 175.136.226.244
    2 114.198.236.100
    1 149.238.193.121
    

    完成。

    6. head

    这是个可选项,用来显示前10个结果。

  • 相关阅读:
    将博客搬至CSDN
    smarty不渲染html页面
    开篇
    html的入门——从标签开始(1)
    java内部编码
    用base64Encoder进行编码 和base64Decoder解码
    序列化和反序列化
    HttpServletResponse类
    配置Tomcat服务器数据连接池
    SVN修改地址
  • 原文地址:https://www.cnblogs.com/augusite/p/13204496.html
Copyright © 2020-2023  润新知