java 重启路由器

 思路:模拟http请求,调用路由器重启命令,路由器中的设置项,所有的操作都是一个url请求,只是每个请求都要带一个权限过去,这个权限就放在请求头中

说明:路由器的密码是base64编码后的结果,所以需要转一下。

重启命令:

http://192.168.2.1/userRpm/SysRebootRpm.htm?Reboot=重启路由器

其他N多命令,f12自己看

<pre name="code" class="java">
request.addHeader("Referer", "http://192.168.2.1/");//没它不行,估计这里做了限制,以前没有是可以的(据资料说明)

 

完了路由器估计也可以暴力一下了。。。

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;

import Decoder.BASE64Encoder;



public class Demo {
	public static void main(String[] args) {
		
	String  login_user = "admin";
        String  login_pw = "123456258";
        String auth = "Basic " + getBASE64(login_user+":"+login_pw);
        HttpClient httpClient = new DefaultHttpClient();
        HttpUriRequest request= new HttpGet("http://192.168.2.1/userRpm/SysRebootRpm.htm?Reboot=重启路由器");
        request.addHeader("Authorization", auth);
        request.addHeader("Referer", "http://192.168.2.1/");
        // 打印请求信息  
        
        try {  
            // 发送请求,返回响应  
            HttpResponse response = httpClient.execute(request);  
 
            // 打印响应信息  
            System.out.println(response.getStatusLine());  
        } catch (ClientProtocolException e) {  
            // 协议错误  
            e.printStackTrace();  
        } catch (IOException e) {  
            // 网络异常  
            e.printStackTrace();  
        }  
	}
	
	 public static String getBASE64(String s) {
	     if (s == null) return null;
	     return (new BASE64Encoder()).encode( s.getBytes() );
    }
	 
	 
	 
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值