打开浏览器开发者工具,网站抓包按下F12,网站抓包切到Network标签,网站抓包刷新页面——几十条请求像瀑布一样倾泻下来。网站抓包这就是网站抓包抓包,简单粗暴,网站抓包却能让任何网页在你面前裸奔。网站抓包
我去年调试一个支付接口时,网站抓包前端页面显示“支付成功”,网站抓包后台却死活收不到回调。网站抓包后端同事甩锅说前端没传参,网站抓包前端同事说接口文档就是网站抓包这么写的。吵了半小时,网站抓包最后我抓包一看——回调地址里多了个空格,网站抓包URL编码后变成%20,网站抓包服务器直接404。就这么个破空格,两个组扯皮一下午。抓包就是这么实用,它不跟你讲道理,只给你看事实。
抓包的本质,是拦截客户端和服务器之间的HTTP/HTTPS通信。你发的每个请求、服务器返回的每个响应,都像明信片一样在网络上传递。抓包工具就是那个在邮局门口偷看明信片的人——Charles、Fiddler、Wireshark,都是干这个的。浏览器自带的开发者工具算入门版,够用但不够深,因为它只能看到浏览器发出的流量,看不到其他应用的。
真正有意思的是移动端抓包。你得把手机代理到电脑上,还要装个CA证书骗过HTTPS加密。第一次搞的时候我折腾了俩小时,证书装不上,手机一直报“网络异常”。后来发现是安卓7.0以后默认不信任用户证书,得把应用改成debug模式或者用Xposed框架绕过。这活儿越来越像猫鼠游戏,平台方不断加固,抓包的人不断破解。但说实话,九成App的防护都薄得像纸,改个配置就能看穿。
抓包能干什么?往小了说,调试接口、排查bug、看看哪个请求拖慢了页面。往大了说,分析竞品App的API结构、抓取数据、甚至逆向别人的加密算法——当然,后者游走在法律边缘,我劝你别碰。正经用途里,我最常用的是改请求做测试。比如把商品价格改成0.01元提交订单,看看后端有没有校验——很多小网站压根不管,直接给你发个0元购的包裹。这种漏洞要是被薅羊毛的发现了,一夜之间能亏掉半年的利润。
也有翻车的时候。有次我抓一个视频网站的流媒体地址,明明抓到m3u8文件了,播放器却提示“403 Forbidden”。仔细一看,人家的接口做了时间戳签名,过期30秒就失效。你得在签名有效期内把请求发出去,还得带上正确的Referer和User-Agent。这就像拿着钥匙开门,钥匙30秒换一次,手慢了就得重新抓。后来我写了个脚本定时刷新,才算搞定。
说到底,抓包就是一场信息博弈。你多懂一点协议,就多一分主动权。哪怕不做开发,普通用户也能用它看看自己手机里的App到底在偷偷上传什么数据——有些App后台静默上传通讯录,抓包抓得清清楚楚,证据确凿。这种时候你会觉得,技术这东西,用好了是工具,用歪了是凶器,关键看拿在谁手里。