earph0n3's doc Help

过滤器

过滤器用来在捕获流量或查看流量时对特定流量进行筛选

捕获过滤器

捕获过滤器用与在捕获时过滤特定流量不在过滤范围内的数据包将会被丢弃

通过捕获过滤器可以选择性地捕获某些特定的数据包, 减轻分析的压力

捕获过滤器语法

基本形式:

操作符:

  • 连接运算符 与 (&&)

  • 选择运算符 或 (||)

  • 否定运算符 非 (!)

# 对源地址是192.168.0.10且端口为80的流量进行过滤 src host 192.168.0.10 && port 80

限定词

说明

src

源地址

dst

目标地址

host

地址

port

端口

主机名和地址过滤器

使用host过滤特定主机的流量

通过ipv4地址

host 127.0.0.1

通过ipv6地址

host 2001:db8:85a3:8a2e:370:7334

通过主机名

host hostname

加入ether过滤主机mac地址

ether host 00-1a-a0-53-e4-4e

加入src过滤来自特定主机的流量

src host 127.0.0.1

加入dst过滤发往特定主机的流量

dst host 127.0.0.1

端口过滤器

使用port过滤特定端口流量

port 80

排除特定端口, 捕获其他的所有流量

!port 80

同样可以使用src和dst过滤来自和发往特定端口的流量

src port 80 dst port 80

协议过滤器

通过协议过滤器过滤特定协议的流量

只看IP协议的流量

ip

只看icmp协议的流量

icmp

......等等

协议域过滤器

通过协议域过滤器可以匹配一个数据包中某一个特定位置开始的特定数量的字节

在icmp协议中数据包开头偏移量为0的字节代表一些特定信息,

例如想要过滤代表目标不可达信息的icmp数据包(开头字节为3)

icmp[0] == 3

只检查echo请求(类型8)或echo回复(类型0)的数据包

icmp[0] == 8 || icmp[0] == 0

加上:可以限定数据字节的长度

例如捕获icmp目标主机不可达, 目标不可访问的数据包(类型3, 代码1)

icmp[0:2] == 0x0301

加上& 限定特定字节的某个比特位

例如在tcp数据包中, 标志位在第13个字节, 但这个字节的每一个比特位都是一个标志

过滤RST标志为4的数据包(在第13个字节的第4个比特位)

tcp[12]&4 == 4

常用过滤器表达式

过滤器

含义

tcp[13]&32 == 32

设置了URG位的tcp数据包

tcp[13]&16 == 16

设置了ACK位的tcp数据包

tcp[13]&8 == 8

设置了PSH位的tcp数据包

tcp[13]&4 == 4

设置了RST位的tcp数据包

tcp[13]&2 == 2

设置了SYN位的tcp数据包

tcp[13]&1 == 1

设置了FIN位的tcp数据包

tcp[13] == 18

TCP SYN-ACK数据包

ether host 00:00:00:00:00:00

流入或流出特定mac地址的流量

!ether host 00:00:00:00:00:00

不流入或流出特定mac地址的流量

broadcast

广播流量

icmp

icmp流量

icmp[0:2]

ICMP目标不可达, 主机不可达

ip

ipv4流量

ip6

ipv6流量

udp

udp流量

显示过滤器

显示过滤器用于在已经捕获到的数据包中过滤查看特定的数据包

显示过滤器的语法基本以协议为中心并且遵从protocol.feature.subfeature的格式

查看IP地址为127.0.0.1的流量

ip.addr == 127.0.0.1

查看长度小于128字节的数据包

frame.len <= 128

比较操作符

操作符

说明

==

等于

!=

不等于

>

大于

<

小于

>=

大于或等于

<=

小于或等于

常用显示过滤器

过滤器

说明

!tcp.port == 3389

排除RDP流量

tcp.flags.syn == 1

具有SYN标志位的TCP数据包

tcp.flags.rst == 1

具有RST标志位的TCP数据包

!arp

排除ARP流量

http

查看http流量

tcp.port == 23 \|\| tcp.port == 21

文本管理流量(Telnet或FTP)

smtp \|\| pop \|\| imap

文本email流量(SMTP, POP或IMAP)

  • 小技巧:

    在输入显示过滤器的输入框右边的加号, 可以手动添加自己常用的显示过滤器:

filter

在手动输入显示过滤器后保存为常用的显示过滤器固定在输入框的最右边, 以便于快速应用

直接应用过滤器

当对某个协议不熟悉或完全不清楚时, 可以直接在解析视图中找到想要的部分, 右键将其直接作为过滤器应用:

如rdp协议中的按键按下事件, 直接右键EventHeaderCode部分选择 作为过滤器应用->选中 就可以直接将其作为过滤器来进行过滤

Gcxh5tw b6sz nljb

这里自动生成了过滤器:

rdp.fastpath.eventheader == 0x00

对于不熟悉的协议或者内容都可以这样进行过滤

05 十一月 2024