charles
1、看发出去的请求
2、定位问题
server端的问题
客户端的问题
3、他能帮咱们模拟一些服务端返回的异常情况
1、手机抓包
1、必须保证手机和电脑是在同一个局域网里面的
2、获取到电脑的ip地址 ,查看charles的端口号,默认的端口号是 8888
电脑端抓包
pc端的抓包使用情况 Charles支持抓去http、https协议的请求,不支持socket
1 那个垃圾桶图标,功能是clear,清理掉所有请求显示信息。
2 那个望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。
3. 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个两点,一般都使其为不显示抓去状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。
4. 编辑修改功能,可以编辑修改任意请求信息,修改完毕后点击Compose就可以发送一个修改后的请求数据包。
5. 抓取的数据包的请求地址的url信息显示。
6. 抓取的数据包的请求内容的信息显示,post请求可以显示form形式,直观明了。
7. 返回数据内容信息的显示.
其中5、6、7中都有各种形式的数据显示形式,其中raw是原始数据包的状态, 更多功能可以去帮助文件中查看英文版教程!
显示模式
charles抓包的显示,支持两种模式,Structure和Sequence,其优点分别如下。
Structure形式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。
Sequence形式如下图 优点:可以很清晰的看到全部请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。
移动端抓包
这里相比其他抓包软件来说要简单的多了,具体步骤如下:
1. Charles上的设置
要截取iPhone上的网络请求,我们首先需要将Charles的代理功能打开。在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888,并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图所示:
我们需要获取Charles运行所在电脑的IP地址,打开Terminal,输入ifconfig en0, 即可获得该电脑的IP
2. iPhone上的设置
在iPhone的 “设置”->“无线局域网“中,可以看到当前连接的wifi名,通过点击右边的详情键,可以看到当前连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号8888,如下图所示:
设置好之后,我们打开iPhone上的任意打开网络链接, 尽情地玩耍,哈哈!(然后你会发现很多app的密码和账户一览无余,so,以后注册小公司网站时密码一定要和自己的qq, 支付宝等等密码区分开,要不然小公司服务器被攻破之后,后果可想而知)
注意:手机要与电脑在同一个WiFi下哦!这个很重要