因为要实现外网以代{过}{滤}理服务器的形式访问内网的一台PC机,所以,目标是实现内网穿透。刚开始没有发现光猫也带了路由器功能,因为路由器直接来个dmz或者端口转发就可以了,结果走了几段弯路。先说一下我的网络情况:
光猫(GPON天翼网关(4口单频) ZNH6000好像),带一个动态分配的外网地址60.121.23.11和一个192.168.1.1的内网地址,光猫接了一个华为aix3pro的无线路由器,分配给路由器的地址是192.168.1.167,路由器的内部下层局域网地址是192.168.3.1,需要访问的内网pc机,也是目标机器ip是192.168.3.90。
刚开始,在华为路由器配置了花生壳的动态域名,结果外网访问到的地址是192.168.1.167,第一个方案是让光猫路由器进行一次端口映射,60.121.23.11上的8888端口映射到192.168.1.167上的8888,再让华为路由器二次端口映射到192.168.3.90的8888端口。如果手机通过内网上网,把手机设置成60.121.23.11代{过}{滤}理地址,是可以访问到192.168.3.90pc的,但从外网地址就不能访问到192.168.3.90。二次转发不知道为啥不行?
怎么办?第二个解决方案是把pc直接连到猫的路由器上,获得的地址是192.168.1.11。但电信很鬼,进入http://192.168.1.1进行配置发现,给的配置权限很低,DMZ、DDNS等功能都不开放。怎么办?想法获得网关超级密码好像是唯一的办法。百度一下,网上找到这篇文章 https://post.smzdm.com/p/akmgqzk9/ ,其他好多都不行。依样画葫芦,抓包,获得telecomStatus.cgi数据后发现,我跟他的数据不同,他的服务器直接返回了密码给他,我的是一串MD5后的加密串,应该是后面升级了吧。正当我准备放弃的时候,发现超级密码规则很特别:账号telecomadmin
密码telecomadmin23557251(前面字符串固定,后面是8位动态数字)
如果是这样的话,就好办了。
写了一段代码,循环从99999999开始减数字,跟telecomadmin拼接后,算出MD5值,然后跟前面获取的MD5数据比较。运算速度很快,我的运气也好,密码是telecomadmin98475328,呵呵,基本上是秒出。马上登录http://192.168.1.1:8080超级管理页面,正常。端口也不转发了,直接把DMZ开起来,外网手机配置上60.121.23.11的地址和端口,pc机器上的charles能正常抓包了。
编辑:java代码:
import java.security.MessageDigest;
public class MD5Util {
public static String encode(String str) {
String str2 = "";
try {
MessageDigest instance = MessageDigest.getInstance("MD5");
instance.update(str.getBytes());
byte[] digest = instance.digest();
for (byte b2 : digest) {
String hexString = Integer.toHexString(b2 & 255);
if (hexString.length() == 1) {
str2 = str2 + "0" + hexString;
} else {
str2 = str2 + hexString;
}
}
} catch (Exception e2) {
e2.printStackTrace();
}
return str2;
}
public static void main(String[] args) {
for(int i = 99999999; i>=0; i-- ) {
if("0ecc3946595012ea51b831357cfb6d3a".equals(encode("telecomadmin" + i))) {
System.out.println("telecomadmin" + i);
break;
}
}
}
}
文章版权声明
1 原创文章作者:汇维网,如若转载,请注明出处: https://www.52hwl.com/3495.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别