Linux下怎么统计局域网流量

发布时间:2022-01-25 10:43:05 作者:小新
来源:亿速云 阅读:151

小编给大家分享一下Linux下怎么统计局域网流量,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1:统计10.86.0.0/16网段的内网流量情况

将下面脚本保存成文件traffic-lan.sh(运行后需要等待10秒抓包)

 tcpdump -nqt src net 10.86.0.0/16 and dst net ! 10.86.0.0/16 \
 > /tmp/tcpdump_temp 2>&1 &
 sleep 10
 kill `ps aux | grep tcpdump | grep -v grep | awk '{print $2}'`
 #awk '{s[$2] += $6}END{ for(i in s){  print i, s[i] } }' /tmp/tcpdump_temp
 cat /tmp/tcpdump_temp|grep 'IP ' \
 |awk -F'[. ]' '{s[$2"."$3"."$4"."$5]+=$14}END{for(i in s){print i"\t"s[i]}}' \
 |sort -n -r -k 2

2:统计到外网IP的流量情况

将下面脚本保存成文件traffic-wan.sh(运行后需要等待10秒抓包)

 tcpdump -nqt src net 10.86.0.0/16 and dst net ! 10.86.0.0/16 \
 > /tmp/tcpdump_temp 2>&1 &
 sleep 10
 kill `ps aux | grep tcpdump | grep -v grep | awk '{print $2}'`
 #awk '{s[$2] += $6}END{ for(i in s){  print i, s[i] } }' /tmp/tcpdump_temp
 cat /tmp/tcpdump_temp|grep 'IP ' \
 |awk -F'[. ]' '{s[$8"."$9"."$10"."$11]+=$14}END{for(i in s){if(s[i]>0)print i"\t"s[i] fi}}' \
 |sort -n -r -k 2

3:可以统计UDP的改进版本

 tcpdump -i ens3 -nqt src net 10.86.0.0/16 and dst net ! 10.86.0.0/16\
 |sed 's/.[0-9]\+\s>//g'|sed 's/.[0-9]\+://g'\
 |sed 's/, length//g'\
 > /tmp/tcpdump_temp 2>&1 &
 sleep 5
 kill `ps aux | grep tcpdump | grep -v grep | awk '{print $2}'`
 cat /tmp/tcpdump_temp\
 |awk '{s[$3]+=$5}END{for(i in s){if(s[i]>0)print i"\t"s[i] fi}}'\
 |sort -n -r -k 2
 echo "finish."

4:后来发现iftop也可以完成类似功能

 iftop -o destination -t -s 1 -L 10

5:找出发出流量最大的

 iftop -nNP -o destination -t -s 3 -L 1

看完了这篇文章,相信你对“Linux下怎么统计局域网流量”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. Linux进程网络流量统计的实现过程
  2. Linux下如何对端口流量进行统计

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:Linux下怎样设置redis开机自启

下一篇:Linux下怎么查看CPU信息

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》