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

    谢谢大家

  • 相关阅读:
    [总结]FFMPEG视音频编解码零基础学习方法--转
    ffmpeg中swscale 的用法
    FFmpeg解码H264及swscale缩放详解
    C++: std::string 与 Unicode 如何结合?
    SpringBoot-@RequestParam
    SpringBoot --web 应用开发之文件上传
    Java并发编程:线程池的使用
    Executor线程池的最佳线程数量计算
    并发下线程池的最佳数量计算
    根据CPU核心数确定线程池并发线程数
  • 原文地址:https://www.cnblogs.com/faberbeta/p/12981880.html
Copyright © 2011-2022 走看看