良许Linux教程网 干货合集 Linux下如何统计局域网流量

Linux下如何统计局域网流量

Linux系统怎样统计局域网流量?下面和大家分享一下Linux统计局域网留言的方法, 本文实操记录、绝无水文,如有遗漏或错误欢迎指正。

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系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部