一、抓包技术
抓包是指通过特定的软件工具,截取网络传输中的数据包,以便进行分析和解读网络通信过程的行为。在计算机网络中,每个数据包都包含了网络通信中的一些信息,例如数据传输的源和目标地址、数据类型、协议版本等。通过抓包,用户可以监控网络数据流量,了解网络中传输的数据内容、协议规范、数据包的大小等信息,从而帮助用户分析网络性能问题、识别网络攻击和异常行为等
本课所设计的抓包仅能抓取HTTP协议相关的请求,其他协议的抓取不在本节课的讲解范围内,在日常的生活中,我们可以发现一部分网站的网址是http开头,另一部分的是https开头,HTTPS(HyperText Transfer Protocol Secure)是一种基于安全套接字层(SSL或TLS)协议的HTTP协议。它建立在HTTP协议之上,通过使用SSL/TLS加密数据传输,确保了客户端与服务器端之间通信的安全性,保护用户的隐私和数据安全。
我们在抓包https的网站的时候,需要先安装相关的证书,否则无法进行有效抓包
二、抓包软件
Charles
Charles证书导出和安装
1.安装Charles软件,直接一路默认安装即可
2.安装完成后打开Charles,点击Help —> SSL… —> Save.. 保存证书
3.「将证书安装到安卓模拟器中」,打开逍遥安卓模拟器,从系统里找到文件管理器,将上面生成的证书拖入到文件管理中,并记好证书的目录
4.从逍遥模拟器的系统设置里找到安全-从SD卡中安装证书-选择上一步上传的证书安装即可
5.「将证书安装到本地电脑浏览器中」,以Google浏览器为例,访问chrome://settings/security,点击管理设备证书
6.点击受信任的跟证书颁发颁发机构,将证书导入即可(这里仅介绍安装证书的方法,其实Charles可以直接抓取PC的浏览器的数据,但是其他软件都需要安装证书)
Charles抓取电脑浏览器数据
Charles不需要进行任何设置,安装好证书后,打开软件,在浏览器中访问数据即可抓取
Charles抓取安卓模拟器数据
1.抓取安卓的数据前,需要先设置代理,打开设置,找到WLAN,长按选择高级设置,输入ip和端口,ip写本机电脑的ip地址(建议直接通过网络属性查看,防止出现误填虚拟机ip的情况),端口号与Charles连接设置中的端口一致
2.此时打卡Charles,在安卓模拟器中打开任意APP即可抓取成功
Fiddler
Fiddler证书导出和安装
1.打开Fiddler,点击工具-选项HTTPS,勾选解密HTTPS通信,安装好证书后,点击动作-Export Root..,将证书导出(如果是抓本地电脑的,则下图这里选择从所有进程,如果是抓模拟器,则这里选择从远程客户端)
2.按照Charles中安装证书的方式,将导出的证书安装到安卓模拟器和PC浏览器中即可
Fiddler抓取电脑浏览器数据
1.打开Fiddler,点击工具-选项-HTTPS,按照下图配置(注意选择从所有进程)
2.此时用浏览器访问百度,即可抓到相应的数据
Fiddler抓取安卓数据
1.参考Charles教程设置代理
2.将Fiddler的HTTPS设置选择从远程客户端获取
3.抓取成功,APP的抓取数据同理
ps.如果设置代理后,无法上网,可以重启浏览器或者按照https://blog.csdn.net/Y_soybean_milk/article/details/118338347教程尝试
BurpSuite
BurpSuite证书导出和安装
1.打开One-fox工具,启动BurpSuit,按照https://blog.csdn.net/qq_46700234/article/details/122333508教程下载并安装证书,注意bp的证书是der结尾
BurpSuite 抓取电脑浏览器数据
1.Charles和Fiddler都不用设置代理,就可以直接抓包,但是BurpSuite需要我们先设置代理才能成功抓取,打开计算机中的设置,找到代理选项,添加地址和端口号,端口号要和bp软件的option选项中的设置同步
2.此时打开bp,点击Proxy-Intercept-Intercept is on,再次访问百度即可成功抓取,点击HTTP history即可查看历史请求
BurpSuite 抓取安卓数据
1.安卓模拟器参考Charles教程设置代理,并关闭PC电脑端设置中的代理,打开bp,点击Proxy-Option,点击Add,将本机ip(即安卓模拟器中添加的代理ip)添加进去
2.此时打开bp,点击Proxy-Intercept-Intercept is on,再次访问百度即可成功抓取
BurpSuite 接受Charles 转发的数据
虽然bp非常好用,但是代理的设置是一个麻烦,在实战中,很多软件无法设置代理,但是Charles无需代理即可抓取,所以我们可以用Charles抓取数据,然后将其转发到bp中,像小程序我们会使用这种办法
1.打开Charles,点击Proxy-External Proxy Settings,将HTTP和HTTPS的请求分别转发给bp中的127.0.0.1:8080(这里应与bp的设置保持一致)
2.此时bp即可正常收到Charles转发过来的请求
3.此外,直接在电脑的设置里开启代理,转发到127.0.0.1:8080也是可以转发给bp的,原理和Charles一致
BurpSuite 接受Proxifier 转发的数据
1.我们还可以通过转发工具来实现转发,打开Proxifier,点击配置文件-代理服务器,添加转发地址
2.点击配置文件-代理规则,设置只抓取微信即可(建议通过浏览按钮选择exe文件后,添加*)
3.此时bp即可正常收到Proxifier转发过来的请求,且可以通过这种方法直接抓取小程序和PC端应用的数据
参考资料
以上内容整理自小迪安全系列课程