VC实现重启路由器_第1页
VC实现重启路由器_第2页
VC实现重启路由器_第3页
VC实现重启路由器_第4页
VC实现重启路由器_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VC实现重启路由器摘要:使用VC发送一个HTTP请求给路由器,实现重启TP-LINK路由器功能。关键字:TP-LINK,BasicAuthorization,Base64,GET,HTTP环境:TP-LINKTL-R402MSOHO宽带路由器,VC6,HttpFox,Firebug作者:Winty(wintys)正文:在浏览器里输入地址:,它会弹出一个窗口,要求输入密码。这是因为服务器要求HTTPBasicaccessauthentication(/wiki/Basic_access_authentication)。输入用户名和

2、密码就可以进入路由器管理界面了,点击重启路由器按键即可重启路由器。如何编程实现向路由器发送重启的请求?(1) 、打开Windows命令行,将以下命令粘贴到命令行里(注意,最后有一个空行)。telnet80GET/HTTP/1.1Host:服务器会返回如下信息HTTP/1.1401N/AServer:TP-LINKRouterConnection:closeWWW-Authenticate:Basicrealm=TP-LINKSOHORouterR402MContent-Type:text/htmlWebServerErrorReport:Server

3、Error:401N/AvHRxH2AccessdeniedvPvHRvH1/userRpm/index.htmv/H1vPvHRpleasemailproblemstosupporttp-路由器会返回状态码:401。这说明,本次访问是未经授权的,服务器拒绝了。同时,还可以看到:WWW-Authenticate:Basicrealm=TP-LINKSOHORouterR402M,这说明路由器确实需要Basic验证。(2) 、再使用Firebug和Httpfox分析出点击重启路由器时,浏览器向路由器发送的请求。发现,主要请求内容如下:GET/userRpm/SysRebootRpm.htm?Re

4、boot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7HTTP/1.1Host:Authorization:BasicYWRtaW46YWRtaW4=其中,Authorization请求头的内容中,Basic表示Basicauthorization验证;YWRtaW46YWRtaW4=是使用Base64编码后的用户名和密码,解密后是admin:admin。使用Base64编码有两个目的:a、使用户名和密码不能直接被肉眼识别;b、使传送的内容中无非法字符,即使用户名或密码中有不适于直接使用HTTP协议传送的字符,使用Base64编码后,就符合了协议要求。Ba

5、se64能被轻易解密,所以不能依赖它来实现安全的访问控制。同样,也可以自己在命令行输入以下内容,实现以上的HTTP请求,从而实现重启路由器功能(最后有一个空行):telnet80GET/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7HTTP/1.1Host:Authorization:BasicYWRtaW46YWRtaW4=(3) 、用VC6发送GET请求:voidCUtil:RestartRouter(CString&strHost)ClnternetSessionse

6、ssion(WintysSession);CHttpFile*pHttpFile;/路由器要求BasicAuthorization:用户名:admin,密码:adminCStringstrHeaders=_T(Authorization:BasicYWRtaW46YWRtaW4=);/请求头tryINTERNET_PORTnPort;/端口CStringstrRelativeRequestURL;nPort=80;strRelativeRequestURL=/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7;CHttp

7、Connection*pServer=session.GetHttpConnection(strHost,nPort);pHttpFile=pServer-OpenRequest(CHttpConnection:HTTP_VERB_GET,strRelativeRequestURL);pHttpFile-AddRequestHeaders(strHeaders);pHttpFile-SendRequest();/判断请求是否成功DWORDdwStatusCode;BOOLbSuccess;bSuccess=pHttpFile-QueryInfoStatusCode(dwStatusCode);CStringstrMsg;strMsg.Format(”登陆失败!错误信息:HttpStatusCode=%d,dwStatusCode);if(!bSuccess|!(dwStatusCode=200&dwStatusCodeClose();deletepHttpFile;session.Close();调用函数:Restar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论