Mac、移动端的抓包方式和注意事项——Charles

抓包软件

Charles官网下载

下载完成之后,需要激活正式版。

正式版激活方式:

1、点击Help->Register。

2、输入Registered Name: https://zhile.io,License Key: 48891cf209c6d32bf4。

3、激活正式版。


本机网络代理设置

如果需要实现抓取数据包,就得先设置本机网络代理。

1、点击Charles菜单中的Proxy->Proxy Settings,选择Proxies,在HTTP Proxy中填写代理端口号(默认8888),之后勾选Enable transparent HTTP proxying开启代理。

2、点击Charles菜单中的Proxy->SSL Proxying Settings,选择Proxying,勾选Enable SSL Proxying后,点击Add添加地址,Host:*,Port:*(*表示匹配0或任意字符)。

3、打开Mac系统偏好设置,点击网络,选择正在使用的网络进入高级设置。

4、选择代理,勾选网页代理(HTTP)和安全网页代理(HTTPS)。并分别设置其代理服务器为当前网络IP(当前IP可在网络->状态下查看,或者通过终端输入ifconfig查看),端口号为8888(与Charles中设置的一致)。

5、确定并应用。


手机网络代理设置

如果需要从手机上抓取数据包,就需要额外设置一些东西。

Android只需简单的设置代理IP和端口号即可,而iOS因为限制较多,所以需要一下方法才能实现:

1、点击Charles菜单中的Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser。弹窗会提示要输入的服务器IP和端口号。

2、打开手机iOS设置->无限局域网->当前连接的网络详细界面->配置代理。

3、服务器填之前弹窗弹出的IP和端口号,存储。

4、打开手机Safari,进入网页chls.pro/ssl,会提示安装证书,安装并信任该证书。

5、安装完证书之后,打开手机iOS设置->通用->关于本机->证书信任设置,打开Charles Proxy CA的完全信任按钮。


抓取HTTP数据包

Charles可以直接抓取到所有的HTTP数据包,无需做任何修改。

如果是手机连接,则需要先在电脑上确认。(会弹出一个提示框,允许即可)


抓取TCP/UDP数据包

要抓Socket数据包,需要做一些特殊的设置。

1、点击Charles菜单中的Proxy->Port Forwarding,打开Enable Port Forwarding。

2、添加需要监听的服务器IP和Socket端口号。(Start Port、End Port、Remote Port都填一样即可)

3、保存设置。

之后就能够抓取到该IP特定端口号的Socket数据包了。


筛选

1、点击Charles菜单中的Proxy->Recording Settings。

2、选择Include或Exclude,添加筛选的协议种类、IP、端口号。

3、保存之后主界面就只会显示筛选过的数据包了。


导出txt

在Charles内部时不支持一键导出成txt文件的,所以需要先导出其他格式的文件,之后再转成txt。

1、选择想要导出的数据包。

2、右键Export,导出为JSON Session File(.chlsj)格式的文件。

3、修改该文件的后缀名为.txt即可。

最终的文件会以JSON格式保存在txt中。


常见问题

  • 抓取的数据包全是红叉:

1、确保该服务器IP的SSL Proxying是开启的。

2、手机端iOS确保安装且完全信任了证书。

3、手机端确保代理服务器IP或端口号配置正确。

  • iOS下载证书时显示地址错误:

1、网址输入错误,chls.pro/ssl中的l和i可能会分不清。建议复制地址。

2、确保代理服务器IP或端口号配置正确。

  • 手机代理设置之后连不上网:

1、没有完全信任该证书。安装完证书之后,需要打开手机iOS设置->通用->关于本机->证书信任设置,打开Charles Proxy CA的完全信任按钮。

2、确保代理服务器IP或端口号配置正确。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于Charles移动端抓包配置代理无法使用网络的问题,可能有几个原因导致。以下是一些常见的解决方法: 1. 确保设备和Charles所在的计算机在同一个局域网下,并且能够相互访问。您可以尝试通过在设备上访问Charles所在计算机的IP地址来验证网络连接是否正常。 2. 在设备的网络设置中配置代理。在移动设备的Wi-Fi设置中,找到当前连接的Wi-Fi网络,点击进入高级设置(或代理设置),选择手动配置代理,并输入Charles所在计算机的IP地址和端口号(默认为8888)。 3. 在Charles中启用SSL代理功能。打开Charles软件,转到“Proxy”菜单,选择“SSL Proxying Settings”,确保“Enable SSL Proxying”选项已勾选,并添加需要抓包的域名或IP地址。 4. 在移动设备上安装Charles的SSL证书。在Charles软件中,转到“Help”菜单,选择“SSL Proxying”下的“Install Charles Root Certificate on a Mobile Device or Remote Browser”选项。根据提示,将证书发送到您的设备并安装。 5. 确保移动应用程序的网络请求正常。有些应用程序可能会使用自定义的网络请求库或者HTTPS证书固定功能,需要进行额外的配置才能与Charles正常通信。您可以尝试使用其他应用程序进行测试,或者查看应用程序的开发文档了解是否需要进行特殊配置。 如果以上方法仍然不能解决问题,可以尝试重启设备、重启Charles、更新Charles版本或者尝试其他抓包工具进行测试。希望这些解决方法能对您有所帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值