网络分析专家论坛 netexpert's Archiver

horise 发表于 2008-8-20 14:26

请教关于wireshark显示过滤时正则表达式的使用问题

wireshark的显示过滤支持正则表达式,但是我在使用时经常得不到想要的结果,
比如:
1.在live.pcap中设置显示过滤器< udp[8:4] matches "\xfe.\x00\x00"  >,不仅过滤出来了以fe ?? 00 00开头的数据包,同行也过滤出来了以fe 29 04 04开头的数据包;
2.设置显示过滤器< udp[8:4] matches "\xfe[\x00-\xff]\x00\x00"  >,过滤器状态就显示成红色;
3.设置显示过滤器< udp[8:4] matches "\xfe\x29\x00\x00"  >,过滤器状态就显示成红色;

对于第一个问题,我想可能是这个< . >在数据包里匹配了不止一个字节,有时一个字节,有时2个(猜的);于是我改为<[\x00-\xff]>的形式,但是引出了问题2;郁闷的是问题3 是个什么原因;

horise 发表于 2008-8-20 14:33

我想问的是,正则表达式是不是仅仅适用于从一大堆字符串中,来匹配目标字符串?
如果是这样,那么进行数据包的过滤时,因为数据都是原始的二进制数,或者说大部分数据都不是字符,诸位有什么好的方法吗?

olo 发表于 2008-8-28 01:01

udp[8:4] matches "\\xfe[\\x00-\\xff]\\x00\\x00"
你要的应该是这样
加个转义符\,当\x**是一个特殊符号时,如\x29是),正则表达式当然不成立了,需要加个转义符。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.