一、抓包过滤器
BPF语法(Berkeley Packet Filter)
类型:host、net、port
方向:src、dst
协议:ether、ip、tcp、udp、http、ftp等
逻辑运算符:&&与、||或、!非
src host 192.168.0.104 && dst port 80 #抓取源地址为192.168.0.104数据流量,目标端口为80
host 192.168.0.104 || host 192.168.0.105 #抓取主机地址为192.168.0.104和105数据
!broadcast #不抓取广播包
ether host E4:D5:3D:A2:64:95 #抓取主机MAC为E4:D5:3D:A2:64:95
ether src host E4:D5:3D:A2:64:95 #抓取源主机MAC为E4:D5:3D:A2:64:95
抓包过滤器操作步骤
二、流量不大的时候使用显示过滤器
IP地址:ip.addr、ip.src、ip.dst
端口过滤:tcp.port、tcp.srcport、tcp.flag.syn等
运算符:
1、and表示与,两个条件同时满足
2、or、||表示或,其中一个条件被满足
3、!、not表示忽略
less than表示小于< =
le < 表示小于等于
eq、== 表示等于
gt>表示大于
ge>=表示大于等于
!=、ne表示不等
显示过滤器操作步骤
1、过滤端口
tcp.port == 80 #不管端口是来源的还是目标的都显示
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 #只显tcp协议的目标端口80
tcp.srcport == 80 #只显tcp协议的来源端口80
tcp.port >= 1 and tcp.port <= 80 #过滤端口范围
2、过滤MAC
太以网头过滤
eth.dst == E4:D5:3D:A2:64:95 #过滤目标MAC
eth.src eq E4:D5:3D:A2:64:95 #过滤来源MAC
eth.addr eq E4:D5:3D:A2:64:95 #过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的
!eth.addr==e4:d5:3d:a2:64:95 #忽略MAC
3、过滤IP
ip.src == 192.168.0.104 过滤ip为192.168.0.104
4、包长度过滤
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后
eth —> ip or arp —> tcp or udp —> data
5、http模式过滤
http.request.method == GET
http.request.method == POST
http.request.uri == “/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.”
6、DHCP
以寻找伪造DHCP服务器为例,在显示过滤器中加入过滤规则,
显示所有非来自DHCP服务器并且bootp.type==0x02(Offer/Ack/NAK)的信息:
bootp.type==0x02 and not ip.src==192.168.1.1
本篇文字不能涵盖wireshark所有功能只是为了基础者提供使用方式