Linux三剑客之awk实战——绘制TCP发送窗口流量变化曲线

最近学了学Linux的awk工具,awk是一个优良的文本处理工具,是Linux及Unix环境中现有的功能最强大的数据处理引擎之一。并用一个实例——绘制TCP发送窗口流量变化曲线来熟悉awk及其相关综合操作;
首先使用Wireshark抓包TCP连接,生成一个your.cap文件;
下图为该文件内容:
在这里插入图片描述
然后用vim编辑器创建一个your.awk文件;

vim your.awk

.awk文件编辑内容如下:

NR==1 {t0=$1;}
/20 > 192/ {ack=$9;}
/2301 > 123/ && !/length 0$/ {printf("%.6f.%d\n",$1-t0,$10-ack);}

接着使用Linux下自带的字符界面抓包工具tcptump对你的.cap文件内容进行简化;

tcpdump -ttnr yourcap | tr ',:' ' ' 

优化后的内容(去掉了 ,:)如下图:
在这里插入图片描述

再使用管道将几个命令相连接:

tcpdump -ttnr yourcap | tr ',:' ' ' | awk -f your.awk

重定向到一个.csv文件(即Windows下著名办公三件套Excel的可处理格式处理文件)里面:

tcpdump -ttnr yourcap | tr ',:' ' ' | awk -f your.awk > your.awk

最后利用Excel一键生成TCP发送窗口流量变化曲线图如下:
在这里插入图片描述
怎么样?看到这个图是不是觉得特别的亲切!

发布了21 篇原创文章 · 获赞 43 · 访问量 3652

猜你喜欢

转载自blog.csdn.net/weixin_44225901/article/details/104378261