前景:因為要抓很多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進行抓包了。
