我们目前使用的路由器都是WEB界面管理的,真正支持TELNET(23端口)的路由器很少.针对于此.我们可以通过socket操作路由器的80端口.
向路由器发送指令让它断线. 同时将路由器设置为自动连接.就能实现断线自动换IP功能了.
路由器登录验证方式是采用BASE64加密 登录名:密码 这样的格式.如admin:admin得到的加密码串是YWRtaW46YWRtaW4=
在c#里可以很容易的实现 Convert.ToBase64String(Encoding.Default.GetBytes("admin:admin"))
我们使用HTTP的GET操作
GET /userRpm/StatusRpm.htm?Disconnect=%B6%CF+%CF%DF&wan=1 HTTP/1.1
Host:192.168.1.1
Authorization:Basic YWRtaW46YWRtaW4=
就可以实现调用路由器断线操作
同理也可以用
GET /userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7 HTTP/1.1
Host:192.168.1.1
Authorization:Basic YWRtaW46YWRtaW4=
来实现路由器的重启
以上地址在TPLINK WR740N 和TPLINK R402M测试通过
其它品牌的路由器可以通过MX3的网络监控功能获取
获取的代码片断:
采用GET方式
var wlan_wds = 1;
var wlan_rate = 0;