gaogaorimu 2020-03-04
过滤器分为抓包过滤器和显示过滤器,抓包过滤器会将不满足过滤条件的包丢弃,只保留满足条件的包,而显示过滤器则是对已抓取的包做过滤,过滤出满足条件的包。
显示过滤器可以保留全部的报数据,方便后期做流量分析,而抓包过滤器保留的数据有限,后期分析有局限性。
wireshark抓包是基于其内部的libpcap/wincap库
打开软件时直接在filter栏输入过滤规则即可,如下以wireshark2.6举例
Capture --> Options
使用的是BFP语法(Berkeley Packet Filter),一共四个元素:
&&
与||
或!
非示例:
抓取源地址为192.168.1.1,目的端口为80的流量
src host 192.168.1.1 && dst port 80
抓取192.168.1.1和192.168.1.2的流量
host 192.168.1.1 || host 192.168.1.2
不要抓取广播包
! broadcast
ether host 00:88:ca:86:f8:0d ether src host 00:88:ca:86:f8:0d ether dst host 00:88:ca:86:f8:0d
host 192.168.1.1 src host 192.168.1.1 dst host 192.168.1.1
port 80 !port 80 dst port 80 src port 80
arp icmp
结合逻辑符号综合过滤
host 192.168.1.1 && port 8080
使用显示过滤器需先用软件进行抓包,然后在软件filter栏输入过滤规则:
==
等于!=
不等于>
大于
<
小于>=
大于等于<=
小于等于
arp、ip、icmp、udp、tcp、bootp、dns等
示例:
过滤IP地址:
ip.addr == 192.168.1.1 过滤该地址的包 ip.src == 172.16.1.1 过滤源地址为该地址的包
过滤端口:
tcp.port == 80 过滤tcp中端口号为80的包 tcp.flags.syn == 1 过滤syn请求为1的包
结合逻辑符综合过滤:
ip.src == 192.168.1.1 and ip.dst == 172.16.1.1