### 抓包工具简介
- Charles是是一个好用的抓包工具，但可惜Charles只能抓取http/https协议的数据包
- Wireshark是是一个功能十分强大的抓包工具，可以抓取TCP/UDP/蓝牙等数据包

### 下载Wireshark
[点击下载，完全免费](https://www.wireshark.org/download.html)


### 启动Wireshark

启动后打开就可以看到下图，要选择一个接口，双击后进入抓包界面。Ethernet:en0（以太网卡）和Wi-Fi:en1（无线网卡）是教常用的两个接口。

![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1f0a140f22ec495e89417262c09dbd91~tplv-k3u1fbpfcp-zoom-1.image)

### 给iPhone创建虚拟网卡

**虚拟网卡就是待捕捉的接口, 将iPhone设备USB连接到Mac上， 用Xcode获取到设备的UDID**

- 查看所有的虚拟网卡
```
ifconfig -l
lo0 gif0 stf0 XHC20 en0 en1 en2 en3 p2p0 awdl0 bridge0 utun0 en27
```

- 创建虚拟网卡
```
$ rvictl -s xxxxxxxxxxx

Starting device xxxxxxxxxxx [SUCCEEDED] with interface rvi0
```

- 删除虚拟网卡
```
rvictl -x   xxxxxxxxxx
```

- 再次查看所有的虚拟网卡
```
ifconfig -l
lo0 gif0 stf0 XHC20 en0 en1 en2 en3 p2p0 awdl0 bridge0 utun0 en27 rvi0
```

此时多出来的rvi0就是我们创建出来的虚拟网卡

### 启动虚拟网卡


![image.png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/165cf2b3041c48969c3c6101e145048d~tplv-k3u1fbpfcp-watermark.image)

双击rvi0即可启动虚拟网卡

### TCP/UDP抓包
- Wireshark界面介绍


![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bb476af6dc6446b29a874ce84d510eeb~tplv-k3u1fbpfcp-zoom-1.image)

- 过滤内容

`ip.src== IP地址 && tcp.port == 端口 && frame contains “内容”`







