来源于InfoQ:
Yahoo最近在其开发者博客上发布了一款开源网络分析工具TCP Traffic Analyzer(yconalyzer),读者可以借此分析网络应用在服务器端与客户端之间的运行状态。
TCP Traffic Analyzer的几个显著分析功能包括:
- 持续时间超过(或者小于)某阈值的TCP 连接数。
- 尝试次数超过N次才成功的TCP连接数。
- TCP连接持续时间和吞吐量的分布情况。
- 数据包超过N字节的TCP连接分布情况。
- 持续时间在特定阈值内的IP地址和端口分 布情况。
Yahoo公司内部使用yconalyzer分析来自世界各地(通过HTTP、POP、IMAP和SMTP协议)的网络通信,其工作原理是利用开源libpcap包从网络驱动中抓取数据包, 并通过限制数据过滤条件来最小化系统资源(如CPU)的消耗,使该监控软件不会影响真正的网络应用。
Yconalyzer保持与tcpdump兼容,两者生成的抓取文件能够彼此识别和分析。 Yconalyzer支持tcpdump的所有过滤条件,并适用于TCP协议之上的所有网络协议,如HTTP、SMTP、POP、IMAP等等。
Yconalyzer使用起来非常简便,只需通过命令行操作,如抓取300秒内80端口的数据包保存到到http.pcap文件,命令如下:
yconalyzer -p 80 -w http.pcap -t 300
在抓取完数据之后,开发人员可以通过tcpdump或者yconalyzer分析TCP数据包,命令如下:
yconalyzer -p 80 -r http.pcap
Yconalyzer会根据不同的选项显示出不同的分析结果,如图1所示。
图
1.按照吞吐量分类(来源:sourceforge)
感兴趣的读者可以通过TCP Traffic Analyzer(yconalyzer)的官方站点了解并下载试用。