python3登錄極路由并讀取寬帶帳號(hào)帳號(hào)密碼,fiddler抓包分析過(guò)程略...
步驟:1、登錄路由伤哺,提取stok洼专。
2、用stok拼成url孵构,post請(qǐng)求
3屁商、解析json數(shù)據(jù)
代碼:
"""
python3登錄極路由并讀取寬帶帳號(hào)帳號(hào)密碼.py
2016年6月13日 11:15:21 codegay
之前寫(xiě)過(guò)python3重啟極路由的程序,這次寫(xiě)一下讀取寬帶帳號(hào)密碼颈墅。
也很簡(jiǎn)單蜡镶,純粹是重復(fù)練習(xí)。
"""
import re
import requests
data={'username':'admin',
'password':'123456'
}
#如果post的數(shù)據(jù)為一個(gè)字典對(duì)象恤筛,
#http頭會(huì)自動(dòng)設(shè)置為Content-Type: application/x-www-form-urlencoded
#登錄
url="http://192.168.199.1/cgi-bin/turbo/admin_web"
session=requests.Session()
txt=session.post(url,data=data,).text #登錄并取網(wǎng)頁(yè)內(nèi)容
stok=re.findall(''';stok=(\w+)''',txt)[0] #提取stok
print("取到的stok:",stok,"\n\n\n")
#讀取讀取wan口配置信息(其中包含有寬帶帳號(hào)密碼)
apiurl='http://192.168.199.1/cgi-bin/turbo//;stok={}/api/openapi_proxy/call'.format(stok)
txt=session.post(apiurl,data='''{"method":"network.wan.get_wan_config","data":{}}''')
waninfo=txt.json()
print('wan口配置信息:',waninfo,"\n\n\n")
#成功請(qǐng)求后會(huì)返回一個(gè)json數(shù)據(jù)官还,requests會(huì)自動(dòng)轉(zhuǎn)成python字典對(duì)象
#提取信息很方便
print("寬帶用戶名:",waninfo['data']['inactive_config']['pppoe']['username'])
print("密碼:",waninfo['data']['inactive_config']['pppoe']['password'])
qpython3中包含了requests庫(kù),所以也可以在手機(jī)上運(yùn)行毒坛。