有时候抓包能力,就是排查问题的能力
wireshark 有两大过滤器
- 捕获过滤器 CaptureFilter
- 展示过滤器 DisplayFilter
一个是只抓想要的数据,一个是抓完之后只展示想看的数据。
一般抓的时候条件放得比较宽,然后再慢慢过滤自己想看的。
毕竟抓到了可以不看,但是抓不到想看都没有。
捕获过滤器是因为依赖了 winpcap 或 libpcap,所以语法会跟这两者保持一致。
展示过滤器则是wireshark自己用的,因此更强大。
捕获过滤器
官方文档:https://wiki.wireshark.org/CaptureFilters
语法
捕获过滤器使用Berkeley Packet Filter(BPF)语法。这是一种表达式。
- 一个原语一般由一个或多个限定词和一个ID组成
- 一个表达式有一个或多个原语组成
一个原语格式如下:
1 | <限定词1> [<限定词2>...] <ID> |
这里有三种限定词:
- 类型Type,可选值:
host、net、port
- 方向Direction,可选值:
src、dst
- 协议Protocol,可选值:
ether ip tcp udp http ftp
多个原语之间可以用 and
,or
相连。原语前面还可以取反。
示例
根据协议过滤
1 | http |
根据地址过滤
1 | host www.baidu.com |
展示过滤器
官方参考:
由于官方文档写得太详细了,简单整理些常用的。
常用
常用运算符:
- eq 或者 ==
- nq 或者 !=
- contains
- matches
常用字段/变量
- tcp.port, tcp.dstport,tcp.srcport
- ip.src, ip.addr, ip.dst
- http.host
示例
1 | ip.addr != 192.168.1.1 |