图片来源:https://www.pixiv.net/artworks/96346431 配置了v2ray+cgproxy的透明代理,每次v2ray更新之后都会失效,需要手动添加抓包相关权限,通过添加hook的方式在更新后自动添加权限 备注:Type使用Path而不使用package是因为官方仓库、archlinuxcn以及aur中都有v2ray安装包,Path更通用一些;Target使用“usr/bin/v2ray”而不是“/usr/bin/v2ray”,否则匹配不上 参考:
v2ray
图片来源:https://www.pixiv.net/artworks/82352687 要抓取一些由于众所周知的原因无法直接使用的软件的报文或者要抓取软件在不同国家/城市下报文时,可以配置透明代理,在软件客户端不感知代理环境的情况下抓取尽量真实的流量 配置透明代理 以Ubuntu为例,采用v2ray + v2rayA内置透明代理。这个方案配置上比较简单,但日常使用体验上个人感觉比v2ray + qv2ray + cgproxy的方案略差一些 安装v2ray 由于Ubuntu和v2ray官方都没有提供软件源,这里选择第三方的铜豌豆Linux软件源 添加软件源 安装v2ray 安装v2rayA 添加公钥 添加 v2rayA 软件源 安装v2rayA 配置 启动v2rayA并设置开机自启 如果不想开机自启,可以在需要用的时候手动启动 访问http://127.0.0.1:2017/,第一次访问设置帐号密码 点击左上“导入”按钮填写节点链接地址或者订阅地址,点击确认。至于如何获取节点链接地址或者订阅地址,请自己想办法 点击右上角设置,配置参考如下图,也可以根据需要自行修改,修改完成点击“保存并应用”(第四项转发DNS请求有助于让流量更真实,但如果代理节点在国外可能会影响国内网站的访问速度,甚至可能出现无法访问的情况,请根据需要修改) 选择一个节点连接,然后点击左上角启动即可。由于我导入的是订阅地址,会生成一订阅名相关的标签,节点在该标签里,如果导入的是节点地址,节点会出现在“Server”标签里阅地址 设置完成后,访问http://www.ip111.cn/测试一下 抓包 Wireshark Linux安装wireshark之后可能会出现找不到网卡无法抓包的情况,解决方案参考这个:https://blog.geekgo.tech/linux/linux%e4%b8%8bwireshark%e6%97%a0%e6%b3%95%e6%8a%93%e5%8c%85%e9%97%ae%e9%a2%98/ 一般情况下不建议直接将透明代理和要抓包的软件安装在同一设备上,因为: 建议的做法是在配置了透明代理的LinuxPC上开启无线热点,将要抓包的软件安装在其他设备上并连接热点,使用wireshark直接抓取入口无线网卡的报文即可(无线网卡名称一般以“wl”开头,如“wlan0”) 无线网卡 如果你是在Linux PC上配置的透明代理环境,并且恰巧你的主版没有内置无线网卡,那就需要一张USB无线网卡,但市面上很多宣传支持Linux的USB无线网卡实际只是能连接WIFI,并不支持AP模式开热点。目前我测试过的有rt5370芯片和 rt3070芯片的无线网卡linux上都是可以开热点的,也不用折腾第三方驱动,价格在30-40软妹币之间,抓包分析用足够了。 查看无线网卡是否支持AP模式 支持AP模式的话,“Supported interface modes”下会有一行“* AP” 参考: