一.参数过滤
1.捕获过滤器
解释:该过滤是为了在抓包时筛选出符合指定规则的包,其余包直接丢弃不会抓,该规则同scapy
中的sniff(filter='过滤')
一样
1.1 语法
语法:<Protocol> <Direction> <Host(s)> < Value> < Logical Operations> <Other expression>
1.2 详细
详细:
- Protocol(协议): ether, ip,arp, tcp , udp 等,如果没指明协议类型,则默认为捕捉所有支持的协议
- Direction(方向):src, dst,src and dst, src or dst等,如果没指明方向,则默认使用 “src or dst” 作为关键字
- Host(主机):net, port, host等等,如果没有指明,默认是‘host’.
- Logical Operations(逻辑运算):例如
and or not
1.3 实例
1.3.1 关于IP地址
- 捕获192.168.0.0目标和源头的这个网段所有数据:
net 192.168.0.0/24
- 不捕获192.168.0.0为目标这个网段所有数据:
not dst net 192.168.0.0/24
- 捕获192.168.0.0网段为源头的所有数据:
src net 192.168.0.0/24
- 捕获192.168.0.1主机为源头的所有数据:
src host 192.168.0.1
1.3.2 关于广播地址
- 捕获239.255.255.255~224.0.0.0的数据:
ip multicast
1.3.3 关于Mac地址
- 捕获到达/来自 aa:aa:aa:aa:aa:aa的数据:
ether host aa:aa:aa:aa:aa:aa
- 捕获到达aa:aa:aa:aa:aa:aa的数据:
ether dst aa:aa:aa:aa:aa:aa
- 不捕获到达/来自 aa:aa:aa:aa:aa:aa的数据:
not ether host aa:aa:aa:aa:aa:aa
1.3.4 捕获关于端口
- 捕获来自53端口的TCP/UDP数据:
port 53
- 捕获来自67端口的UDP数据:
udp port 67
- 捕获来自1-80端口的TCP/UDP数据:
portrange 1-80
- 捕获来自1-80端口的TCP数据:
tcp portrange 1-80
1.3.5 捕获ICMP数据
- 捕获所有icmp数据:
icmp
- 捕获ICMP字段类型为8(echo request):
icmp[0]=8
- 捕获ICMP字段类型为17(Address Mask request):
icmp[0]=17
2.显示过滤器
解释:该过滤会抓取所有的包,通过指定语法规定显示何种包
2.1 语法
语法:<Protocol> <String 1> <String 2> < Comparison operator> < Value> <Logical Operations>
2.2 详细
详细:
- Protocol(协议):可以使用大量位于OSI模型第2至7层的协议,例如
IP TCP DNS SSH
,远比捕捉过滤器丰富 - String 1(参数 1):协议的子类,之间用点号
.
相连接 - String 2(参数 2):协议的子类,之间用点号
.
相连接 - Comparison operators (比较运算符):例如
== != > <
- Value(值):填入例如ip地址的值
- Logical expression_rs(逻辑运算符):例如:
and or not
2.3 实例
2.3.1 非语法
图解:选中右击
效果:自动填充到上面的显示过滤器处
2.3.2 语法
2.3.2.1 协议过滤器
- 显示arp协议流量:
arp
- 显示ipv4协议流量
ip
- 显示tcp协议流量:
tcp
2.3.2.2 应用过滤器
- 捕获dhcp协议流量:
dhcp
- 捕获dns协议流量:
dns
- 捕获http协议流量:
http
- 捕获icmp协议流量:
icmp
2.3.2.3 地址过滤法
- 显示来自iv4的数据:
ip.src
- 显示到达ipv4且值为192.168.0.1的数据:
ip.dst==192.168.0.1
- 显示来自/到达ipv4且值为192.168.0.1的数据:
ip.host==192.168.0.1
- 显示来自/到达ipv4且值为192.168.0.0网段的数据:
ip.addr==192.168.0.0/24
(类似前面的net)
2.3.2.4 其它过滤法
- 正则模糊匹配:
http.host matches "qq"
(其使用的为正则表达式) - 包含模糊匹配:
http.host contains"qq"
(其包含引号里面内容就会显示) - 获取许多分析数据
2.3.2.5 实践
- 筛选ip来源或者目的地为指定ip的包:
ip.addr == 192.168.0.1
- 筛选ip来源为指定目的地的包:
ip.scr == 192.168.0.1
- 筛选dns协议的包:
dns
- 筛选指定mac地址并且为arp的包:
eth.dst == A0:00:00:04:C5:84 and arp
- 筛选http请求为post的包:
http.request.method == POST
- 筛选dns响应包:
dns.flags.response == 1
- 筛选tcp到达端口为80的包:
tcp.dstport == 80