简单介绍wireshark过滤器使用~
解决错误
在kali里面默认的版本是存在一点小问题的,打开会有错误提示
解决方式是编辑文件
在最后一行找到如图,加两个短横杠即可
开始界面
如图,从上到下,前三个就是捕获的开始停止与重启,第三个是设备列表,可以在里面对设备(网卡)进行详细的设置
接着是捕获过滤器,与直接的网卡,可以从这里直接点击相应网卡开始捕获。点击设备列表可以看到设备的详细信息,可以同时选中多个,中间的框是启用混杂模式
能够捕获不属于自己的包,下面的也是捕获过滤器
捕获过滤器
Wireshark有两种过滤器,捕获过滤器不会捕获被过滤的数据包。
语法
因为语法很简单,就不详细说了,大家应该都能直接看懂举一反三的。
通用的,可加在下面所有语法的前面(mac地址除外)
not 排除指定条件
src 捕获来自条件
dst 捕获目标条件
or 条件或
and 条件与
捕获单个地址:
1 | host 192.168.99.1 host可接主机名,ipv4地址,ipv6地址,不加限定表示捕获来自 |
到达捕获条件的数据包
1 | host baidu.com |
限定举例:
1 | not host 192.168.99.1 表示不捕获来自/到达捕获条件的数据包 |
捕获地址段:
1 | net 192.168.99.1/24 |
捕获mac地址:
1 | ether host 11:22:33:44:55:66 |
捕获特定端口:
1 | port 53 |
显示过滤器
显示过滤器会捕获被过滤的包,只是不显示过滤内容,但是他们依然存在,更改下语法即可查看被过滤的内容,是很常用的,而且功能超级强大。
如图,开始捕获后,在主面板就可以看到显示过滤器,框中可以输入语法,后面expression可以查找语法,+可以保存语法。
这是查找语法,可以看到这里面支持的语法有很多,可以搜索,右边是比较运算符。
(注:3处背景是绿色的,说明语法正确,若为红色这说明语法错误,在捕获过滤器中也适用)
显示过滤语法
比较运算符:== != > < >= <= 和C语言一样,还有 contains matches 为包含字段和匹配字段。
逻辑运算符:&& || ^^ ! 分别代表且,或,异或,非
显示过滤器中的协议可以是OSI七层模型中2-7层的任意。如下
每一种协议下面还有子类,可以以.隔开
例如:http.request.method == GET
就是使用了http的request请求的method方法
常用的协议(应用)过滤有:
arp
ip
ipv6
bootp (dhcp)
dns
tftp
http
icmp
而每一种协议下面又有很多子类,可以直接使用协议过滤,也可以使用其子类进行更加精确的过滤。
由于语法太多,wireshark提供自动补全功能和语法查找功能(上面介绍过)
自动补全就是键入.后会自动提示(如图)
然后呢,还可以翻看详细页来查看特定内容的语法,如下图,选中一个数据包查看详细内容后,会在下面显示选定内容的过滤语法(这里是eth.type)
还有呢。。选中详细的一项信息右键可以自动设置语法,如下图,意思应该是很容易看懂的。
最后来说说之前提到的逻辑运算符与比较运算符了
只显示来源ip小于等于192.168.99.200且是http.accept的数据包。
他的搜索字符串也挺好用的(在找关键信息,如password时)
可以限定查找范围,是否大小写敏感和类型。。
它还支持正则表达式,我没有仔细学,因为目前用不上。