- 论坛徽章:
- 0
|
各位有兴趣,我可以多说一点。
LZ所说的这个格式有一个业界标准,称作bpf (Berkeley Packet Filter)包过滤语言。现在有很多抓包工具支持这个标准。包扩ethereal的capture filter, 注意不是displayfilter, 因为ethereal的display filter 使用了近似于C/C++表达式的另一套自己的表达方式。
其实,如果各位使用过libpcap的,就知道,所有的libpcap都需要snaplen 这个参数设定才能抓到整个的包数据。那如果不熟悉C/C++怎么办?,没关系那也可以结合tcpdump -xls 0 命令行加管道导向到Awk的程序来自己解析IP数据包并分析应用层的数据。如果用tcpdump+Perl的话,更可以经过简单的包数据重构,方便地组成NetPacket模块能自动识别的包数据,让现成的NetPacket模块自动解析和分析底层的IP和TCP/UDP层数据包。而你则只要懂得gawk/nawk或Perl就可以简单的自己编程来解析非标的应用层的数据了。注意,这里我并没有使用perl 的libpcap兼容模块,而是直接用tcpdump替代了。这样对Perl模块的要求降得比较低了,如果遇到非标的协议,就是不会C/C++, 没装抓包的perl模块,也可以通过自己编程来解析数剧包了! |
|