移动端https抓包那些事--进阶篇

上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢?

主要原因还是客户端在实现https请求时对于证书的校验上,如果仅仅校验是否有证书但是未严格校验证书的有效性时,就可以通过手机客户端安装抓包工具的证书来绕过签名校验,但是如果客户端做了严格的证书校验,如果不是受信任证书则无法正常进行https通信,遇到这种情况我们该如何抓取https流量来进行业务分析呢?

接下来就进入我们的第二篇章-进阶篇,深层次抓包(浅层次抓包 -> 移动端https抓包那些事--初级篇)。

这一次就会对我们的设备有所要求了,安卓设备要求设备root,iOS设备要求越狱。后续我们依然会分两个平台来依次介绍如何进行操作。

 


Android平台

 

在Android平台上的操作主要是通过hook的方式,将应用及系统中验证https证书的逻辑全部hook为验证结果正确,这样无论安装的证书是否有效,皆可进行正常的https通信。

这里就需要对手机安装hook框架,这里用到的hook框架为Xposted,官方下载地址:

http://repo.xposed.info/module/de.robv.android.xposed.installer ,这里需要注意的是,在Android4.0-4.4是可以直接通过安装apk的方式开刷入Xposted框架,而在Android 5.0以上则需要刷入Xposted的固件包,具体的操作这里就不再赘述了,网上有很多教程已经讲的很详细了。

 

想要进行https抓包的话需要安装Xposted的一个开源模块--JustTrustMe,github链接地址为:https://github.com/Fuzion24/JustTrustMe ,下载最新版本的安装包,安装进手机,在Xposted中激活并重启手机,这时就可以随意抓取手机中的流量了。

 


iOS平台

 

iOS上就需要将手机进行越狱了,可以使用目前市面上比较流行的盘古越狱工具,但是目前只支持iOS10之前的版本,所以做移动安全研究或者渗透测试的,准备一台老版本的测试机还是很有必要的,说不定什么时候哪款工具就在最新系统上用不了了。

言归正传,在iOS上用到的这款工具叫做SSL Kill Switch 2,该工具使用了Cydia Substrate的钩子技术,这个钩子Hook了IOS的验证证书函数,使得他们接受任何证书。

 

SSL Kill Switch 2同样也是一款在Github上开源的软件:https://github.com/nabla-c0d3/ssl-kill-switch2 ,这里给大家简单介绍下如何安装这个工具。

首先在越狱后的Cydia工具中查看以下几项软件是否都安装完成:

Debian Packager

Cydia Substrate

PreferenceLoader

 

如图中所示:

 

 

如果都安装完成,那么从Github上下载最新的release包:https://github.com/nabla-c0d3/ssl-kill-switch2/releases ,如现在最新版的为v0.11 安装包为 com.nablac0d3.SSLKillSwitch2_0.11.deb ,将该文件拷贝到iOS设备中,拷贝文件可用iTools、iFunBox等工具。

如图所示:

用ssh链接iOS设备,找到deb文件传输目录(/User/Media):

 

执行如下命令进行安装:

dpkg -i com.nablac0d3.SSLKillSwitch2_0.11.deb
killall -HUP SpringBoard

回到Cydia中,查看安装的软件,已经在列表中了。

 

这时候就可以抓取https的流量了。

 


测试

证书安装完成之后,用手机访问一个https的网站,这时就发现https的数据包可以抓取到了。

原创作者 @龙刃(JDragons)转载请注明出处如有任何疑问请联系:JDragons@yeah.net
HTTP/HTTPS协议分析工具(Http Analyzer)7.5.3.455 汉化特别版 HTTP Analyzer 分两部份,可以集成在IE浏览器中抓包,也可以单独的安装应用程序的包,非常实用。 压缩包内有注册机,大家根据需要选择相应的产品获取注册码。 这是一款实时分析 HTTP/HTTPS 数据流的工具。它可以实时捕捉HTTP/HTTPS 协议数据,可以显示许多信息(包括:文件头、内容、Cookie、查询字符窜、提交的数据、重定向的url地址),可以提供缓冲区信息、清理对话内容、HTTP状态信息和其他过滤选项。同时还是一个非常有用的分析、调试和诊断的开发工具。 Http Analyzer是一个HTTP/HTTPS协议分析工具,用此工具可以非常快速的分析出绝大多数视频博客的视频地址。尽管有一些网站提供了诸如 YouTube ,Google Video 等视频网站的php解码程序,不过那些php程序并不是通用的。当博客视频网站对视频地址加密算法做些变动时,php程序又需要大规模改动才能对应解码。 使用类似Http Analyzer协议分析工具就不同了,所有的博客视频都是http方式提供的,最终的http路径是肯定要明文出现的,所以获取此路径是可能的。 HTTP/HTTPS协议分析工具(Http Analyzer)使用方法 第一步:设置好Http Analyzer的过滤器选项大部分的视频博客的Type都是 video/flv ,video/x-flv ,application/octet-stream 极少部分采用application/x-shockwave-flash 或干脆不表明类型。http的返回结果肯定是2XX,所以在Result 要设置成<300。返回的Size最好采用倒序排列,视频博客的大小一般比较大,倒序容易发现。 第二步:运行Http Analyzer:(点击工具栏第一个绿色箭头图标)打开YouTube 或6rooms视频博客网站。回到Http Analyzer窗口,看你需要的视频地址是不是老老实实的呆在里面呢?
<think>嗯,用户问的是如何用抓包工具大量获取URL。首先,我需要理解用户的需求。他们可能想通过抓包工具收集大量的URL,可能用于数据分析、测试或者其他用途。但这里需要注意合法性,未经授权抓取可能涉及隐私或法律问题,所以必须提醒用户遵守法律法规和网站的服务条款。 接下来,我要解释抓包工具的基本原理。抓包工具通过拦截设备与服务器之间的网络流量来捕获数据包。常用的工具有Wireshark、Fiddler、Charles等。每个工具的操作步骤可能不同,但基本流程相似:安装工具、配置代理、开始抓包、过滤分析数据。 然后,具体步骤需要分点说明。首先是选择合适的工具,比如推荐几个常见的,并简要说明它们的优缺点。例如,Wireshark适合深度分析,但可能比较复杂;Fiddler和Charles对HTTP/HTTPS更友好,适合Web调试。 配置抓包环境是关键步骤,特别是HTTPS流量的解密。需要指导用户安装根证书,否则无法查看加密内容。例如,在Fiddler中,用户需要在Tools > Options > HTTPS里勾选解密HTTPS流量,并信任证书。 开始捕获数据后,用户需要知道如何操作设备或浏览器来生成流量,比如访问网页、使用应用等。然后停止抓包,保存数据。 接下来是分析数据,提取URL。这里需要说明如何过滤HTTP请求,比如在Wireshark中使用http.request.uri或Fiddler中使用过滤器。然后导出URL,可能用正则表达式或者内置的导出功能,比如Fiddler的Export Sessions功能。 最后,必须强调合法性和道德规范。未经授权的抓取可能违反法律,特别是涉及用户隐私或受版权保护的内容。建议用户遵守robots.txt,控制请求频率,避免被封禁,同时尊重数据所有权。 用户可能的深层需求可能是批量采集URL用于爬虫或其他自动化工具,但需要确保他们的行为合法。可能还需要提到反爬虫机制,比如设置User-Agent、处理Cookie等,但这里用户没有问到,所以可能不需要展开。 需要确保回答结构清晰,步骤明确,同时覆盖注意项。避免使用复杂术语,保持语言简洁易懂。另外,提醒用户注意保护自己和他人的隐私,避免滥用抓包工具。</think>以下是使用抓包工具批量获取URL的步骤及注意项,请严格确保遵守法律法规和网站服务条款: 一、工具准备 1. 常用抓包工具: - Wireshark(全协议支持) - Fiddler/Charles(HTTP/HTTPS专用) - mitmproxy(Python开发,可编程) - Burp Suite(Web安全测试) 二、操作流程 1. 环境配置: - 安装抓包工具并配置代理(通常设置为127.0.0.1:8888) -HTTPS流量需安装根证书(Fiddler/Charles提供自动安装) - 设置过滤条件(如host包含目标域名) 2. 流量捕获: - 启动抓包工具开始记录 - 操作目标应用/网页触发网络请求 - 停止抓包并保存会话文件(.pcap/.saz格式) 3. 数据提取: ```bash # Wireshark示例:导出HTTP请求URL tshark -r capture.pcap -Y "http.request" -T fields -e http.host -e http.request.uri # Fiddler脚本批量导出(Fiddler Script): if (oSession.uriContains("target.com")){ SaveSession("urls.txt", oSession.fullUrl); } ``` 三、进阶技巧 1. 自动化处理: - 使用mitmproxy编写Python脚本实时提取URL - 结合正则表达式过滤特定格式(如API接口) ```python import mitmproxy.http def response(flow: mitmproxy.http.HTTPFlow): if "api/v1" in flow.request.url: print(flow.request.url) ``` 2. 移动端抓包- 配置手机WiFi代理到PC - 安装CA证书(Android需手动信任) - 使用Packet Capture等移动端工具 四、重要注意项 1. 法律合规: - 仅抓取自己拥有权限的数据 - 遵守robots.txt协议 - 禁止抓取敏感个人信息 2. 道德准则: - 控制请求频率(建议>2秒/次) - 识别并遵守API速率限制 - 标注数据来源 3. 技术防范: - 使用随机User-Agent - 设置合理超时时间 - 处理验证码等反爬机制 建议优先通过网站提供的开放API获取数据,如必须抓包,建议使用开发者工具(F12)的Network面板进行基础分析。实际操作前请务必确认目标网站的服务条款,商业用途需获得书面授权。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值