Example #1
0
        public String getRouterMac(String routerAcc, String routerPwd)
        {
            String httpLinkInfo_getRouterMac = "http://" + this.gateway + "/userRpm/MacCloneCfgRpm.htm";
            String httpReceive_getRouterMac  = ToGet(routerAcc, routerPwd, httpLinkInfo_getRouterMac);

            if (httpReceive_getRouterMac == null)
            {
                return(null);
            }
            String[] fragment_getRouterMac = httpReceive_getRouterMac.Split('"');
            byte     tm = 0;

            foreach (String a in fragment_getRouterMac)
            {
                if (tm == 1 && networkSup.IsMac(a))
                {
                    return(a);
                }
                if (networkSup.IsMac(a))
                {
                    tm++;
                }
            }
            return(null);
        }
Example #2
0
        //设置克隆Mac
        public override int setCloneMAC(
            String routerAcc,
            String routerPwd,
            String Mac         //传入"router"为使用路由器地址
                               //    "pc"    为使用本机MAC地址
                               //其余为指定MAC地址,格式用XX-XX-XX-XX-XX-XX
                               //最后有个校验,如果不是这种格式,此函数将返回失败代码0
            )
        {
            String writeInLinkMac             = null;
            String httpBody_getPPPOEOption    = "{\"protocol\":{\"name\":[\"wan\",\"pppoe\"]},\"network\":{\"name\":[\"wan_status\",\"iface_mac\"]},\"method\":\"get\"}";
            String httpReceive_getPPPOEOption = ToPost(getAbleLink(routerPwd), httpBody_getPPPOEOption);

            if (httpReceive_getPPPOEOption == null)     //如果获取路由原有信息失败
            {
                log.writeLog("router5 : setCloneMAC() 获取路由原有信息失败", log.msgType.error);
                return(0);
            }


            if (Mac.Equals("router"))                   //如果传入参数为"router"
            {
                writeInLinkMac = getJsonValue(httpReceive_getPPPOEOption, "factory");
            }
            else if (Mac.Equals("pc"))                  //如果传入参数为"pc"
            {
                writeInLinkMac = getJsonValue(httpReceive_getPPPOEOption, "host");
            }
            else
            {
                if (!networkSup.IsMac(Mac))
                {                      //如果传入参数不是标准的Mac地址
                    log.writeLog("router5 : setCloneMAC() 传入了非标准mac", log.msgType.error);
                    return(0);
                }
            }

            String httpbody_setMac    = "{\"protocol\":{\"wan\":{\"macaddr\":\"" + writeInLinkMac + "\"}},\"method\":\"set\"}";
            String httpReceive_setMac = ToPost(getAbleLink(routerPwd), httpbody_setMac);

            if (httpReceive_setMac.IndexOf("\"error_code\":0") != -1)
            {
                return(1);
            }
            else
            {
                log.writeLog("router5 : setCloneMAC() 服务器返回未成功字段", log.msgType.error);
                return(0);
            }
        }
Example #3
0
 //Mac验证所需控件合法性
 private bool UI_macVerify()
 {
     if (!cloneMAC.Equals("pc") && !cloneMAC.Equals("router") && !netSup.IsMac(cloneMAC))
     {
         pubFun_setText_simpleButton_showUser("请输入正确的MAC地址", Color.Red);
         return(false);
     }
     if (routerAcc == null || routerAcc.Equals(""))
     {
         pubFun_setText_simpleButton_showUser("路由管理员未填写", Color.Red);
         return(false);
     }
     if (routerPwd == null || routerPwd.Equals(""))
     {
         pubFun_setText_simpleButton_showUser("路由密码未填写", Color.Red);
         return(false);
     }
     return(true);
 }
Example #4
0
        public int setCloneMAC(
            String routerAcc,
            String routerPwd,
            String Mac         //传入"router"为使用路由器地址
                               //    "pc"    为使用本机MAC地址
                               //其余为指定MAC地址,格式用XX-XX-XX-XX-XX-XX
                               //最后有个校验,如果不是这种格式,此函数将返回失败代码0
            )
        {
            String url_getRouterMac     = "http://" + this.gateway + "/?code=2&asyn=0&id=" + getLinkStok(routerPwd);
            String body_getRouterMac    = "1";
            String receive_getRouterMac = ToPost(url_getRouterMac, body_getRouterMac);
            String lanMac = null;

            //Console.WriteLine("receive_getRouterMac:" + receive_getRouterMac);
            //Console.WriteLine("indexof: " + receive_getRouterMac.IndexOf("mac 0 "));
            if (receive_getRouterMac != null)
            {
                lanMac = receive_getRouterMac.Substring(receive_getRouterMac.IndexOf("mac 0 ") + 6, 17);
            }
            //Console.WriteLine("routerMac:" + routerMac);
            if (!networkSup.IsMac(lanMac))
            {
                log.writeLog("router3 : setCloneMAC() 获取路由MAC失败", log.msgType.error);
                return(0);
            }

            String url_getPcMac     = "http://" + this.gateway + "/?code=8&asyn=0&id=" + getLinkStok(routerPwd);
            String body_getPcMac    = "";
            String receive_getPcMac = ToPost(url_getPcMac, body_getPcMac);
            String PcMac            = null;

            PcMac = receive_getPcMac.Substring(receive_getPcMac.IndexOf(@"00000
") + 7, 17);
            if (!networkSup.IsMac(PcMac))
            {
                log.writeLog("router3 : setCloneMAC() 获取PC-MAC失败", log.msgType.error);
                return(0);
            }


            String writeInLinkMac = null;

            if (Mac.Equals("router"))
            {
                writeInLinkMac = getWanMac(lanMac);
                if (writeInLinkMac == null)
                {
                    log.writeLog("router3 : setCloneMAC() writeInLinkMac错误", log.msgType.error);
                    return(0);
                }
            }

            else if (Mac.Equals("pc"))
            {
                writeInLinkMac = PcMac;
            }
            else if (networkSup.IsMac(Mac))
            {
                writeInLinkMac = Mac;
            }
            else
            {
                log.writeLog("router3 : setCloneMAC() Mac参数不合法", log.msgType.error);
                return(0);
            }

            String url_setCloneMac     = "http://" + this.gateway + "/?code=1&asyn=0&id=" + getLinkStok(routerPwd);
            String body_setCloneMac    = @"id 1
authKey " + encrypt(routerPwd, locaShort, locaLong) + @"
setWzd 1
mode 0
logLevel 3
fastpath 1
mac 0 " + lanMac + @"
mac 1 " + writeInLinkMac;
            String receive_setCloneMac = ToPost(url_setCloneMac, body_setCloneMac);

            Console.WriteLine("receive_setCloneMac:" + receive_setCloneMac);
            if (receive_setCloneMac.IndexOf("00000") != -1)
            {
                return(1);
            }
            log.writeLog("router3 : setCloneMAC() 服务器返回未成功字段", log.msgType.error);
            return(0);
        }