1、路由器的用户名和密码我是知道,这里不是hacker技术,是为了方便
2、借助了Fiddler这个工具来对路由器访问的请求进行解析
3、通过Fiddler这个工具让我们了解到DI-504应用的是Basic这个认证方式
4、参考代码:
package com.van.client;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
*
* @author van
*
*/
public class Router {
private static final String USERNAME_PASSWORD = "admin:a";
public Router() {
this.disconnect();
}
//http://192.168.3.1/do_cmd.htm?CMD=SYS_CONF&CCMD=0&nowait=1重启路由器
private void disconnect() {
String urlStr = "http://192.168.3.1/info.htm";
this.runCgi(urlStr, USERNAME_PASSWORD);
}
private void runCgi(String urlStr, String authorizationStr) {
URL xUrl = null;
HttpURLConnection xHuc = null;
try {
xUrl = new URL(urlStr);
if (xUrl != null) {
xHuc = (HttpURLConnection) xUrl.openConnection();
if (xHuc != null) {
if (!"".equals(authorizationStr)) {
xHuc.setRequestProperty("Authorization", "Basic "
+ Base64.encodeBytes(USERNAME_PASSWORD
.getBytes()));
}
xHuc.setRequestProperty("Content-Length", "0");
xHuc.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
xHuc.connect();
String aa = xHuc.getResponseMessage();
////下面这些是用来获取IP地址的
InputStream in=xHuc.getInputStream();
int chint=0;
StringBuffer sb=new StringBuffer();
while((chint=in.read())!=-1){
sb.append((char)chint);
}
String html=sb.toString();
int first=html.indexOf("wanIP=\"");
String content=html.substring(459,471);
System.out.println(content);
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (xHuc != null) {
xHuc.disconnect();
}
}
}
public static void main(String[] args) {
new Router();
}
}
其中文中引用到的Base64的java文件在插件里面,还有一些API说明
分享到:
相关推荐
1. **连接设置**:确定路由器的IP地址和管理端口,这通常可以通过路由器的Web界面找到。 2. **身份验证**:大部分路由器需要用户名和密码进行身份验证。这可以通过HTTP的基本认证机制实现,将用户名和密码Base64编码...
以上就是使用Java通过HttpClient实现TPLink路由器重启和连接断开功能所涵盖的主要知识点。实际的"restartRoute"代码应该包含了这些概念的具体实现,通过阅读和理解代码,可以更深入地学习和实践这些技术。
1. **建立网络连接**:使用编程语言中的网络库(如C#的`System.Net`,Java的`java.net`,C++的`Winsock`)创建一个HTTP客户端,连接到路由器的IP地址和管理端口。 2. **身份验证**:大多数路由器需要用户名和密码...
在IT领域,这样的功能可能用于自动化网络管理,尤其是在需要频繁更改IP地址或者定时重启路由器以解决网络问题的场景。 描述中的信息简洁,但我们可以从中推测出几个关键知识点: 1. **路由器控制**:实现对路由器...
总的来说,"TPlink换IP源码"是用于自动化更改TP-Link路由器IP地址的程序,它涉及网络通信、身份验证和路由器配置管理等多个IT领域的重要概念。这样的源码对于网络管理员、自动化测试人员以及对网络设备编程感兴趣的...
7. **用户交互**:程序可能需要设计友好的用户界面,让用户输入路由器的IP地址、端口、登录凭据,并显示操作结果。 通过学习和理解这个源码,开发者不仅可以掌握易语言的基本编程技巧,还能了解到网络通信和设备...
在多人共享宽带的情况下,如果没有路由器的存在,所有人都将使用同一IP地址上网,这通常不被宽带服务商所允许。因此,需要一台服务器作为中介,管理数据包的传输,让每个人都能通过不同的IP地址连接互联网。然而,...
它可能通过读取预设的配置文件或与路由器进行交互来改变电脑的IP地址,同时适应DHCP和静态IP的网络环境。 总的来说,这个“重启电脑小工具”是一个包含源代码的实用程序,不仅提供了方便的计算机重启功能,还可能...
- 对于动态 IP 上网方式,如果仍然无法上网,除了检查 IP 冲突和 MAC 地址外,还需要确保路由器获取到的 IP 地址与无路由器时电脑获取的 IP 相同。如果不一致,可能需要恢复出厂设置并重新配置。 8. **故障排查...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...
- 执行`reload`命令可以重启路由器,重启后路由器将从NVRAM中加载启动配置文件。此时,路由器提示符将变为`Router>`,表示路由器正在重新启动过程中,还未完全启动进入用户执行模式。 #### 三、使用`show version`...