过滤器
常用端口说明:
端口 | 端口说明 | 备注 |
23 | Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。 | |
80 | |
|
443 | ssl+http | |
1.扑捉指定<host>主机
[src|dst] host <host>
src : 表示源地址,也就是包发送地址;
dst : 表示目标地址,也就是包的接受地址;
如果 [ src | dst ]未指定,则指定地址出现在源地址或目标地址中的包都会被抓取。
2.过滤扑捉以太网<ehost>主机
ether [src|dst] host <ehost>
此命令允许你过滤以太网主机地址。可以通过优先指定关键字 src | dst 在 关键词 ether 和 host 之间来确定关注的是源地址还是目标地址。如果没有指定,就和上面这个命令一样。
3.通过指定网关过滤抓包
gateway host <host>
通过制定host 作为网关包。也就是说,以太网源地址或目标地址是 host ,但 ip 地址和目标ip地址都不是host 的包。
4.通过指定子网掩码过滤抓包
[src|dst] net <net> [{mask<mask>}|{len <len>}]
通过网络号进行过滤。可以选择优先指定src|dst 来确定抓取的是源网络或目标网络。如果没指定,网络出现在源地址还是目标地址的都会被选择。另外,你可以选择子网掩码或者CIDR(无类别域形式)。
5.协议端口过滤
[tcp|udp] [src|dst] port <port]
过滤tcp,udp协议及端口号。可以使用src|dst 和tcp|udp 关键词来确定是源还是目标,tcp 协议还是udp 协议。tcp|udp 必须出现在src|dst之前。
6.按包大小过滤
less|greater <length>
过滤包的大小长度选择长度符合要求的包。(大于等于或小于等于)
7.指定协议层过滤
ip|ether proto <protocol>
选择有指定的协议在以太网层或是ip 层的包
8.过滤广告形式
ether|ip broadcast|multicast
选择以太网/ip 层的广播或多播
9.自定义过滤规则
<expr> relop <expr>
创建一个复杂过滤表达式,来选择包的字节或字节范围符合要求的包。请
10.过滤器表达式对话框中也提供了一些过滤规则,根据需求自行调整和修改。
比较值:
表达式 符号表示 说明
eq == 示例:ip.addr == 192.168.1.111
ne != 示例:ip.addr != 192.168.1.110
gt > 示例:frame.pkt_len > 10
lt < 示例: frame.pkt_len < 128
ge >= 示例:frame.pkt_len ge 0x100
le <= 示例:frame.pkt_len <= 0x20
组合表达式:
表达式 符号表示 说明
and && 示例:ip.addr==10.0.0.5 and tcp.flags.fin
or || 示例:ip.addr==10.0.0.5 or ip.addr==192.1.1.1
xor ^^ 示例:tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29
not ! 示例:not llc
注:比如你要抓非 192.168.1.111 的所有数据包,filter 的写法不应该是 ip.addr != 192.168.1.111 , 在数据包中,有可能双向中,都会包含这个地址,只要两个地址中,任何一个不包含这个地址这个条件就为真,所以,正确的写法应该是:!(ip.addr == 192.168.111)
常用过滤器:
过滤器 说明
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:00 流入或流出你Mac地址的流量
!ether host 00:00:00:00:00:00:00 不流入或流出你Mac地址的流量
broadcast 仅广播流量
icmp ICMP 流浪
icmp[0:2] == 0x0301 ICMP 目标不可达、主机不可达
ip 仅仅 IPv4 流量
ip6 仅仅 IPv6 流量
udp 仅仅UDP流量
!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)
smp || pop || imap 文本email流量(SMTP、POP或IMAP)
协议 头部大小
以太网 14字节(包含CRC)
IP 头 20字节
TCP头 20字节(没有数据以及选项的TCP数据包也是20字节)