前面我介绍过如何使用Wireshark抓取需要的数据包,但是当抓取的数据包日志越来越大的时候一行一行的看、也是一个很大的工作量、这个时候我们就需要用到显示过滤器了。
显示过滤器(DisplayFilters):在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。
捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。我之前文章里面讲解的如何抓取数据包就是用到捕捉过滤器。
那么我们应该使用哪一种过滤器呢?
两种过滤器的目的是不同的。
捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。
显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。
显示过滤器
|
语法: |
Protocol |
. |
String 1 |
. |
String 2 |
Comparison |
Value |
Logical |
Other |
|
例子: |
ftp |
passive |
ip |
== |
10.2.3.4 |
xor |
icmp.type |
例子:
|
snmp || dns || icmp |
显示SNMP或DNS或ICMP封包。 |
|
ip.addr == 192.168.10.10 |
显示来源或目的IP地址为192.168.10.10的封包。
|
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 |
显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;目的IP:任意
以及
来源IP:任意;目的IP:除了10.4.5.6以外任意
|
ip.src != 10.1.2.3 and ip.dst != 10.4.5.6 |
显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;同时须满足,目的IP:除了10.4.5.6以外任意
|
tcp.port == 25 |
显示来源或目的TCP端口号为25的封包。 |
|
tcp.dstport == 25 |
显示目的TCP端口号为25的封包。 |
|
tcp.flags |
显示包含TCP标志的封包。 |
|
tcp.flags.syn == 0×02 |
显示包含TCP SYN标志的封包。 |
如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。
可以使用6种比较运算符:
|
英文写法: |
C语言写法: |
含义: |
|
eq |
== |
等于 |
|
ne |
!= |
不等于 |
|
gt |
> |
大于 |
|
lt |
< |
小于 |
|
ge |
>= |
大于等于 |
|
le |
<= |
小于等于 |
Logical expressions(逻辑运算符):
|
英文写法: |
C语言写法: |
含义: |
|
and |
&& |
逻辑与 |
|
or |
|| |
逻辑或 |
|
xor |
^^ |
逻辑异或 |
|
not |
! |
逻辑非 |

等着博主写wireshark的数据分析哦
准备开始写了、不要着急嘛 最近事情还真的比较多
其实我也是像看看具体怎么分析数据包的文章、不知道什么时候有空写上呀
前排站位…等待更新wireshark的数据分析
确实是很给力的东西…支持.
我也经常用科来的
科来勇气来比较简单
其实我认为wireshark中最重要的还是数据分析这块
不然就算抓到数据包了看不懂也是一个很严重的问题
wireshark抓包神器呀
经常用这个来抓数据包的
看来是高手嘛、我用的不是很多、但是经常很帮上大忙
写的不错拜读了、要是有一些详细的分析数据包的文章就非常好了
数据包分析的话就设计到网络协议了 这个难度立马上升了好几个等次。
尽力而为吧、但是不是什么时候能写好、可不敢保证
这个显示过滤器比抓包来得更重要、但是两者缺一不可
其实我们在使用wireshark的过程中必然要经过3个步骤
1、捕捉过滤
2、显示过滤
3.数据包分析
一环套一环、数据包分析才是重点、高手做的事情
感觉显示过滤器和捕捉过滤器的正则表达式写法不是很一样
有那么一点点差别、但是不是很大
捕捉过滤器这样写
ip src host 192.168.10.10
显示过滤器这样写
ip.addr == 192.168.10.10