Padavan的访客WiFi助手

前两天家里来了客人,自然要开WiFi给客人们用。但是开启访客WiFi需要很多步骤,老爸老妈应该是记不住的,所以写了一个小助手来帮他们一键打开/关闭访客WiFi。

用Chrome打开访客WiFi的控制界面,然后检查元素,发现“应用本页设置”按钮的代码是这样的:

直接在Elements页面搜索”applyRule”,这个函数的代码是这样的:

可以看到,这个页面内有一个表单,表单的名字是form,要开启或者关闭访客WiFi,使用的就是这个表单的请求。于是我们要找到这个表单,在elements里搜索”<form”,就找到了一个隐藏的表单:

可以看到这个请求的地址是“http://192.168.123.1/start_apply.htm”。这时候我们在Chrome的Network中试图找到它的请求,只要找到请求并且按照原模原样发过去,这事就成了。然而悲伤的是,我们并不能找到,因为这个form的target是”hidden_frame”,这是一个iframe,所以Chrome不会抓到这个包。这时候我们就要祭出神器:Burpsuit。

1.png

在Burpsuit中,我们发现了好东西,接下来我们在他身上点击右键,选择Send to repeater,然后进入repeater看看它的parameter。

2.png

就是图中被选中的这个参数”rt_guest_enable“,决定了这个请求是开启还是关闭WiFi,接下来我们只要在Python中构造请求就可以了。

3.png

其实不用那么麻烦。我们在Raw的文本框里点击右键,选择”Copy as curl command“。这时候我们的剪贴板里已经有了它的curl命令:

接下来给各位推荐一个神器,这个网站可以把curl命令转换为requests,你只要复制粘贴就可以了。不过可能最后结果会有点小问题,你可以稍微修改一下。另外,你也可以直接复制它的parameter,然后传给post方法的data参数,不需要设置header也能打到效果。毕竟这只是个路由器管理页面,没有反爬虫的机制。

界面用tkinter做,然后用pyinstaller打包,就可以给爸妈用了。如果各位有需要,可以自己修改我的源码并且打包。

CC BY-NC-SA 4.0 Padavan的访客WiFi助手 by James & Alice is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Padavan的访客WiFi助手》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据