使用捕获过滤器Wireshark只捕获满足过滤器条件的数据包进来。捕获过滤器采用BPF语法表达式,表达式由如下及部分组成:
Dir 指明传输方向是前往还是来自 例如:src、dst
Type 指出名字或数字所代表的意,例如: host、port Proto
限定所要匹配的协议 例如:ether、ip、tcp、udp、http、ftp
使用以上关键字,可以构成一条原语。在一个过滤器表达式中,可以定义多条原语。多条原语直接使用逻辑运算符组合起来。逻辑运算符有如下几种:
连接运算符: 与 (&&)
选择运算符: 或 (||)
否定运算符: 非 (!)
例如:
dst host 192.168.0.10 && tcp port 80
表示拦截目标ip为host 192.168.0.10,并且源端口或目标端口为80端口的tcp协议。
常见捕获过滤器写法:
过滤主机: host ip
过滤端口:
port 端口 : 过滤某个端口数据
!port 端口 :过滤不是某个端口的数据
dst port 端口: 过滤目标为某个端口的数据
在Wireshark中,通过捕获–>选项 里定义捕获过滤器。
显示过滤器应用于捕获文件,用来告诉 Wireshark 只显示那些符合过滤条件的数据包。你可以在包列表面板上方的 Filter 文本框中,输入一个显示过滤器。
显示过滤器语法与捕获过滤器语法不同。主要表现为:
关键字方面,如捕获过滤器使用 host 定义ip,显示过滤器使用ip.addr定义ip。
运算符方面,显示过滤器分为比较运算符和逻辑运算符。
比较运算符:
等于 ==
不等于 !=
大于 >
小于 <
大于或等于 >=
小于或等于 <=
逻辑操作符:
and 两个条件需同时满足
or 其中一个条件被满足
xor 有且仅有一个条件被满足
not 没有条件被满足
例如:
!udp and ip.addr==40.90.189.152
表示,不是udp协议并且ip是40.90.189.152
Linux下,采用tcpdump命令进行抓包,并将抓包文件下载到windows系统,使用Wireshark进行分析。tcpdump命令这里不做详细解释。