做安全测试的朋友都知道抓包工具是日常用得最多的基础设施之一。不管你是刚入门想搞清楚一个请求到底发了什么还是需要在一次授权测试里快速定位某个接口的参数校验漏洞抓包都绕不开。我用的时间最长的其实是同类老牌工具但这两年Yakit慢慢成了我机器上必装的工具之一。它把抓包、重放、编解码、端口扫描这些常见操作整合到一个界面里安装和环境配置也相对省心。这篇文章就从安装开始一步步把Yakit抓包工具的安装和环境配置讲清楚适合刚接触抓包的新手也适合想从其他工具迁移过来的老朋友。1. 先在脑子里建立一个“抓包”的基本模型1.1 抓包工具到底做了什么抓包工具的核心是一个本地代理服务。你的浏览器或手机把流量指向它它再帮你转发到真正的服务器。所有经过的请求和响应都会被记录下来你可以查看、修改甚至拦截下来的页面内容。简单说它就是一条安装在客户端与服务端之间的“数据水管”方便你观察流量进出。Yakit启动后默认会在本地开一个监听端口所有指向这个端口的HTTP、HTTPS流量都会被接管。这个过程非常像一个中介房东和租客之间不直接打电话所有信息都经过中介转达中介就能看到谁说了什么。安全测试里我们需要关注的核心也就在这里——你不需要直接和服务器通信而是通过这个代理观察和改造通信内容。1.2 为什么安装配置总是绕不开“代理”很多新手配置完Yakit后打开浏览器访问网页发现什么都抓不到。十有八九是代理没有生效。代理本质上是告诉系统“发往外网的流量请先交给这个端口”Yakit在这个端口上监听。如果你的浏览器没有配置代理流量就直接从网卡出去了自然看不到。所以环境配置里面设置代理和信任证书是必不可少的两个环节这两个都做好了抓包才算真正可用。另外要注意代理有系统代理和浏览器代理两种。系统代理影响所有程序浏览器代理只影响浏览器。做安全测试时我习惯只让浏览器走代理避免后台程序产生大量无关噪声流量列表更干净。2. 安装前的准备与版本选择2.1 运行环境要求Yakit是一款跨平台工具常规的Windows、macOS、Linux桌面环境都能跑。内存建议至少4GB因为抓包会话多了之后流量列表和历史记录会比较占资源。我常用的是8GB内存的机器同时开着浏览器、编辑器、Yakit依然流畅。磁盘空间预留2GB以上比较稳妥。操作系统方面64位系统是基本要求。Windows 10以上基本没问题Linux下需要图形界面。建议不要用太老的系统因为底层依赖可能缺失后续启动报错会很折腾。总体而言它的安装比依赖Java运行时的工具要省事很多不需要额外配置JDK环境下载解压就能跑。2.2 下载渠道和版本选择如果基础网络条件允许直接去官方发布页面下载对应平台的安装包就好。下载时注意看版本号我一般优先选择带“stable”标识的稳定版不推荐一上来就用预览版因为抓包工具需要稳定预览版可能有一些已知界面卡顿或崩溃问题。文件下载完成后建议顺手校验一下SHA256值。发布页面通常会给一个校验值本地算出来的和官方对得上再开始安装。这一步虽然多花三十秒但能避免下载到损坏文件或被替换过的包。尤其要提醒的是安全测试工具本身也是最容易被盯上的养成校验的习惯确实能少踩很多坑。2.3 关于“免安装版”和“安装版”的选择Yakit提供两种形态一种是绿色解压版解压后直接运行主程序另一种是安装包版本会写入系统菜单和快捷方式。我个人的选择是优先用安装版因为升级和卸载都规范不容易在目录里留下残留。但如果你需要在多台机器临时使用或者不想改变当前系统环境解压版更方便。这里有个实际经验解压版第一次启动时如果杀毒软件提示“检测到风险”不要急着添加信任先确认文件校验值是否正常再决定是否放行。因为绿色版没有数字签名某些杀毒软件会误报。确认是官方文件后在杀毒软件里添加目录信任后续使用就会顺畅很多。3. 一步步完成Yakit安装3.1 Windows环境安装流程Windows下安装其实很简单下载到安装包后双击启动向导。安装路径我建议保持默认或者放到一个没有中文和空格的路径下比如D:\Tools\Yakit。这样做的目的是避免后续某些插件模块因为路径问题加载失败。安装完成后桌面会生成启动图标。首次打开时Windows防火墙可能会弹出提示问你是否允许程序在专用网络上通信。这一步需要点击允许否则本地代理服务无法正常监听端口后面自然就抓不到包。如果手滑点了取消可以在控制面板的防火墙设置里重新允许不需要重装。启动后有概率看到“端口被占用”的错误提示这个问题后面专门讲。第一次启动成功的标志是看到一个可以输入地址的页面通常有一个默认的监听端口号比如127.0.0.1:8083之类的。看到这个界面安装这一步就算完成了。3.2 macOS环境安装注意事项macOS系统下下载到的是.dmg或.zip格式。如果是.dmg双击挂载之后把图标拖到Applications目录即可。首次打开时会提示“无法验证开发者”因为工具没有做Apple官方公证这是正常现象。你需要到“系统设置-隐私与安全性”中找到对应的安全提示选择“仍要打开”。如果用的是Apple Silicon芯片的Mac还需要确认下载的是ARM版本还是x86兼容版本。选错版本虽然也能跑但通过Rosetta转译之后性能和稳定性都会打折扣。建议在下载前看清楚文件名里的架构标识选择对应的包体验会好很多。macOS上的另一个问题是网络权限。首次启动时系统会询问是否允许接受网络连接务必点击允许。如果抓取其他设备的流量还需要在系统防火墙中允许“从任何来源”接受连接否则手机上的请求会被阻挡在防火墙之外。3.3 Linux环境安装要点Linux下通常拿到的是一个压缩包解压后执行目录里的可执行文件就行。比如在Ubuntu桌面版上打开终端进入解压目录运行./yakit启动。如果提示缺少动态库一般需要安装libgtk-3和libwebkit2gtk这两类依赖具体包名不同发行版稍有差异。Linux桌面用户还容易遇到一个问题直接双击无法启动日志也没有任何输出。这种情况多半是环境变量问题建议从终端启动这样可以看到完整的报错信息。我通常会先在终端里跑一次确认没有错误后再创建桌面快捷方式。另外如果使用Wayland会话某些弹窗可能显示异常换成X11会话会稳定一些。4. 环境配置与抓包前的必要设置4.1 代理配置的正确姿势Yakit的默认监听地址一般是127.0.0.1加上一个端口号比如8083。这个地址需要填进浏览器或系统的代理设置里。以Windows为例打开“设置-网络和Internet-代理”在“手动代理”里开启代理开关地址填127.0.0.1端口填Yakit页面上显示的端口。填完之后保存设置再访问任意HTTP网站Yakit里就能看到流量。如果是Firefox浏览器它支持独立代理设置不受系统代理影响。你可以在浏览器偏好设置里单独配置“手动代理配置”指向Yakit的监听地址。这样Yakit启动时浏览器就走抓包代理Yakit关闭后浏览器自动恢复直连不用来回开关系统代理。我个人不推荐设置全局系统代理因为系统里其他软件比如更新服务、聊天工具都会把流量发到Yakit。如果你没有开启Yakit这些软件会因代理不通而报错。更可控的做法是使用浏览器插件做代理切换只在需要的时候走抓包代理。4.2 HTTPS证书安装与信任原理抓包HTTPS流量时Yakit会临时生成一张根证书。浏览器默认不信任它所以第一次抓HTTPS网站你会看到“连接不是私密连接”的警告而且看不到流量内容。要解决这个问题需要把Yakit的根证书导入到系统的受信任证书库中。操作路径一般是在Yakit的证书管理页面导出CA证书然后双击这个.crt文件选择“安装证书”将证书存储区域选择为“受信任的根证书颁发机构”。安装完成后重启浏览器HTTPS流量就能顺利解密查看了。这一步是所有抓包工具通用的逻辑Burp、Charles、Fiddler都是如此。需要特别注意的是导入证书之后Yakit就拥有了对当前系统HTTPS流量的明文查看能力。这也是为什么绝对不要在未经授权的环境中安装或复用抓包证书。你装在自己测试机上是没问题的但如果给别人机器装证书就需要对方明确同意否则会有很大的合规风险。4.3 手机模拟器和真机抓包配置如果需要抓取手机App的流量Yakit同样派得上用场。手机和电脑连接到同一个局域网然后在手机WiFi设置里手动配置HTTP代理填上电脑的IP地址和Yakit的监听端口。此时手机上的流量就会经过电脑上的Yakit。但HTTPS流量想要看到明文还需要在手机上安装并信任Yakit的根证书。Android和iOS的流程不太一样。Android一般可以把证书文件发送到手机然后从设置里导入CA证书。iOS则需要先在浏览器打开证书下载地址然后在“设置-通用-关于本机-证书信任设置”中开启完全信任。这里要说一个坑Android高版本对用户CA证书的信任范围限制得很严App默认不信任用户证书即使你装了证书很多App的HTTPS流量依然抓不到。遇到这种情况要先确认是证书没装好还是App本身做了证书校验。如果只是为了学习分析可以使用安卓模拟器的低版本系统来练习证书安装流程然后逐步过渡到高版本的解决办法。5. 安装完成后快速验证抓包能力5.1 熟悉Yakit的主界面和模块完成了基本配置先别急着做复杂操作花几分钟把界面过一遍。左侧通常是功能导航区有抓包、重放、爆破、编解码、MITM等模块。中间的流量列表会实时显示经过代理的每一个请求点击某一条记录下方会展示请求头、请求体、响应头和响应体。右侧或者底部区域则是日志和事件面板很多报错信息会出现在这里排查问题时第一时间看日志会有方向。刚启动时默认处于监听状态。如果看到监听端口正常但流量列表没有数据说明请求没有走代理或者代理配置没刷新。此时不要急着重启先检查一遍代理设置。我见过很多人折腾半天最后发现是浏览器插件拦截了代理设置属于典型的“浏览器接管了系统代理”。5.2 快速抓一次HTTP请求为了验证抓包是否生效我习惯先用一个简单的HTTP网站来测试比如访问一个不带HTTPS的测试页面当然最好是本地搭建的或者明确允许抓包的测试站点。打开Yakit确认监听已启动然后浏览器设置代理访问这个地址。正常情况下Yakit的流量列表里会立刻出现一条记录点开能看到完整的URL、请求头、表单参数和服务器返回的响应。这一步能跑通就说明代理链路没问题。接下来再访问一个HTTPS网站比如常用的搜索引擎如果浏览器弹出了证书警告说明证书还没完全信任如果流量列表里出现了HTTPS域名的记录并且右侧显示了明文请求说明证书配置已经生效。这两级验证分别对应“HTTP抓包”和“HTTPS解密抓包”是判断环境是否配置成功的金标准。5.3 抓到的数据能做什么抓包本身不是目的后续操作才是重点。在Yakit中你可以在某条请求上右键选择“重放”或“发送到重放模块”。重放模块里可以修改任意请求头、请求体然后重新发送观察服务器的响应变化。这是接口测试中非常高频的操作比如修改某个参数值、篡改Cookie、改变请求方式等。另外Yakit还内置了编解码工具可以直接对Base64、URL编码、Hex等格式进行转换。抓包时经常遇到参数被编码成奇奇怪怪的字符串这时候先复制到编解码模块解一下能看出真正的原始值。还有历史记录搜索功能按域名、关键字、状态码过滤流量对于分析复杂漏洞链路很有帮助。这些操作不需要额外安装插件开箱即用。6. 常见问题与排查技巧实录6.1 启动时报“端口被占用”端口占用是我遇到最多的问题之一。Yakit默认用某个固定端口做本地监听如果这个端口已经被其他程序占用启动时会提示绑定失败。解决方法是换一个端口。在Yakit的启动配置或监听设置里修改为如18083这样的高位端口然后同步修改浏览器的代理端口即可。这里有一个经验不建议懒到直接关掉占用端口的所有程序因为你不知道那个程序是不是系统关键服务。更稳妥的方法是找出占用端口的进程确认不影响系统运行后再考虑关闭或者换端口。Windows下使用netstat -ano命令可以查看端口对应的PID然后在任务管理器里定位进程。6.2 抓不到HTTPS流量只有CONNECT请求如果你在流量列表里只看到CONNECT请求而没有具体的URL、请求头说明Yakit还没有解密HTTPS流量。这种情况通常是证书安装不完整或者浏览器没有信任根证书。特别需要注意的是有些浏览器在导入证书后需要完全退出并重新启动才能重新加载证书库。如果重新启动浏览器后依然抓不到再到系统“证书管理”里检查一下刚导入的证书是否存在并且是否被放在“受信任的根证书颁发机构”目录下。有时候用户不小心把证书导入了“个人”目录这时候信任是不生效的。还有一种情况是电脑上安装了多个证书管理工具导致证书导入到了错误的存储区。6.3 浏览器代理显示“无法连接到代理服务器”这个提示说明代理地址端口不可达。先确认Yakit是否还在运行监听端口是否显示的仍然是代理里填写的端口。如果Yakit崩溃了或者你修改过监听端口但没有同步修改浏览器代理就会报这个错。另外要检查代理地址是不是填了127.0.0.1。填成localhost大多数情况下也能用但个别系统解析顺序不同可能解析到IPv6的::1反而连不上。我建议统一写127.0.0.1避免这类低级问题。6.4 常见问题速查表问题现象可能原因解决办法启动闪退缺少系统依赖或版本架构不对下载对应架构稳定版安装缺失依赖抓不到HTTP流量代理未生效检查代理地址端口与监听端口一致只能看到CONNECT无明文HTTPS证书未信任重新导入并信任根证书打开页面出现证书警告证书未安装到受信任区安装到受信任根证书颁发机构手机抓不到包手机代理未设置或防火墙阻止配置手机代理到电脑IP允许防火墙入站流量列表大量无关记录全局代理被所有程序使用改为仅浏览器代理或使用代理插件6.5 证书安全与测试边界最后必须说一句抓包工具本身是中性的但用不好容易给你带来麻烦。证书一旦信任就等同于你允许Yakit查看当前浏览器所有HTTPS流量。千万不要在未授权的环境下开启代理和安装证书也不要随便下载来路不明的证书文件。我曾经见过有同学图省事直接抓第三方平台的包最后涉及合规问题。做测试之前先确认目标是否允许测试、测试范围是否明确这个习惯比任何工具配置都重要。根据我个人经验Yakit在安装配置上已经比很多老牌工具更友好但首装时仍会遇到不少细节问题。如果第一次跑不通不要急着换工具按照上面整理的排查顺序走一遍基本都能解决。配置好之后建议把常用端口、证书导出位置、代理切换方式记下来下次换设备或者升级版本时会省很多时间。另外升级Yakit版本之后旧的根证书有时会失效需要重新导出并安装新证书。我建议把证书的导出目录固定在一个专门文件夹里这样升级后不用到处找。日常使用中如果发现所有HTTPS流量突然抓不到明文优先检查证书是否被系统重新标记为不受信任这个坑十次里有六次是它。
阅读完成 · 觉得有帮助?