wireshark抓包实战(六),过滤器
目录
wireshark中,过滤器有两种,一种是抓包过滤器,一种是显示过滤器!
抓包过滤器适合大网络环境,配置与抓包之前,可以减轻电脑的负载,更加精确的抓取显示的包。
显示过滤器适合小网络环境,配置与抓包之后,适合进行全网数据包分析,可以动态根据需求显示需要的数据包
一、抓包过滤器
即让wireshark只抓取已定规则的数据包
1.语法来源
抓包过滤器的配置语法派生自libpcap/WinPcap库中tcpdump的语法
种过滤器的配置语法并不相同。
2.语法
(1)关键要素
①type ===> 类型
host(本机)、net(网段)、port(端口)
②dir
src(源地址)、dst(目的地址)
③proto
ether、ip、tcp、udp、icmp、http、ftp、oicq(QQ封装协议)、broadcast(广播)、multicast(多播)、arp、等
④逻辑运算符
&&(与)、||(或)、!(非)
(2)命令语句
[协议类型] [src/dst] [类型] [类型值] [&&/||/!] ~
例如:
ip dst host 192.168.1.6 && dst port 80
二、显示过滤器
1.语法来源
显示过滤器的配置语法则在若干年后定义
即让wireshark从抓的包中仅显示已定规则的数据包
2.关键要素
(1)条件操作符
== | eq | 等于 |
ip.addr == 192.168.1.1 ip.addr eq 192.168.1.1 |
!= | ne | 不等于 |
!ip.addr==192.168.1.1 或 或 |
> | gt | 高(长、 大) 于 | frame.len > 64 |
< | lt | 低(短、 小) 于 | frame.len < 1500 |
>= | ge | 不高(长、 大) 于 | frame.len >= 64 |
<= | le | 不低(短、 小) 于 | frame.len <= 1500 |
contains | 包含某个(串) 字符 | http.request.uri contains "/wp-login.php" | |
matches | 某串字符匹配某个条件 | http.response.version matches "1" |
(2)逻辑操作符
简 |
标识符 | 描 述 | 举例 |
and | 逻 辑 与 | ip.src==10.0.0.1 and tcp.flags.syn==1 IP主机10.0.0.1建立或尝试建立TCP连接时发出的首个数据包 |
or | 逻 辑 或 | ip.addr==10.0.0.1 or ip.addr==10.0.02 所有发往或源于IP主机10.0.0.1或10.0.0.2的数据包。 |
not | 逻 辑 非 | not arp and not icmp 除ARP和ICMP数据包之外的所有数据包 |
(3)过滤源
①IP过滤
ip.addr ===> IP地址
ip,src ===> 源IP地址
ip.dst ===> 目的IP地址
②端口过滤
tcp.port ===> tcp端口
tcp,srcport ===> tcp源端口
tcp.dstport ===> tcp目的端口
udp.port ===> udp端口
udp.srcport ===> udp源端口
udp.dstport ===> udp目的端口
③协议过滤
tcp、udp、http、arp、eth、icmp、ip、ipv6、dns、ftp、dhcp、nfs、oicq、smb......
④基础知识
ipv4报头
tcp报头
⑤注意事项
TTL字段是IP包头中非常有用的字段。 通过该字段值, 就能弄清IP 包所穿越的路由器的台数。 在默认情况下, 由不同操作系统生成的IP包 的TTL字段值都比较固定,只有64、 128和256这三种。