手机抓包的实战演练步骤及注意事项如下:
准备工作:
- 设备与环境:使用Android 10版本的root设备,并安装edxposed、trustmealready和msgisk框架。注意,真机用户应避免自行root,可以考虑购买已root的设备。
- 应用版本:选择旧版本的抖音应用,以避免新版本导致的网络错误页面。
工具准备:
- fiddler:用于抓包,需在请求链接中添加正确的headers。
- appium:用于控制抖音应用和定位控件节点。
- mitmproxy:结合python实现爬虫逻辑,监听request和response。
- SDK工具:包括adb、uiautomatorviewer和aapt。
appium配置:
- 设置platformName、platformVersion、deviceName等参数。其中,deviceName可通过adb命令查看,appPackage和appActivity则需使用aapt或adb命令寻找。
- 避免使用tap方法定位元素节点,推荐使用id等唯一标识。在获取节点属性值时,get_attribute可能更有效。
抓包过程:
- 使用fiddler或mitmproxy开启抓包服务,手机连接代理。若fiddler导致手机无法上网,尝试重启服务或调整代理设置。
- 注意在请求参数中过滤敏感信息,如cookie、时间戳等。
- 对于动态节点,需通过界面加载后才能获取。可使用selenium模拟人操作加载js代码,或使用appium控制点击和滑动获取。
注意事项:
- 在使用fiddler时,确保headers以字典形式输入,并去除空格以避免错误。
- 监听request和response时,注意不同请求所需的headers可能不同。
- 若appium中发现多个节点有相同id,但获取数据不全,可能与应用设计或硬件/软件配置相关,当前无有效解决方案。
通过以上步骤和注意事项,可以有效地进行手机抓包的实战演练。同时,不断分享和提升个人技术能力也是提高测试效率和质量的关键。