0%

Wireshark 的简单使用

有时候抓包能力,就是排查问题的能力

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
2
http
not http and not ftp

根据地址过滤

1
2
3
4
5
6
7
host www.baidu.com
host 192.168.1.1
src host www.baidu.com
dst host 192.168.1.1
# 根据Mac地址过滤
ether host 11-22-33-44
(tcp dst port 135 or tcp dst port 4444 or udp dst port 69) and ip[2:2]==48

展示过滤器

官方参考:

由于官方文档写得太详细了,简单整理些常用的。

常用

常用运算符:

  • 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

官方文档链接