前景:因为要抓很多App上的信息,而自己又比较菜。
所以暂时只能通过操作手机自动化(Andriod)的方式,来抓包从而进行数据的采集。
环境:python3(因为使用的是mitmdump来进行的抓包), 手机使用的是小米手机。
手机自动化操作的相关流程:
一:PC环境搭建。
主要是SDK以及JDK的安装,Appium以及Python的Appium模块安装就很简单了。
可以参考下边这篇博客,写的很清晰。https://blog.csdn.net/u013314786/article/details/83216390
二:手机相关。
手机要打开usb调试,在开发者选项里边。
三:连接手机,运行某个app。
直接粘代码好了。
class Action(): def __init__(self): print ("初始化......") # 初始化配置,设置Desired Capabilities参数 self.desired_caps = { # 设备系统 'platformName': 'Android', # 设备名称 # 'deviceName': '127.0.0.1:62001', 'deviceName': 'Redmi Note 4x', # 安卓版本 # 'platformVersion': '4.4.2', 'platformVersion': '7.0', # apk包名、 'appPackage': 'xxx', # 不重置app 'noReset': 'True', # apk的launcherActivity 'appActivity': 'xxx', # 绕过手机键盘操作,unicodeKeyboard是使用unicode编码方式发送字符串 'unicodeKeyboard': True, # 绕过手机键盘操作,resetKeyboard是将键盘隐藏起来 'resetKeyboard': True, "newCommandTimeout": "3600", # 修改默认超时的时间 'udid': "xxx" 找个是手机的devicesid。在操作多个手机的时候需要指定 } # 指定Appium Server self.server = 'http://127.0.0.1:4727/wd/hub' # 新建一个Session self.driver = webdriver.Remote(self.server, self.desired_caps)
其中的appActivity 和 appPackage是启动app的必选项。查找方式网上有很多,https://www.cnblogs.com/silna/p/9353462.html这篇比较靠谱。当你做好以上的工作之后,就可以使用代码启动某个手机的app了,然后想做什么操作,如搜索点击之类的就可以通过编写代码来实现了。
四:抓包
使用mitmdump抓包的话,需要电脑开启一个wifi(360,猎豹都可以)。手机连接此wifi,然后查看本PC ip,并在手机上配置好代理以及端口就可以使用mitmdump进行抓包了。