利用python重启路由器

     家里用的是D-link路由器,不超过100块那种。由于路由器年代久远,偶尔会抽风连不了外网,这时就需要重启路由器。一般常规的做法一是断电重启;二是登陆路由器系统设置选项进行重启。有时路由器离电脑太远了不想跑过去断电,登陆路由器又有点烦锁,什么打开浏览器输入用户名密码找到系统设置选项再点击重启。于是就设想写个python脚本,直接双击或者快捷键打开马上重启路由器。

     

     用python来模拟人员登陆路由器设置界面进行重启操作,人工操作其实最重要的就是两步:一是登陆路由器,二是向路由器发送重启的指令。

 

     首先用burp site 抓取登陆路由器的信息

POST /session.cgi HTTP/1.1
Host: 192.168.5.1
Content-Length: 80
Origin: http://192.168.5.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: */*
Referer: http://192.168.5.1/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: uid=PPgJoMGJTN

REPORT_METHOD=xml&ACTION=login_plaintext&USER=admin&PASSWD=123456&CAPTCHA=

 

再抓取点击重启时发送到路由器的信息

 

POST /service.cgi HTTP/1.1
Host: 192.168.5.1
Content-Length: 12
Origin: http://192.168.5.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: */*
Referer: http://192.168.5.1/tools_system.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: uid=S1pAXZvdoE

EVENT=REBOOT

 

其实整个重启过程就是两个步骤:1登陆2重启

电脑主要就是向路由器发送了上面两段信息

python代码如下:

import requests

ip='192.168.5.1' 
username='admin'
pwd='123456'

header={
'Host': ip,
'Origin': 'http://'+ip,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept':' */*',
'Referer': 'http://'+ip,
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.8'
}

#登陆时向服务器POST的数据
login={
'REPORT_METHOD':'xml',
'ACTION':'login_plaintext',
'USER':username,
'PASSWD':pwd,
'CAPTCHA':''
}


#重启时向路由器POST的数据
reboot={
'EVENT':'REBOOT'
}

s=requests.session()

#登陆路由器
login=s.post('http://'+ip+'/session.cgi',data=login,headers=header)
print login.text

#重启路由器
reboot=s.post('http://'+ip+'/service.cgi',data=reboot,headers=header)
print reboot.text

 

执行结果如下:

第一段<RESULT>SUCCESS<RESULT>表示登陆成功

第二段<result>OK<result>表示重启成功

 

转载于:https://www.cnblogs.com/id404/p/4772722.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值