zoukankan      html  css  js  c++  java
  • Linux netstat用法

    常见参数

    -a (all)显示所有选项,默认不显示LISTEN相关
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -l 仅列出有在 Listen (监听) 的服務状态

    -p 显示建立相关链接的程序名
    -r 显示路由信息,路由表
    -e 显示扩展信息,例如uid等
    -s 按各个协议进行统计
    -c 每隔一个固定时间,执行该netstat命令。

    提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

    常用命令

    1)统计不同类型的tcp connection
    netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print S[a],a}'|sort -rn
    
    2)只看ESTABLISH的数量
    netstat -an | awk '/ESTABLISHED/ {S[$NF]++} END {for(a in S) print S[a]}'
    netstat -an|awk '/ESTABLISHED/ {print $6}'|sort|uniq -c
    
    3)只看time wait数量
    netstat -an|awk '/TIME_WAIT/ {print $6}'|sort|uniq -c
    
    4)看前20的tcp相关的 IP数量
    netstat -an |grep 'ESTABLISHED' |awk '{print $5}'|awk -F ':' '{print $1}'|sort|uniq -c|sort -rn|head -20
    netstat -n|awk '/^tcp/ {print $5}'|awk -F : '{print $1}'|awk '{print $1}'|sort|uniq -c|sort -rn|head -20
    或用下面这个性能更好的方法
    awk 'BEGIN{while("netstat -an"|getline){if( $5 ~ /[1-255]/){split($5,t1,":");tarr[t1[1]]++;}}for(k in tarr){print tarr[k],k | "sort -rn";}};'|head -20

    一个简单 for  loop 观察链接数变化,以及链接数前20的IP

    while true;do uptime;netstat -an | awk '/ESTABLISHED/ {S[$NF]++} END {for(a in S) print S[a]}';awk 'BEGIN{while("netstat -an"|getline){if( $5 ~ /[1-255]/){split($5,t1,":");tarr[t1[1]]++;}}for(k in tarr){print tarr[k],k | "sort -rn";}};'|head -20;sleep 20;done

    谢谢大家

  • 相关阅读:
    (14)模板的导入和继承
    (13)自定意义标签和过滤器 (templatetags)
    (12)模板语言-with
    (11)模板语言-if判断
    (0)diango、ORM的语法
    python修炼12 -----协程
    python 修炼11 ----------线程进程
    线程 进程 定义
    Python基础之面向对象进阶
    Python ---------copy
  • 原文地址:https://www.cnblogs.com/faberbeta/p/12981880.html
Copyright © 2011-2022 走看看