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)的官方站点了解并下载试用。
评论