Charles
Charles可以在windows,linux,mac各种操作系统上安装使用,它是java编写一款非免费工具;而fiddler只能在windows系统上使用
Charles抓包前,要确认,是否已经启用Charles为代理,如果没有启用,则Charles不会帮我们对网站进行抓包,windows操作系统下,启用Charles为代理,如图:
Charles界面介绍
Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”.
1.Structure视图将网络请求按访问的域名分类
2.Sequence视图将网络请求按访问的时间排序
Charles过滤网络请求的三种方式
方式一、切换到Sequence视图,在Filter中输入关键字,则可以对抓包出来的信息做出过滤
方式二:
方式三:
Charles对手机进行抓包,以Iphone手机为例
手机和电脑必须在同一个子网络中
1.电脑上安装好Charles,并获取Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”–>“Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图所示:
2.在 iPhone 的 “ 设置” 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址,子网掩码等信息。在其最底部有「HTTP 代理」一项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888(默认),如下图所示:
3.设置好之后,我们打开 iPhone 上的任意需要网络通讯的程序,电脑上的Charles 弹出 iPhone 请求连接的确认菜单(如下图所示),点击 “Allow” 即可完成设置。
上面我们设置了电脑192.168.16.104的8888端口为手机的代理服务器,从而实现拦截手机发出的请求数据和从应用程序服务器返回的响应结果数据。
Charles的端口,默认是8888,我们修改该端口,具体的设置如图:
Charles拦截请求和响应,对请求和响应的数据进行修改
例如:charles拦截请求,选中要拦截的页面地址,鼠标右键选中breakpoints----Edit Request-------Execute-----Edit Response-----Execute-----浏览器中查看页面结果
这个修改其实是对网络中的传输数据进行修改,不是对服务器进行修改
之所以加断点是为了拦截请求或者响应结果,不加断点就拦截不了,加了断点后,Charles多了Edit Request和Edit Response功能
Charles做弱网测试