今天就请大家跟着我一起找出无线路由器中的各个参数对应的变量名并通过CURL在命令行中实现对该变量数值的修改,从而完成不登录管理界面也能设置无线路由器的工作。
一、安装httplook寻找变量名
正如上篇文章和本篇开头所说,无线路由器中的各个设置都是与一个个变量名相对应的,也就是说我们修改某个设置的同时,该设置对应的变量名数值也会发生改变。那么如果我们找出这个变量名称然后通过CURL来改变其数值的话,就可以实现使用CURL命令完成对无线路由器某设置改变的功能了。
笔者尝试过很多个sniffer工具,包括大名鼎鼎的sniffer pro。不过大多数sniffer工具都是基于网卡进行监视的,如果仅仅是对HTTP或浏览器监视的话有些大材小用。
这里笔者推荐一个小巧实用的工具——httplook。通过他我们可以最方便最快捷的找出无线路由器中各个设置对应的变量名。俗话说贵精不贵广,所以说在监视浏览器及HTTP流量信息方面httplook比其他任何一款sniffer都要强大而且更加实用。
httplook工具下载
第一步:下载httplook并运行其主程序,出现安装画面。
第二步:点NEXT按钮后选择“接受协议”,然后点next按钮继续。
第三步:设置安装路径,默认情况下是安装在c:program fileshttplook下。
第四步:安装完毕,选择是否在桌面添加一个图标。
第五步:全部设置工作完成,httplook已经进驻到我们的本地硬盘。
接下来我们就是要通过httplook实现对无线路由器各个设置参数对应的变量名进行分析了,分析的同时还会对各个变量名的不同键值加以分析,找出我们需要设置的信息所对应的真实键值。
二、使用httplook寻找变量名
使用httplook寻找无线路由器各个参数对应的变量名是非常简单的,首先打开httplook程序。
然后点主界面上方按钮中的那个绿色箭头让httplook开始监测HTTP数据流量。开始监测后我们就可以打开浏览器访问无线路由器的管理界面并修改相应的无线设置了。当修改完毕后请马上返回到httplook软件,点“停止”按钮,完成监测操作。
停止监测后我们就会在httplook软件主界面中看到所有监视到的信息了,这里再给大家介绍一个小技巧,那就是在监视前关闭其他没用的浏览器窗口,只保存宽带路由器管理界面窗口,进入管理界面里找到想修改的路由器参数,找到后在点修改前启动httplook进行监测,修改后马上关闭监测,这样收集的数据包都是关于管理窗口一个的,而且收集到的数据包也会很少,自然可以更加准确快速的分析出该参数对应的实际变量名和数值。
通过上面介绍的技巧可以更加快速的找出无线路由器中无线设置对应的各个变量名和对应的参数值。笔者以D-LINK的DWL-2000AP+A型号为例进行监测。(如图7)
在上图中我们可以看到POST /apply.cgi?formWirelessSetup这句话,实际上他就是我们刚刚修改无线路由器中无线参数对应的页面,从软件右边可以更加详细的看出,其中host地址为192.168.0.50,对应的页面为/apply.cgi?formWirelessSetup,那么完整的调用无线路由器中无线设置的界面就是http://192.168.0.50/apply.cgi?formWirelessSetup。
接下来是分析该无线设置中各个参数对应的变量名,在右边最下方可以详细的看出——ssid0=default&chan0=7&authType=open&wepEnabled0=OFF&length0=1&format0=
2&defaultTxKeyId0=1&key10=**********&key20=**********&key30=**********
&key40=**********&pskValue0=&pskValueCfm0=&pskFormat0=0&radiusIP0=&
radiusPort0=1812&radiusPass0=&radius2IP0=&radius2Port0=1812&radius2Pass0=&
submit-url=%2Fh_wireless.sh。
上面代码中显示出了无线路由器中无线设置对应的全部变量名。依次为ssid0,chan0,authtype等。我们可以简单的分析出这些变量名对应的实际设置是什么,例如ssid名称对应的变量名是ssid0,无线信号广播使用的频道对应的变量名为chan0,无线信号的加密类型对应的变量名是authtype,其他的对应关系我们可以自行进一步分析。
至此我们就完成了对无线路由器中无线设置所有参数的监视,接下来就可以通过CURL命令来传输这些变量对应的数值了,从而完成用一条条命令改变无线路由器设置的操作。
三、用curl命令改变无线路由器设置
正如上篇文章介绍过的一样,我们可以通过CURL命令与HTTP页面进行互动来传输信息。经过上文分析我们得出在D-LINK的DWL-2000AP+A型号无线路由器中,使用http://192.168.0.50/apply.cgi?formWirelessSetup这个页面调用所有无线设置,而该页面需要用户名和密码的验证。
另外在该页面下每个无线设置都对应一个变量名,ssid名称对应的变量名是ssid0,无线信号广播使用的频道对应的变量名为chan0,无线信号的加密类型对应的变量名是authtype,其他的对应关系我们也可以自行进一步分析。而这些变量名的数值也可以通过我们反复监控和反复设置来获得。
下面笔者简单的举一个例子,例如想通过命令行模式中的CURL命令把无线信号发射频段从8修改为7,那么首先需要分析出频段对应的变量名为chan0,当前的值为chan0=8。那么CURL命令如下:
C:curl>curl -u admin:"" -d "chan0=7" http://192.168.0.50/apply.cgi?formWirelessSetup
其中-u后的admin为管理帐户用户名,“”表示该管理帐户对应的密码为空,-d "chan0=7"表示将chan0这个变量的数值设置为7,后面的http://192.168.0.50/apply.cgi?formWirelessSetup则是调用地址。
通过上面的设置我们就完成了在命令行模式中使用curl命令把无线路由器的无线信号发射频段从8修改为7的操作。
四、批处理+计划任务让操作更加自动化
既然我们知道了可以使用CURL指令完成对无线路由器设置的修改工作,那么将这些命令复制到文本文件中,并将该文件修改为以bat为结尾的批处理文件,就可以通过运行这个批处理文件而达到修改无线路由器设置的操作了。有心者再把这个批处理和操作系统中的计划任务结合就可以实现修改无线路由器设置的自动化功能了。感兴趣的读者可以自行去研究和操作,整个步骤非常简单,这里就不详细说明了。
五、总 结:
通过curl命令实现对无线路由器设置的快速修改是我们配置无线路由器的一个新思路,打破了传统的只能通过浏览器窗口改变无线路由器各个参数的方法,特别对于那些没有开启telnet或SNMP管理的无线路由器来说,此方法可以让你的工作和学习效率大幅度提高。
总之要修改哪个设置一定要先用反复修改该参数并结合httplook多次监视,得出该变量名称以及各种设置对应的变量数值。然后才可以通过curl命令传输相应的变量以及对应的键值。
新闻热点
疑难解答