免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6353 | 回复: 10
打印 上一主题 下一主题

怎样用python控制路由器? [复制链接]

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-05-08 11:24 |只看该作者 |倒序浏览
例如:
重启、重新拔号等

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
2 [报告]
发表于 2016-05-08 17:29 |只看该作者
本帖最后由 haooooaaa 于 2016-05-08 17:39 编辑

直接调用命令?

比如 openwrt 的,  ifup wan 就是重拨

如果是普通一点的?

我这用的 D-Link 的 DAP-1360

下面这个是重启两台路由器的ruby代码
  1. require 'net/http'
  2. require 'base64'

  3. pwd = Base64.encode64('admin')

  4. ser = ['192.168.2.2','192.168.2.3']

  5. ser.each {|x|
  6.         Net::HTTP.post_form(URI("http://#{x}/apply.cgi?formPasswordAuth"), 'login_name' => 'Admin', 'login_pass' => pwd )
  7.         Net::HTTP.post_form(URI("http://#{x}/apply.cgi?do_reboot"), 'do_reboot' => 'true' )       
  8. }
复制代码
上面的URL你可以打开路由器去查源码。

论坛徽章:
11
2015年迎新春徽章
日期:2015-03-04 09:55:282017金鸡报晓
日期:2017-02-08 10:39:4215-16赛季CBA联赛之辽宁
日期:2016-12-15 10:24:1715-16赛季CBA联赛之佛山
日期:2016-11-30 09:04:2015-16赛季CBA联赛之江苏
日期:2016-04-29 15:56:1215-16赛季CBA联赛之同曦
日期:2016-04-12 13:21:182016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之山东
日期:2016-02-16 11:37:52每日论坛发贴之星
日期:2016-02-07 06:20:00程序设计版块每日发帖之星
日期:2016-02-07 06:20:0015-16赛季CBA联赛之新疆
日期:2018-01-09 16:25:37
3 [报告]
发表于 2016-05-09 08:40 |只看该作者
先看看手工是怎么控制的,
比如上面那个其实是通过一个http请求去控制的(前提是路由器那货里面有个微型的webserver),
有的路由器只有一个socket端口,连过去发命令(类似于telnet,ssh等),此时要通过pexpect之类的包来模拟人工操作.

是想要做自动化交易吗?

论坛徽章:
12
数据库技术版块每日发帖之星
日期:2015-07-08 22:20:00IT运维版块每日发帖之星
日期:2016-05-01 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44IT运维版块每月发帖之星
日期:2016-03-07 16:25:25IT运维版块每日发帖之星
日期:2016-02-21 06:20:00IT运维版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-02-06 06:20:00IT运维版块每日发帖之星
日期:2016-01-30 06:20:00IT运维版块每日发帖之星
日期:2016-01-03 06:20:00IT运维版块每日发帖之星
日期:2015-11-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00
4 [报告]
发表于 2016-05-09 09:37 |只看该作者
膜拜一下牛人!

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
5 [报告]
发表于 2016-05-10 22:18 |只看该作者
haooooaaa 发表于 2016-05-08 17:29
直接调用命令?

比如 openwrt 的,  ifup wan 就是重拨



我的路由器是fast,暂时不想换路由。

主要目的是实现重新拔号来获取新的ip,这样我做爬虫就不用买别人的代理ip了。穷人的代理ip,

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
6 [报告]
发表于 2016-05-10 22:22 |只看该作者
bskay 发表于 2016-05-09 08:40
先看看手工是怎么控制的,
比如上面那个其实是通过一个http请求去控制的(前提是路由器那货里面有个微型的we ...



没那么高大上,只为了重新获取一个ip,做爬虫用

点了路由器页面中的“断开连接“按钮后,浏览器应该是发了一些内容到路由器的webserver上即可断开连接(路由器会自动拔号),感觉只需要用脚本来生成这些内容再发送出去就可以实现,但是不知道该怎么操作。

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
7 [报告]
发表于 2016-05-11 09:03 |只看该作者
回复 5# ssfjhh


    应该可以按我刚才说的 那个ruby的办法去折腾,

    你直接打开路由的页面, 打开重启那个页面, 看一下见面源码。 把 重启的那个 操作是发送什么记一下,

    然后用 HTTP发, 就OK了,

论坛徽章:
0
8 [报告]
发表于 2016-05-13 14:04 |只看该作者

碰巧前几天刚写了一个针对极路由的。
具体不同的路由器,过程和方法一样。
http头的必须项可能不太一样。
htt p://www .oschina.net/code/snippet_96078_56050

论坛徽章:
0
9 [报告]
发表于 2016-05-13 14:05 |只看该作者


贴子有链接一律发不出来,真恶心。

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
10 [报告]
发表于 2016-05-13 23:19 |只看该作者
codegay 发表于 2016-05-13 14:04
碰巧前几天刚写了一个针对极路由的。
具体不同的路由器,过程和方法一样。
http头的必须项可能不太一样 ...


谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP