找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 5794|回复: 19

知道超密如何得到telnet登录密码

[复制链接]
发表于 2021-9-30 22:19 | 显示全部楼层 |阅读模式
光猫:山东联通dt741-csf

使用默认超密登录WEB,导出配置到优盘。破解后得到密码如下:

<Tbl name="TelnetUser" RowCount="2">
<Row No="0">
<DM name="ViewName" val="IGD.TelnetUser1"/>
<DM name="Username" val="root"/>
<DM name="Password" val="Pon521"/>
<DM name="Type" val="LAN"/>
</Row>
<Row No="1">
<DM name="ViewName" val="IGD.TelnetUser2"/>
<DM name="Username" val="root"/>
<DM name="Password" val="Pon521"/>
<DM name="Type" val="WAN"/>
</Row>
</Tbl>

写着telnet登录密码,可是登录不上去。。。

超密可以:
<DM name="LocalAdminName" val="CUAdmin"/>
<DM name="LocalAdminPassword" val="CUAdmin"/>

说明从配置中已经解密,telnet登录怎么不对呢???


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2021-9-30 23:07 | 显示全部楼层
这个教程:https://www.right.com.cn/forum/thread-4057681-1-1.html
有开启 telnet服务吗

点评

telnet开了兄弟,有login: 提示接入了  详情 回复 发表于 2021-10-1 08:30
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-1 08:30 | 显示全部楼层
jjit 发表于 2021-9-30 23:07
这个教程:https://www.right.com.cn/forum/thread-4057681-1-1.html
有开启 telnet服务吗

telnet开了兄弟,有login: 提示接入了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-1 08:43 | 显示全部楼层
我的目的是得到山东版本下的telnet密码,超密默认是CUAdmin/CUAdmin .
从默认版本下telnet (root/Pon521) 得到的信息

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 10000000 00020000 "whole flash"
mtd1: 00200000 00020000 "u-boot"
mtd2: 00400000 00020000 "parameter tags"
mtd3: 02000000 00020000 "kernel0"
mtd4: 00400000 00020000 "middleware"
mtd5: 00800000 00020000 "usercfg"       0x00800000 = 0d8388608 = 8192K
mtd6: 02000000 00020000 "kernel1"
mtd7: 00600000 00020000 "others"
mtd8: 00400000 00020000 "wlan"
mtd9: 00200000 00020000 "phoneapp"
mtd10: 01e00000 00020000 "osgi"
mtd11: 06400000 00020000 "plugin_data"
mtd12: 01e00000 00020000 "osgi1"
mtd13: 00200000 00020000 "phoneapp1"

这几个分区,有帮助么?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-1 16:38 | 显示全部楼层
telnet使用的是系统密码,攻破几乎不可能。
知道telnet登录root密码,是最高权限,可以从文件 中得到超级密码。
但反过来就不行。
因为超密只是WEB最高权限而不是系统权限。

看来没戏了???

我想从WEB入手可能更好。从这个可用 链接入手,
http://192.168.1.1/hidden_version_switch.html
在/目录下,用
find / -name 'hidden_version_switch.html' -print
竟然没找到。
那么 WEB 服务器目录在哪里呢???
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-1 17:47 | 显示全部楼层
想从Pon521被md5加密保存在shadow文件入手,结果找到shadow文件的加密方式如下所示,其中有一salt未知变量,完了,简单的md5不可行了。从我的shadow文件找到的密文与下文比较,观察,应该是一样的加密方式。
https://www.cnblogs.com/bourneli/articles/2585224.html

下面是我的经过加密的root密码(明文是Pon521)
$1$qGmxLn8v$yTzaaXdb6.6QLLgS0Euz.1
而简单的md5加密如下:
% echo -n "Pon521" | md5
9dd367c44447727db701e42faffaa21f

呵呵,没有相同之处。只有从WEB入手一条路了。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-1 22:10 | 显示全部楼层
从WEB入手,找脚本从哪里修改了root密码(当切换默认版本与山东版本时)。下面是脚本,大神能找出关键文件么?我是看不懂

function getObj(id)
{
return(document.getElementById(id));
}
function jslSetValue(dst, src, action)
{
var src_o = getObj(src);
var dst_o = getObj(dst);
dst_o.value= String(src_o.value);
switch (action)
{
case "GET":
if (dst_o.setAttribute)
{
dst_o.setAttribute("_initValue", dst_o.value)
}
break;
case "SET":
if (src_o.getAttribute)
{
var initValue = src_o.getAttribute("_initValue");
if (initValue == src_o.value)
{
dst_o.value = "NULL";
}
}
break;
default:
break;
}
}
function setValue(id,value)
{
getObj(id).value = value;
}
function Transfer_meaning(id,value)
{
getObj(id).value = value;
}
function getValue(id)
{
return(getObj(id).value);
}
function setHTML(id, html)
{
getObj(id).innerHTML = html;
}
function getHTML(id)
{
return (getObj(id).innerHTML);
}
function getDisabled(id)
{
return(getObj(id).disabled);
}
function getDisplay(id)
{
if(getObj(id).style.display == "none")
return false;
else
return true;
}
function getChecked(id)
{
return(getObj(id).checked);
}
function setChecked(id,value)
{
getObj(id).checked = value;
}
function jslDiDisplay(id)
{
var i = 0;
var num = arguments.length;
for(;i < num; i++)
{
getObj(arguments[i]).style.display = "none";
}
}
function jslEnDisplay(id)
{
var i = 0;
var num=arguments.length;
for(;i < num; i++)
{
getObj(arguments[i]).style.display = "";
}
}
function jslDisable(id)
{
var i = 0;
var num = arguments.length;
for(;i < num; i++)
{
getObj(arguments[i]).disabled = true;
}
}
function jslEnable(id)
{
var i = 0;
var num=arguments.length;
for(;i < num; i++)
{
getObj(arguments[i]).disabled=false;
}
}
function HiddenParaInit(arr)
{
var num = arguments.length;
for(var i=0; i<num; i++)
{
var leng = arguments[i].length;
for(var j=0; j<leng; j++)
{
setValue(arguments[i][j], "NULL");
}
}
}
function HiddenMultiInstParaInit(arr, index)
{
var leng = arr.length;
for(var i=0; i<leng; i++)
{
setValue(arr[i]+index, "NULL");
}
}
function ChangeTagStatus(names)
{
var leng = arguments.length;
var arrs, leng1, result;
for(var i = 0; i < leng-1; i++)
{
var arrs = document.getElementsByTagName(arguments[i]);
leng1 = arrs.length;
for (var j = 0; j < leng1; j++)
{
if ("hidden" != arrs[j].type && "file" != arrs[j].type )
{
arrs[j].disabled = arguments[leng-1];
}
}
}
}
function DisableALL()
{
ChangeTagStatus('input', 'select', true);
}
function EnableALL()
{
ChangeTagStatus('input', 'select', false);
}
function jslViewToPostCheckBox(PostId, ViewId)
{
var value = 0;
if (getChecked(ViewId))
{
value = "1";
}
setValue(PostId,value);
}
function jslPostToViewCheckBox(ViewId, PostId)
{
var value = false;
if (getValue(PostId) == "1")
{
value = true;
}
setChecked(ViewId, value);
}
function jslGetRadioValue(radioObject)
{
if (radioObject)
{
if (radioObject.length)
{
for (var i = 0; i < radioObject.length; i++)
{
if (radioObject[i].checked)
{
return radioObject[i].value;
}
}
}
else if (radioObject.checked)
{
return radioObject.value;
}
}
return -1;
}
function jslSetRadioValue(radioObject, value)
{
if(radioObject)
{
if(radioObject.length)
{
for(var i=0;i<radioObject.length; i++)
{
if(radioObject[i].value == value)
{
radioObject[i].checked = true;
return true;
}
}
}
else if (radioObject.value == value)
{
radioObject.checked = true;
}
}
return false;
}
function jslDoShowComboBox(viewid,postid)
{
var i = 0;
var selector = getObj(viewid);
var value=getObj(postid).value;
if(selector==null) return;
for(; i < selector.length; i++)
{
if(selector.options[i].value == value)
{
selector.selectedIndex = i;
return;
}
}
selector.selectedIndex = -1;
}
function addSelectOption(id, val, txt)
{
var o = getObj(id);
if (isValInSelect(val, id)==0)
{
var op = document.createElement('option');
op.text = txt;
op.value = val;
try
{
o.add(op,null);
}
catch(ex)
{
o.add(op);
}
}
}
function getOptionIndexByValue(sid, val)
{
var sObj = getObj(sid);
for ( var i=0; i<sObj.length; i++ )
{
if ( val == sObj.options[i].value )
{
return i;
}
}
return -1;
}
function deleteSelectOption(id, val)
{
var o = getObj(id);
var i = getOptionIndexByValue(id, val);
if(i > -1)
{
o.remove(i);
}
}
function deleteSelectOptions(selectID, keyWord)
{
var obj = getObj(selectID);
for ( var i=0; i<obj.options.length; )
{
if ( obj.options[i].value.match(keyWord) != null )
{
obj.remove(i);
}
else
{
i++;
}
}
}
function clearSelect(id)
{
var o = getObj(id);
while(o.options.length > 0)
{
o.remove(0);
}
}
function isValInSelect(val, sid)
{
if(getOptionIndexByValue(sid, val) > -1)
{
return 1;
}
return 0;
}
function setSelOtherValue(obj, value, id)
{
var flag = 0;
var mm = "";
if(id == null)
{
mm = "";
}
else
{
mm = getValue(id);
}
if (("" == mm) || ("N/A" == mm) || (null == mm))
{
var num = obj.length;
for (var i = num ;i > 0 ;i-- )
{
var name = obj.options[i-1].value;
var text = obj.options[i-1].text;
obj.options[i] = new Option(text, text);
obj.options[i].value = name;
}
obj.options[0] = new Option(value,value);
obj.options[0].value = value;
obj.options[0].text = value;
flag = 1;
}
return flag;
}
function colorizeInfoTbl(id)
{
var objTable = document.getElementById(id);
var clasName;
var colorFlg = true;
if(objTable)
{
for(var i = 0; i < objTable.rows.length; i++)
{
if(objTable.rows[i].style.display != "none")
{
if(colorFlg)
{
clasName = "white_1";
colorFlg = false;
}
else
{
clasName = "blue_1";
colorFlg = true;
}
}
objTable.rows[i].setAttribute("class", clasName);
objTable.rows[i].setAttribute("className", clasName);
}
}
}
function RmZero(str)
{
while(str.indexOf("0") == 0 && str.length > 1)
{
str = str.substr(1);
}
return str;
}
function IpRmZero(IpAddrValue)
{
var addrParts = IpAddrValue.split('.');
var leng = addrParts.length;
for (var i = 0; i < leng; i++)
{
addrParts[i]=RmZero(addrParts[i]);
}
return addrParts.join(".");
}
function ReSetIpRmZero(ID)
{
var num = arguments.length;
var re  = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
var obj;
if(num == 0) return;
for(i = 0;i < num; i++)
{
obj = getObj(arguments[i]);
if((obj != null && obj.value != "" && obj.value != null )&&(re.test(obj.value) == true))
{
obj.value = IpRmZero(obj.value);
}
}
}
function ReSetValueRmZero(ID)
{
var num = arguments.length;
var obj;
for(i = 0;i < num; i++)
{
obj = getObj(arguments[i]);
if(obj != null && obj.value != null && obj.value != "")
{
obj.value = RmZero(obj.value);
}
}
}
String.prototype.ReplaceAll = function(value)
{
return this.replace(/\s/g,value);
}
String.prototype.TrimLR = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function()
{
return this.replace(/(^\s*)/g, "");
}
String.prototype.RTrim = function()
{
return this.replace(/(\s*$)/g, "");
}
function HtmlShowSpace(value,id)
{
getObj(id).innerHTML = value.ReplaceAll("&nbsp;");
}
function HtmlInputShowSpace(value,id)
{
getObj(id).value = value.ReplaceAll("&nbsp;");
}
function trimLSpaces(str){
return str.LTrim();
}
function trimRSpaces(str){
return str.RTrim();
}
function trimAllSpaces(str)
{
return str.ReplaceAll("");
}
function trimLRSpaces(str)
{
return str.TrimLR();
}
function setNULLToSepPort(Port, Val)
{
var portvalue=Port;
if(portvalue=="")
{
portvalue = Val;
}
return portvalue;
}
function getSepPortToNULL(Port, Val)
{
var portvalue=Port;
if(portvalue==Val)
{
portvalue="";
}
return portvalue;
}
function setNULLToPort(Port)
{
var portvalue=Port;
if(portvalue=="")
{
portvalue = "-1";
}
return portvalue;
}
function getPortToNULL(Port)
{
var portvalue=Port;
if(portvalue=="-1")
{
portvalue="";
}
return portvalue;
}
function setNULLToMAC(MAC)
{
var macaddr=MAC;
if(macaddr=="")
{
macaddr="00:00:00:00:00:00";
}
return macaddr;
}
function getMACToNULL(MAC)
{
var macaddr=MAC;
if(macaddr=="00:00:00:00:00:00")
{
macaddr="";
}
return macaddr;
}
function setNULLToIP(IP)
{
var ipvalue=IP;
if(ipvalue=="")
{
ipvalue="0.0.0.0";
}
return ipvalue;
}
function getIPToNULL(IP)
{
var ipvalue=IP;
if(ipvalue=="0.0.0.0")
{
ipvalue="";
}
return ipvalue;
}
function encode64(input)
{
var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
input = escape(input);
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2))
{
enc3 = enc4 = 64;
}
else if (isNaN(chr3))
{
enc4 = 64;
}
output = output +
keyStr.charAt(enc1) +
keyStr.charAt(enc2) +
keyStr.charAt(enc3) +
keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
function decode64(input)
{
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
var base64test = /[^A-Za-z0-9\+\/\=]/g;
var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
if (base64test.exec(input)) {
alert("There were invalid base64 characters in the input text.\n" +
"Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
"Expect errors in decoding.");
}
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return unescape(output);
}
function fnBreakWordAll(o) {
var o = o || {},
iWord = o.word || 13,
iRe = o.re || '[a-zA-Z0-9]',
bAll = o.all || false,
sClassName = o.className || 'word-break-all',
aEls = o.els || ( function() {
var aEls = [],
aAllEls = document.getElementsByTagName( '*' ),
re = new RegExp( '(?:^|\\s+)' + sClassName + '(?:\\s+|$)' );
for ( var i = 0, iLen = aAllEls.length; i < iLen; ++i ) {
if ( re.test( aAllEls[i].className ) ) {
aEls[aEls.length] = aAllEls[i];
}
}
return aEls;
} )() || [],
fnBreakWord = function( oEl ) {

if( !oEl || oEl.nodeType !== 1 ) {
return false;
} else if ( oEl.currentStyle && typeof(oEl.currentStyle.wordWrap) === 'string' ) {
breakWord = function( oEl ) {
if (oEl.runtimeStyle)
{
oEl.runtimeStyle.wordWrap = 'break-word';
}
return true;
};
return breakWord( oEl );
} else if ( document.createTreeWalker ) {
var trim = function  ( str ) {
str = str.replace( /^\s\s*/, '' );
var ws = /\s/,
i = str.length;
while ( ws.test( str.charAt( --i ) ) );
return str.slice(0, i + 1);
};
breakWord = function( oEl ) {
var dWalker = document.createTreeWalker( oEl, NodeFilter.SHOW_TEXT, null, false );
var node, s, c = String.fromCharCode( '8203' ),

re = new RegExp( '(' + iRe + '{0,' + iWord + '})' );
while ( dWalker.nextNode() ) {
node = dWalker.currentNode;
s = trim( node.nodeValue ).split( re ).join( c );
node.nodeValue = s;
}
return true;
};
return breakWord( oEl );
}
};
for( var i=0, n=aEls.length; i<n; ++i ) {
var sUa = navigator.userAgent, sTn = aEls[i].tagName.toLowerCase();
if ( ( /Opera/ ).test( sUa ) || ( /Firefox/ ).test( sUa ) || ( ( /KHTML/ ).test( sUa ) && ( sTn === 'td' || sTn === 'th') ) || bAll ) {
fnBreakWord(aEls[i]);
}
}
}
function getInputtoHtml(id, value)
{
return ("<input type=\"text\" class=\"uiNoBorder\" value=\""
+ HTMLEnCode(value) + "\"  id=\"" + id + "\"  readonly>");
}
function getNameValue(id, value)
{
return ("<input type=\"text\" class=\"uiNoBorder\" value=\""
+ value + "\"  id=\"" + id + "\"  readonly>");
}
function getImage(src, strmethod, id)
{
var imageHTML = "<input type=\"button\" id=\""
+ id
+ "\" onclick=\""
+ strmethod
+ "\" class =\"multiImg\" "
+ "style=\"background:url(" + src + ");\">";
return (imageHTML);
}
function showIsEnableImage(isEnable, cellId)
{
var strId = "";
if("" != cellId)
{
strId = "id=" + cellId;
}
if("1" == isEnable)
{
return ("<input type=\"image\" src=\"img/enable.gif\" style=\"cursor:default\" " + strId + ">");
}
else
{
return ("<input type=\"image\" src=\"img/disable.gif\" style=\"cursor:default\" " + strId + ">");
}
}
function getImagefrmClass(ImgClass, strmethod, id)
{
var imageHTML = "<input type=\"button\" id=\""
+ id
+ "\" onclick=\""
+ strmethod
+ "\" class =\""
+ ImgClass
+ "\" >";
return (imageHTML);
}
function getXMLHTTPObj()
{
var xmlHttp = null;
try
{

xmlHttp=new XMLHttpRequest();
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return xmlHttp;
}
var xmlHTTPStatus = new Array();
xmlHTTPStatus['Uninitialized']  = 0;
xmlHTTPStatus['Open']           = 1;
xmlHTTPStatus['Sent']           = 2;
xmlHTTPStatus['Receiving']      = 3;
xmlHTTPStatus['Loaded']         = 4;
function AJAXObj()
{
this.obj = getXMLHTTPObj();
this.postStr = "";
this.addPostItem = function(name, value)
{
this.postStr += name + "=" + value + "&";
};
this.post = function(requestURL, responseFunc)
{
this.obj.open("POST", requestURL, true);
this.obj.onreadystatechange = responseFunc;
this.obj.send(this.postStr);
this.postStr = "";
};
this.getResponseText = function()
{
return this.obj.responseText;
};
this.getReadyState = function()
{
return this.obj.readyState;
};
this.getStatus = function()
{
return this.obj.status;
};
}
function getXMLDoc(xmlStr)
{
var xmlDoc;
try
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(xmlStr);
return(xmlDoc);
}
catch(e)
{
try
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlStr,"text/xml");
return(xmlDoc);
}
catch(e)
{
}
}
return(null);
}
function getAJAXResponseXMLDoc(xmlStr)
{
if (xmlStr.match(/^\s*<ajax_response_xml_root>/m) != null)
{
return getXMLDoc(xmlStr);
}
return null;
}
function XMLDocObj(xmlStr)
{
this.xmlDoc = getAJAXResponseXMLDoc(xmlStr);
this.getXMLNodeValue = function(nodeName)
{
var nodeValue = "";
try
{
nodeValue = this.xmlDoc.getElementsByTagName(nodeName)[0].childNodes[0].nodeValue;
}
catch(e)
{
}
return nodeValue;
};
this.getXMLNode = function(nodeName)
{
return this.xmlDoc.getElementsByTagName(nodeName)[0];
};
this.getCMAPIParaValue = function(OBJNAME, instID, paraName)
{
var paraValue = "";
var instObj   = null;
var o = this.getXMLNode(OBJNAME);
var insts = o.childNodes;
for (var i=0; i<insts.length; i++)
{
var attrs = insts[i].childNodes;
for (var j=0; j<attrs.length; j++)
{
if (attrs[j].nodeName=="ID" && instID==attrs[j].childNodes[0].nodeValue)
{
instObj = insts[i];
break;
}
}
}
if (null != instObj)
{
var attrs = instObj.childNodes;
for (var j=0; j<attrs.length; j++)
{
if (attrs[j].nodeName == "Parameters")
{
var paras = attrs[j].childNodes;
for (var k=0; k<paras.length; k++)
{
if (paras[k].nodeName == paraName)
{
try
{
paraValue = paras[k].childNodes[0].nodeValue;
}
catch(e)
{
}
break;
}
}
}
}
}
return paraValue;
};
this.getMIIDListArr = function(OBJNAME)
{
var idListArr = new Array();
var arrIndex = 0;
var o = this.getXMLNode(OBJNAME);
var insts = o.childNodes;
for (var i=0; i<insts.length; i++)
{
var attrs = insts[i].childNodes;
for (var j=0; j<attrs.length; j++)
{
if (attrs[j].nodeName=="ID")
{
idListArr[arrIndex++] = attrs[j].childNodes[0].nodeValue;
}
}
}
return idListArr;
};
}
function appendHiddenInput(fid, id, value)
{
var o = getObj(fid);
if (o != null)
{
var is = o.getElementsByTagName("input");
var il = is.length;
for (var i=0; i<il; i++)
{
var sid = is[i].id;
if ( id == sid )
{
is[i].value = value;
break;
}
}
if ( i == il )
{
var i = document.createElement("input");
i.type = "hidden";
i.id = id;
i.name = id;
i.value = value;
o.appendChild(i);
}
}
}
function deleteHiddenInput(fid, id)
{
var o = getObj(fid);
var t = getObj(id);
o.removeChild(t);
}
function clearfSubmit(fid)
{
var o = getObj(fid);
var clds = o.childNodes;
while (clds.length > 0)
{
o.removeChild(clds[0]);
}
}
function checkSameInput(fid)
{
var o = getObj(fid);
if (o != null)
{
var is = o.getElementByTagName("input");
var il = is.length;
for (var i=0; i<il-1; i++)
{
var sid = is[i].id;
for (var j=i+1; j<il; j++)
{
if (sid == is[j].id)
{
alert(fid+" has Same Inputs, ID:"+sid);
}
}
}
}
}
function getCookie(c_name)
{
if (document.cookie.length>0)
{
var c_start=document.cookie.indexOf(c_name + "=");
if ( -1 != c_start )
{
c_start = c_start + c_name.length + 1;
var c_end=document.cookie.indexOf(";", c_start);
if ( c_end == -1 )
{
c_end=document.cookie.length;
}
return unescape( document.cookie.substring(c_start, c_end) );
}
}
return null;
}
function setCookie(c_name,value,expiredays)
{
var exdate = new Date();
exdate.setDate( exdate.getDate() + expiredays );
var cookieContent = c_name + "=" + escape(value);
if ( null != expiredays )
{
cookieContent += "; expires=" + exdate.toGMTString();
}
document.cookie = cookieContent;
}
function HTMLEnCode(str)
{
str = str.replace(/&/g, "&amp;");
str = str.replace(/</g, "&lt;");
str = str.replace(/>/g, "&gt;");
str = str.replace(/ /g, "&nbsp;");
str = str.replace(/\"/g, "&quot;");
return str;
}
function HTMLDeCode(str)
{
str = str.replace(/&lt;/g, "<");
str = str.replace(/&gt;/g, ">");
str = str.replace(/&nbsp;/g, " ");
str = str.replace(/&quot;/g, "\"");
str = str.replace(/&amp;/g, "&");
return str;
}
function HTMLAddBr(str, wdth)
{
var str1 = "";
for (var i=0; i<Math.ceil(str.length/wdth); i++)
{
str1 += HTMLEnCode( str.substr(i*wdth, wdth) );
if ( Math.ceil(str.length/wdth) != i+1 )
{
str1 += "<br>";
}
}
return str1;
}
function CheckLen(obj,val)
{
if (val.length == obj.maxLength)
{
var curIndex = obj.id.match(/\d+$/);
var nextIndex = parseInt(curIndex, 10)+1;
var nextID = obj.id.replace(/\d+$/,"")+nextIndex;
if (getObj(nextID) == null)
{
return;
}
document.getElementById(nextID).focus();
document.getElementById(nextID).select();
}
else if (val.length == 0)
{
var curIndex = obj.id.match(/\d+$/);
var prevIndex = parseInt(curIndex, 10);
if (prevIndex > 1)
{
prevIndex = prevIndex - 1;
}
var prevID = obj.id.replace(/\d+$/,"")+prevIndex;
if (getObj(prevID) == null)
{
return;
}
document.getElementById(prevID).focus();
document.getElementById(prevID).select();
}
else
{
return;
}
}
function pageGetTelnetValue()
{
jslPostToViewCheckBox("Frm_TelnetEnable", "TelnetEnable");
}
function pageCheckTelnetValue()
{
var type = getValue("TelnetEnable");
if(type == 0 ||type == 1)
{
return true;
}
return false;
}
function pageSetTelnetValue()
{
jslViewToPostCheckBox("TelnetEnable", "Frm_TelnetEnable");
if(pageCheckTelnetValue() == 1)
{
jslDisable("Frm_TelnetEnable");
setValue("IF_TELNET_ACTION","apply");
getObj("fSubmit").submit();
}
else
{
jslDisable("Frm_TelnetEnable");
getObj("fSubmit").submit();
}
}
function ClearAllAndReboot()
{
if(confirm("Are you sure clear all config and reboot device?"))
{
jslDisable("Btn_ClearAll");
setValue("IF_CLEAR_ACTION","apply");
getObj("fSubmit").submit();
}
}
function pageSetValue()
{
jslSetValue("CountryCode","Frm_DefConfFileCapabilitySet");
}
function pageCheckValue()
{
var type = getValue("Frm_DefConfFileCapabilitySet");
if(type == -1)
{
return false;
}
return true;
}
function pageSubmit()
{
if(pageCheckValue() == true)
{
jslDisable("Btn_Submit");
pageSetValue();
setValue("IF_ACTION","apply");
getObj("fSubmit").submit();
}
else
{
jslDisable("Btn_Submit");
getObj("fSubmit").submit();
}
}
function pageLoad(url)
{
getObj("fSubmit").action = url;
var errstr= getValue("IF_ERRORSTR");
var errpara = getValue("IF_ERRORPARAM");
pageGetTelnetValue();
}
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-1 22:18 | 显示全部楼层
/home/httpd # cat hidden_version_switch.gch
<style type="text/css" media="all">
.login_telnetshow { width:600px; }
.login_macshow { width:600px; }
.login_li_9 { width:110px;height:17px;float:left;text-align:right; margin-left:5px;}
.login_li_10 { width:230px;height:17px;float:left;text-align:right; margin-left:20px;}
.login_li_8 { width:300px;height:20px;float:left;padding-left:4px;margin-left:4px; }
.login_li_7 { width:590px;height:17px;float:left;text-align:left;margin-left:8px}
.login_ul_1 { width:715px;height:20px;padding-top:10px;padding-bottom:10px;list-style:none; }
</style>
<script language="javascript">
<%IMPORT FILE "js/common.js"; %>
function pageGetTelnetValue()
{
jslPostToViewCheckBox("Frm_TelnetEnable", "TelnetEnable");
}
function pageCheckTelnetValue()
{
var type = getValue("TelnetEnable");
if(type == 0 ||type == 1)
{
return true;
}
return false;
}
function pageSetTelnetValue()
{
jslViewToPostCheckBox("TelnetEnable", "Frm_TelnetEnable");
if(pageCheckTelnetValue() == 1)
{
jslDisable("Frm_TelnetEnable");
setValue("IF_TELNET_ACTION","apply");
getObj("fSubmit").submit();
}
else
{
jslDisable("Frm_TelnetEnable");
getObj("fSubmit").submit();
}
}
function ClearAllAndReboot()
{
if(confirm("Are you sure clear all config and reboot device?"))
{
jslDisable("Btn_ClearAll");
setValue("IF_CLEAR_ACTION","apply");
getObj("fSubmit").submit();
}
}
function pageSetValue()
{
jslSetValue("CountryCode","Frm_DefConfFileCapabilitySet");
}
function pageCheckValue()
{
var type = getValue("Frm_DefConfFileCapabilitySet");
if(type == -1)
{
return false;
}
return true;
}
function pageSubmit()
{
if(pageCheckValue() == true)
{
jslDisable("Btn_Submit");
pageSetValue();
setValue("IF_ACTION","apply");
getObj("fSubmit").submit();
}
else
{
jslDisable("Btn_Submit");
getObj("fSubmit").submit();
}
}
function pageLoad(url)
{
getObj("fSubmit").action = url;
var errstr= getValue("IF_ERRORSTR");
var errpara = getValue("IF_ERRORPARAM");
pageGetTelnetValue();
}
</script>
<%
IMPORT FILE "common_gch.gch";
var FP_ERRORSTR     = "SUCC";
var FP_PARANUM      = 2;
var FP_HANDLE;
var FP_INSTNUM = 1;
var FP_IDENTITY = "";
var FP_OBJNAME = "OBJ_PON_VERSION_SWITCH_ID";
var PARA[2] =
{
"CountryCode",
"DefConfFileCapabilitySet"
};

create_form_start("fSubmit", "");
createBasicHidden();


var CountryCode = request("CountryCode");
var FP_ACTION = request("IF_ACTION");
if(FP_ACTION == "apply")
{
FP_HANDLE = create_paralist();
for(var i=0; i< FP_PARANUM; i++)
{
setpara(FP_HANDLE, PARA[i]);
}
FP_IDENTITY = set_inst(FP_HANDLE, FP_OBJNAME, FP_IDENTITY);
if(CountryCode == 2)
{
var LANG_HANDLE = create_paralist();
set_para(LANG_HANDLE, "Language", "English");
set_inst(LANG_HANDLE, "OBJ_USERIF_ID", "");
}
}
var FP_TELNET_ACTION = request("IF_TELNET_ACTION");
var FP_TELNET_ERRORSTR = "SUCC";
var FP_TELNET_IDENTITY = "";
if(FP_TELNET_ACTION == "apply" )
{
log_gch("apply telnet change");
var FP_HANDLE1 = create_paralist();
set_para(FP_HANDLE1, "TelnetEnable", request("TelnetEnable"));
FP_TELNET_IDENTITY = set_inst(FP_HANDLE1, "OBJ_TelnetCFG_ID", "");
FP_TELNET_ERRORSTR = getDisplayInstError(FP_TELNET_ERRORSTR);
}
var FP_CLAER_ACTION = request("IF_CLEAR_ACTION");
if(FP_CLAER_ACTION == "apply" )
{
log_gch("apply clearall&reboot");
del_inst("OBJ_PON_LOID_ID", "");
}
FP_HANDLE = create_paralist();

get_inst(FP_HANDLE, FP_OBJNAME, FP_IDENTITY);
create_hidden_para(FP_HANDLE, PARA, FP_PARANUM);
var CurrentVersion = get_para(FP_HANDLE,"CountryCode");
var SupportVersion = get_para(FP_HANDLE,"DefConfFileCapabilitySet");

var DevFullVersion = get_para(FP_HANDLE,"DevFullVersion");


var SvnVersion = get_para(FP_HANDLE,"SvnVersion");
var SvnUrl = get_para(FP_HANDLE,"SvnUrl");
var CompileTime = get_para(FP_HANDLE,"CompileTime");
var CompileScript = get_para(FP_HANDLE,"CompileScript");

var showmac_Str = get_para(FP_HANDLE,"MacInfoStr");

destroy_paralist(FP_HANDLE);
getDisplayInstError(FP_ERRORSTR);

create_hidden_sep("IF_CLEAR_ACTION", "");
var TELNET_HANDLE = create_paralist();
get_inst(TELNET_HANDLE, "OBJ_TelnetCFG_ID", FP_TELNET_IDENTITY);
var Telnet_Enable = get_para(TELNET_HANDLE,"TelnetEnable");
create_hidden_sep("TelnetEnable", Telnet_Enable);
create_hidden_sep("IF_TELNET_ACTION", "");
destroy_paralist(TELNET_HANDLE);
create_form_end();
%>
<div id="container">
<div id="head">
<div class="login_bg">
<div class="login_frame">
<div>
<ul class="login_blank"></ul>
<ul class="login_ul_1">

<li class="login_li_9">Full Version:</li>
<li class="login_li_7"><%=DevFullVersion;%></li>


<li class="login_li_9">Svn Reversion:</li>
<li class="login_li_7"><%=SvnVersion;%></li>
<li class="login_li_9">Svn Url:</li>
<li class="login_li_7" style="height:34px"><%=SvnUrl;%></li>
<li class="login_li_9">Compile Time:</li>
<li class="login_li_7"><%=CompileTime;%></li>
<li class="login_li_9">Compile Script:</li>
<li class="login_li_7"><%=CompileScript;%></li>

<li class="login_li_9">Current Version:</li>
<%
var CurrentVersionText = "Unknown Version";
switch (CurrentVersion)
{
case "0":
CurrentVersionText = "Default Version";
break;
case "1":
CurrentVersionText = "Russia Version";
break;
case "2":
CurrentVersionText = "Lithuania Version";
break;
case "3":
CurrentVersionText = "Roumania Version";
break;
case "4":
CurrentVersionText = "Singapore Version";
break;
case "5":
CurrentVersionText = "Italy Version";
break;
case "6":
CurrentVersionText = "United Arab Emirates Version";
break;
case "7":
CurrentVersionText = "England Version";
break;
case "8":
CurrentVersionText = "Libya Version";
break;
case "9":
CurrentVersionText = "Germany Version";
break;
case "10":
CurrentVersionText = "Brazil Version";
break;
case "11":
CurrentVersionText = "Telefonica Version";
break;
case "12":
CurrentVersionText = "PuertoRico Version";
break;
case "199":
CurrentVersionText = "QuanGuo Version";
break;
case "200":
CurrentVersionText = "JiangSu Version";
break;
case "201":
CurrentVersionText = "XinJiang Version";
break;
case "202":
CurrentVersionText = "HaiNan Version";
break;
case "203":
CurrentVersionText = "Tianjin Version";
break;
case "204":
CurrentVersionText = "AnHui Version";
break;
case "205":
CurrentVersionText = "ShangHai Version";
break;
case "206":
CurrentVersionText = "ChongQing Version";
break;
case "207":
CurrentVersionText = "Beijing Version";
break;
case "208":
CurrentVersionText = "SiChuan Version";
break;
case "209":
CurrentVersionText = "ShanDong Version";
break;
case "210":
CurrentVersionText = "GuangDong Version";
break;
case "211":
CurrentVersionText = "HuBei Version";
break;
case "212":
CurrentVersionText = "FuJian Version";
break;
case "213":
CurrentVersionText = "SuZhou Version";
break;
case "214":
CurrentVersionText = "ZheJiang Version";
break;
case "215":
CurrentVersionText = "ShanXi Version";
break;
case "216":
CurrentVersionText = "HuNan Version";
break;
case "217":
CurrentVersionText = "YunNan Version";
break;
case "218":
CurrentVersionText = "XiZang Version";
break;
case "219":
CurrentVersionText = "HeiLongjiang Version";
break;
case "220":
CurrentVersionText = "GuiZhou Version";
break;
case "221":
CurrentVersionText = "ShanXi2 Version";
break;
case "222":
CurrentVersionText = "Hebei Version";
break;
case "223":
CurrentVersionText = "NingXia Version";
break;
case "224":
CurrentVersionText = "GuangXi Version";
break;
case "225":
CurrentVersionText = "JiangXi Version";
break;
case "226":
CurrentVersionText = "GanSu Version";
break;
case "227":
CurrentVersionText = "QingHai Version";
break;
case "228":
CurrentVersionText = "XiAn-XianYang Version";
break;
case "229":
CurrentVersionText = "LiaoNing Version";
break;
case "230":
CurrentVersionText = "Jilin Version";
break;
case "231":
CurrentVersionText = "Neimenggu Version";
break;
case "232":
CurrentVersionText = "Henan Version";
break;
default:
break;
}
%>
<li class="login_li_7"><%=CurrentVersionText;%></li>
</ul>
<ul class="login_blank"></ul>
<ul class="login_ul_1">
<li class="login_li_9">Version Type:</li>
<li class="login_li_8">
<select id="Frm_DefConfFileCapabilitySet" name="Frm_DefConfFileCapabilitySet" size="1" class="list_7"">
<option value="-1"></option>
<script language="javascript">
var SupportVersionSet = "";
SupportVersionSet = "<%=SupportVersion;%>";
var arraySupportVersion = new Array();
arraySupportVersion = SupportVersionSet.split(",");
if(SupportVersionSet == "" || SupportVersionSet == null)
{
//如果支持的配置文件能力集为空,则不做处理
}
else
{
var SupportVersionValue = "";
var SupportVersionText  = "";
var DefConfFileCapabilitySetObj = getObj("Frm_DefConfFileCapabilitySet");
for( var j=0 ; j< arraySupportVersion.length ; j++)
{
if(arraySupportVersion[j] == "" || arraySupportVersion[j] == null)
{
break;
}
SupportVersionValue = arraySupportVersion[j];
switch(SupportVersionValue)
{
case "0":
SupportVersionText = "Default Version";
break;
case "1":
SupportVersionText = "Russia Version";
break;
case "2":
SupportVersionText = "Lithuania Version";
break;
case "3":
SupportVersionText = "Roumania Version";
break;
case "4":
SupportVersionText = "Singapore Version";
break;
case "5":
SupportVersionText = "Italy Version";
break;
case "6":
SupportVersionText = "United Arab Emirates Version";
break;
case "7":
SupportVersionText = "England Version";
break;
case "8":
SupportVersionText = "Libya Version";
break;
case "9":
SupportVersionText = "Germany Version";
break;
case "10":
SupportVersionText = "Brazil Version";
break;
case "11":
SupportVersionText = "Telefonica Version";
break;
case "12":
SupportVersionText = "PuertoRico Version";
break;
case "199":
SupportVersionText = "QuanGuo Version";
break;
case "200":
SupportVersionText = "JiangSu Version";
break;
case "201":
SupportVersionText = "XinJiang Version";
break;
case "202":
SupportVersionText = "HaiNan Version";
break;
case "203":
SupportVersionText = "Tianjin Version";
break;
case "205":
SupportVersionText = "ShangHai Version";
break;
case "204":
SupportVersionText = "AnHui Version";
break;
case "206":
SupportVersionText = "ChongQing Version";
break;
case "207":
SupportVersionText = "Beijing Version";
break;
case "208":
SupportVersionText = "SiChuan Version";
break;
case "209":
SupportVersionText = "ShanDong Version";
break;
case "210":
SupportVersionText = "GuangDong Version";
break;
case "211":
SupportVersionText = "HuBei Version";
break;
case "212":
SupportVersionText = "FuJian Version";
break;
case "213":
SupportVersionText = "SuZhou Version";
break;
case "214":
SupportVersionText = "ZheJiang Version";
break;
case "215":
SupportVersionText = "ShanXi(陕西) Version";
break;
case "216":
SupportVersionText = "HuNan Version";
break;
case "217":
SupportVersionText = "YunNan Version";
break;
case "218":
SupportVersionText = "XiZang Version";
break;
case "219":
SupportVersionText = "HeiLongjiang Version";
break;
case "220":
SupportVersionText = "GuiZhou Version";
break;
case "221":
SupportVersionText = "ShanXi2(山西) Version";
break;
case "222":
SupportVersionText = "Hebei Version";
break;
case "223":
SupportVersionText = "NingXia Version";
break;
case "224":
/home/httpd # cat hidden_version_switch.gch
<style type="text/css" media="all">
.login_telnetshow { width:600px; }
.login_macshow { width:600px; }
.login_li_9 { width:110px;height:17px;float:left;text-align:right; margin-left:5px;}
.login_li_10 { width:230px;height:17px;float:left;text-align:right; margin-left:20px;}
.login_li_8 { width:300px;height:20px;float:left;padding-left:4px;margin-left:4px; }
.login_li_7 { width:590px;height:17px;float:left;text-align:left;margin-left:8px}
.login_ul_1 { width:715px;height:20px;padding-top:10px;padding-bottom:10px;list-style:none; }
</style>
<script language="javascript">
<%IMPORT FILE "js/common.js"; %>
function pageGetTelnetValue()
{
jslPostToViewCheckBox("Frm_TelnetEnable", "TelnetEnable");
}
function pageCheckTelnetValue()
{
var type = getValue("TelnetEnable");
if(type == 0 ||type == 1)
{
return true;
}
return false;
}
function pageSetTelnetValue()
{
jslViewToPostCheckBox("TelnetEnable", "Frm_TelnetEnable");
if(pageCheckTelnetValue() == 1)
{
jslDisable("Frm_TelnetEnable");
setValue("IF_TELNET_ACTION","apply");
getObj("fSubmit").submit();
}
else
{
jslDisable("Frm_TelnetEnable");
getObj("fSubmit").submit();
}
}
function ClearAllAndReboot()
{
if(confirm("Are you sure clear all config and reboot device?"))
{
jslDisable("Btn_ClearAll");
setValue("IF_CLEAR_ACTION","apply");
getObj("fSubmit").submit();
}
}
function pageSetValue()
{
jslSetValue("CountryCode","Frm_DefConfFileCapabilitySet");
}
function pageCheckValue()
{
var type = getValue("Frm_DefConfFileCapabilitySet");
if(type == -1)
{
return false;
}
return true;
}
function pageSubmit()
{
if(pageCheckValue() == true)
{
jslDisable("Btn_Submit");
pageSetValue();
setValue("IF_ACTION","apply");
getObj("fSubmit").submit();
}
else
{
jslDisable("Btn_Submit");
getObj("fSubmit").submit();
}
}
function pageLoad(url)
{
getObj("fSubmit").action = url;
var errstr= getValue("IF_ERRORSTR");
var errpara = getValue("IF_ERRORPARAM");
pageGetTelnetValue();
}
</script>
<%
IMPORT FILE "common_gch.gch";
var FP_ERRORSTR     = "SUCC";
var FP_PARANUM      = 2;
var FP_HANDLE;
var FP_INSTNUM = 1;
var FP_IDENTITY = "";
var FP_OBJNAME = "OBJ_PON_VERSION_SWITCH_ID";
var PARA[2] =
{
"CountryCode",
"DefConfFileCapabilitySet"
};

create_form_start("fSubmit", "");
createBasicHidden();


var CountryCode = request("CountryCode");
var FP_ACTION = request("IF_ACTION");
if(FP_ACTION == "apply")
{
FP_HANDLE = create_paralist();
for(var i=0; i< FP_PARANUM; i++)
{
setpara(FP_HANDLE, PARA[i]);
}
FP_IDENTITY = set_inst(FP_HANDLE, FP_OBJNAME, FP_IDENTITY);
if(CountryCode == 2)
{
var LANG_HANDLE = create_paralist();
set_para(LANG_HANDLE, "Language", "English");
set_inst(LANG_HANDLE, "OBJ_USERIF_ID", "");
}
}
var FP_TELNET_ACTION = request("IF_TELNET_ACTION");
var FP_TELNET_ERRORSTR = "SUCC";
var FP_TELNET_IDENTITY = "";
if(FP_TELNET_ACTION == "apply" )
{
log_gch("apply telnet change");
var FP_HANDLE1 = create_paralist();
set_para(FP_HANDLE1, "TelnetEnable", request("TelnetEnable"));
FP_TELNET_IDENTITY = set_inst(FP_HANDLE1, "OBJ_TelnetCFG_ID", "");
FP_TELNET_ERRORSTR = getDisplayInstError(FP_TELNET_ERRORSTR);
}
var FP_CLAER_ACTION = request("IF_CLEAR_ACTION");
if(FP_CLAER_ACTION == "apply" )
{
log_gch("apply clearall&reboot");
del_inst("OBJ_PON_LOID_ID", "");
}
FP_HANDLE = create_paralist();

get_inst(FP_HANDLE, FP_OBJNAME, FP_IDENTITY);
create_hidden_para(FP_HANDLE, PARA, FP_PARANUM);
var CurrentVersion = get_para(FP_HANDLE,"CountryCode");
var SupportVersion = get_para(FP_HANDLE,"DefConfFileCapabilitySet");

var DevFullVersion = get_para(FP_HANDLE,"DevFullVersion");


var SvnVersion = get_para(FP_HANDLE,"SvnVersion");
var SvnUrl = get_para(FP_HANDLE,"SvnUrl");
var CompileTime = get_para(FP_HANDLE,"CompileTime");
var CompileScript = get_para(FP_HANDLE,"CompileScript");

var showmac_Str = get_para(FP_HANDLE,"MacInfoStr");

destroy_paralist(FP_HANDLE);
getDisplayInstError(FP_ERRORSTR);

create_hidden_sep("IF_CLEAR_ACTION", "");
var TELNET_HANDLE = create_paralist();
get_inst(TELNET_HANDLE, "OBJ_TelnetCFG_ID", FP_TELNET_IDENTITY);
var Telnet_Enable = get_para(TELNET_HANDLE,"TelnetEnable");
create_hidden_sep("TelnetEnable", Telnet_Enable);
create_hidden_sep("IF_TELNET_ACTION", "");
destroy_paralist(TELNET_HANDLE);
create_form_end();
%>
<div id="container">
<div id="head">
<div class="login_bg">
<div class="login_frame">
<div>
<ul class="login_blank"></ul>
<ul class="login_ul_1">

<li class="login_li_9">Full Version:</li>
<li class="login_li_7"><%=DevFullVersion;%></li>


<li class="login_li_9">Svn Reversion:</li>
<li class="login_li_7"><%=SvnVersion;%></li>
<li class="login_li_9">Svn Url:</li>
<li class="login_li_7" style="height:34px"><%=SvnUrl;%></li>
<li class="login_li_9">Compile Time:</li>
<li class="login_li_7"><%=CompileTime;%></li>
<li class="login_li_9">Compile Script:</li>
<li class="login_li_7"><%=CompileScript;%></li>

<li class="login_li_9">Current Version:</li>
<%
var CurrentVersionText = "Unknown Version";
switch (CurrentVersion)
{
case "0":
CurrentVersionText = "Default Version";
break;
case "1":
CurrentVersionText = "Russia Version";
break;
case "2":
CurrentVersionText = "Lithuania Version";
break;
case "3":
CurrentVersionText = "Roumania Version";
break;
case "4":
CurrentVersionText = "Singapore Version";
break;
case "5":
CurrentVersionText = "Italy Version";
break;
case "6":
CurrentVersionText = "United Arab Emirates Version";
break;
case "7":
CurrentVersionText = "England Version";
break;
case "8":
CurrentVersionText = "Libya Version";
break;
case "9":
CurrentVersionText = "Germany Version";
break;
case "10":
CurrentVersionText = "Brazil Version";
break;
case "11":
CurrentVersionText = "Telefonica Version";
break;
case "12":
CurrentVersionText = "PuertoRico Version";
break;
case "199":
CurrentVersionText = "QuanGuo Version";
break;
case "200":
CurrentVersionText = "JiangSu Version";
break;
case "201":
CurrentVersionText = "XinJiang Version";
break;
case "202":
CurrentVersionText = "HaiNan Version";
break;
case "203":
CurrentVersionText = "Tianjin Version";
break;
case "204":
CurrentVersionText = "AnHui Version";
break;
case "205":
CurrentVersionText = "ShangHai Version";
break;
case "206":
CurrentVersionText = "ChongQing Version";
break;
case "207":
CurrentVersionText = "Beijing Version";
break;
case "208":
CurrentVersionText = "SiChuan Version";
break;
case "209":
CurrentVersionText = "ShanDong Version";
break;
case "210":
CurrentVersionText = "GuangDong Version";
break;
case "211":
CurrentVersionText = "HuBei Version";
break;
case "212":
CurrentVersionText = "FuJian Version";
break;
case "213":
CurrentVersionText = "SuZhou Version";
break;
case "214":
CurrentVersionText = "ZheJiang Version";
break;
case "215":
CurrentVersionText = "ShanXi Version";
break;
case "216":
CurrentVersionText = "HuNan Version";
break;
case "217":
CurrentVersionText = "YunNan Version";
break;
case "218":
CurrentVersionText = "XiZang Version";
break;
case "219":
CurrentVersionText = "HeiLongjiang Version";
break;
case "220":
CurrentVersionText = "GuiZhou Version";
break;
case "221":
CurrentVersionText = "ShanXi2 Version";
break;
case "222":
CurrentVersionText = "Hebei Version";
break;
case "223":
CurrentVersionText = "NingXia Version";
break;
case "224":
CurrentVersionText = "GuangXi Version";
break;
case "225":
CurrentVersionText = "JiangXi Version";
break;
case "226":
CurrentVersionText = "GanSu Version";
break;
case "227":
CurrentVersionText = "QingHai Version";
break;
case "228":
CurrentVersionText = "XiAn-XianYang Version";
break;
case "229":
CurrentVersionText = "LiaoNing Version";
break;
case "230":
CurrentVersionText = "Jilin Version";
break;
case "231":
CurrentVersionText = "Neimenggu Version";
break;
case "232":
CurrentVersionText = "Henan Version";
break;
default:
break;
}
%>
<li class="login_li_7"><%=CurrentVersionText;%></li>
</ul>
<ul class="login_blank"></ul>
<ul class="login_ul_1">
<li class="login_li_9">Version Type:</li>
<li class="login_li_8">
<select id="Frm_DefConfFileCapabilitySet" name="Frm_DefConfFileCapabilitySet" size="1" class="list_7"">
<option value="-1"></option>
<script language="javascript">
var SupportVersionSet = "";
SupportVersionSet = "<%=SupportVersion;%>";
var arraySupportVersion = new Array();
arraySupportVersion = SupportVersionSet.split(",");
if(SupportVersionSet == "" || SupportVersionSet == null)
{
//如果支持的配置文件能力集为空,则不做处理
}
else
{
var SupportVersionValue = "";
var SupportVersionText  = "";
var DefConfFileCapabilitySetObj = getObj("Frm_DefConfFileCapabilitySet");
for( var j=0 ; j< arraySupportVersion.length ; j++)
{
if(arraySupportVersion[j] == "" || arraySupportVersion[j] == null)
{
break;
}
SupportVersionValue = arraySupportVersion[j];
switch(SupportVersionValue)
{
case "0":
SupportVersionText = "Default Version";
break;
case "1":
SupportVersionText = "Russia Version";
break;
case "2":
SupportVersionText = "Lithuania Version";
break;
case "3":
SupportVersionText = "Roumania Version";
break;
case "4":
SupportVersionText = "Singapore Version";
break;
case "5":
SupportVersionText = "Italy Version";
break;
case "6":
SupportVersionText = "United Arab Emirates Version";
break;
case "7":
SupportVersionText = "England Version";
break;
case "8":
SupportVersionText = "Libya Version";
break;
case "9":
SupportVersionText = "Germany Version";
break;
case "10":
SupportVersionText = "Brazil Version";
break;
case "11":
SupportVersionText = "Telefonica Version";
break;
case "12":
SupportVersionText = "PuertoRico Version";
break;
case "199":
SupportVersionText = "QuanGuo Version";
break;
case "200":
SupportVersionText = "JiangSu Version";
break;
case "201":
SupportVersionText = "XinJiang Version";
break;
case "202":
SupportVersionText = "HaiNan Version";
break;
case "203":
SupportVersionText = "Tianjin Version";
break;
case "205":
SupportVersionText = "ShangHai Version";
break;
case "204":
SupportVersionText = "AnHui Version";
break;
case "206":
SupportVersionText = "ChongQing Version";
break;
case "207":
SupportVersionText = "Beijing Version";
break;
case "208":
SupportVersionText = "SiChuan Version";
break;
case "209":
SupportVersionText = "ShanDong Version";
break;
case "210":
SupportVersionText = "GuangDong Version";
break;
case "211":
SupportVersionText = "HuBei Version";
break;
case "212":
SupportVersionText = "FuJian Version";
break;
case "213":
SupportVersionText = "SuZhou Version";
break;
case "214":
SupportVersionText = "ZheJiang Version";
break;
case "215":
SupportVersionText = "ShanXi(陕西) Version";
break;
case "216":
SupportVersionText = "HuNan Version";
break;
case "217":
SupportVersionText = "YunNan Version";
break;
case "218":
SupportVersionText = "XiZang Version";
break;
case "219":
SupportVersionText = "HeiLongjiang Version";
break;
case "220":
SupportVersionText = "GuiZhou Version";
break;
case "221":
SupportVersionText = "ShanXi2(山西) Version";
break;
case "222":
SupportVersionText = "Hebei Version";
break;
case "223":
SupportVersionText = "NingXia Version";
break;
case "224":
SupportVersionText = "GuangXi Version";
break;
case "225":
SupportVersionText = "JiangXi Version";
break;
case "226":
SupportVersionText = "GanSu Version";
break;
case "227":
SupportVersionText = "QingHai Version";
break;
case "228":
SupportVersionText = "XiAn-XianYang Version";
break;
case "229":
SupportVersionText = "LiaoNing Version";
break;
case "230":
SupportVersionText = "Jilin Version";
break;
case "231":
SupportVersionText = "Neimenggu Version";
break;
case "232":
SupportVersionText = "Henan Version";
break;
default:
SupportVersionText = "Version_"+SupportVersionValue;
break;
}
DefConfFileCapabilitySetObj.options[j+1] = new Option(SupportVersionText,SupportVersionText);
DefConfFileCapabilitySetObj.options[j+1].value = SupportVersionValue;
}
}
</script>
</select>
</li>
<li class="login_li_3">
<input name='Submit' type='button' id='Btn_Submit' onclick=pageSubmit()  class='button' value='Submit' />
</li>
</ul>
<li class="login_telnetshow">
<table id="TelnetTable"  class="table" width="300px"  border="0">
<tr>
=======================================================
</tr>
<tr>
<td class="login_li_9">Telnet Enable:</td>
<td width="100px">
<input name="Frm_TelnetEnable" id="Frm_TelnetEnable" type="checkbox" value="" onclick="pageSetTelnetValue()"  />
</td>
<td  width="150px" align="right" >
<input name="Btn_ClearAll" id="Btn_ClearAll" type="button"  value="ClearAll&Reboot" onclick="ClearAllAndReboot()"  />
</td>
</tr>
</table>
<li>
<li class="login_macshow" top="200px">
<pre><%=showmac_Str;%></pre >
</li>
</div>
</div>
</div>
</div>
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-3 19:02 | 显示全部楼层
从ps aux中可看到httpd进程。但不清楚是busybox自带的还是apache的。
从启动过程中多处看到,libhttpd.c这个文件 ,搜索找到

libhttpd是一个小型的嵌入式web server,在开发过程中,如果需要web server,但仅仅需要实现固定两三个web网页服务及处理小部分http请求,则可以将Libhttpd嵌入开发中,生成动态库文件使用。
libhttp:http://www.hughes.com.au/products/libhttpd/

libhttpd提供了良好的API,可以实现web server的静态和动态内容处理。
https://blog.csdn.net/viewsky11/article/details/53127807
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-10-3 23:26 | 显示全部楼层
别折腾了,借用兄弟的话:“联通真累!”直接换猫吧,这猫没啥值得折腾的地方,我直接换HS8546X6,很香!

点评

我的成果是: 光猫A,可桥接。工作使用,不折腾。 光猫B,就是这一个,可桥接正常使用,折腾玩。  详情 回复 发表于 2021-10-4 05:51
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-4 05:51 | 显示全部楼层
sn3068 发表于 2021-10-3 23:26
别折腾了,借用兄弟的话:“联通真累!”直接换猫吧,这猫没啥值得折腾的地方,我直接换HS8546X6,很香!

我的成果是:
光猫A,可桥接。工作使用,不折腾。
光猫B,就是这一个,可桥接正常使用,折腾玩。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-4 05:51 | 显示全部楼层
Boot NAND
start read bootheader
start read secondboot
non secure boot
Jump
ddr init enter, rate is 1066Mbps
ddr size is 0x20000000
ddr init done


U-Boot 2013.04-svn171642 (May 08 2021 - 16:11:51)

1000MHZ
CPU  : ZX279127S@A9,Board: ZXIC zx279127sevb
CONFIG_SYS_SDRAM_SIZE:=0x20000000
DRAM:  512 MiB
CONFIG_SYS_SDRAM_SIZE:=0x20000000
Flash: NAND
product_vid = 144
vid=144-TBY06G
pass pinmux for flash
NAND:  NAND_special nand special:0

Manu ID: 0x98, Chip ID: 0xda (Toshiba NAND 256MiB 3,3V 8-bit)
256 MiB
<nand_read_skip_bad_,1311>!mtdpart=0x1,offset=0x0,mtdpartoffset=0x180000,mtdPartsize=0x80000,length=0x20000
In:    serial
Out:   serial
Err:   serial
clk_pll env is not setted, core clk won't change
Net:   enter ref_clk_set.. mode = 0 .
enter pll_cfg_fractional
ref_clk_set success!
gpon serdes init
innerGeLedPolarSet 1
innerGeLedPolarSet 1
innerGeLedPolarSet 1
innerGeLedPolarSet 1
eth0

Hit 1 to upgrade software version
Hit ENTER key to stop autoboot:  1 ... 0
do_mcupg function enter..
after pon_tm_qmg_init
Using eth0 device
multi upgrade check timeout.
Receive multicast packet failed (>.<)
disable phy
addr=200000
addr=2200000
select=0x0
search=0x2
<nand_read_skip_bad_,1311>!mtdpart=0x4,offset=0x0,mtdpartoffset=0x4200000,mtdPartsize=0x600000,length=0x1000
BootImageNum=0x00000000,0
select=0x0
search=0x2
search->result[select].entry=2001e0
mtd_length=17784b0
<nand_read_skip_bad_,1311>!mtdpart=0x2,offset=0x0,mtdpartoffset=0x200000,mtdPartsize=0x2000000,length=0x17784b0
<nand_read_skip_bad_,1311>!mtdpart=0x0,offset=0x0,mtdpartoffset=0x0,mtdPartsize=0x180000,length=0x80000
lseek=0x4687e000
cmdline=U-Boot 1.0.0 20210508162051
## Booting kernel from Legacy Image at 440001e0 ...
   Image Name:   Linux Kernel Image
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    24609411 Bytes = 23.5 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

NAND read: device 0 offset 0xe000000, size 0x22
34 bytes read: OK
sky: get magic cmd is [……nd read 5f5479c0 E000000 22], data read […………………………………………………………………………………………nd read 5f5479c0 E000000 22]
----------------------
|-->setup versioninfo tag...

Starting kernel ...
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-4 05:53 | 显示全部楼层
uboot

=> help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootk   - boot kernel
bootm   - boot application image from memory
bootz   - boot Linux zImage image from memory
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
dhcp    - boot image via network using DHCP/TFTP protocol
downver - upgrade software downloaded from TFTP server
echo    - echo args to console
erase   - erase FLASH memory
fdt     - flattened device tree utility commands
flinfo  - print FLASH memory information
fr      - fpga read
fw      - fpga write
go      - start application at address 'addr'
gpiotest- gpiotest dir [num] [in/out]
gpiotest value [num] [1/0]
gpiotest gvalue [num]
help    - print command description/usage
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
mcupg   -  multicast upgrade
md      - memory display
mii     - MII utility commands
mtddebug- mtddebug operate
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sky_bakeup_info- sky bake up all the info
sleep   - delay execution for some time
snumber - Get or set serial number for zte boards
submpasswd- Set uboot menu password for safe boot mode
swsfmd  - Manually switch to safe boot mode
tftp    - boot image via network using TFTP protocol
version - print monitor, compiler and linker version
watchdog- watchdog reset && disable
xmodem  - xmodem
zx_i2c_read- mdio clock scan
zx_i2c_write- mdio clock scan




=> version
U-Boot 2013.04-svn171642 (May 08 2021 - 16:11:51)
arm-buildroot-linux-gnueabi-gcc.br_real (Buildroot 2017.05-svn2186) 4.9.4
GNU ld (GNU Binutils) 2.27


=> printenv
baudrate=115200
bootcmd=setenv bootargs console=$(console) rdinit=/sbin/init mem=$(memsize);bootm 0x440001e0;
bootdelay=1
bootfile=uboot.bin
bootloaderfile=bootloader.bin
configfile=zxic_pubconfig.bcb
console=ttyAMA0,115200n8
ethact=eth0
ethaddr=78:5F:36:0B:82:70
fullfile=upgrade.bin
fwmagic=d2b2201466a2e0c5aaca9ab571f31522
gatewayip=192.168.1.1
hostname=unknown
ipaddr=192.168.1.1
linuzfile=vmlinuz.bin
loadaddr=0x44000000
memsize=512M
netmask=255.255.255.0
netretry=5
recoveredcfgver=1
serverip=192.168.1.101
stderr=serial
stdin=serial
stdout=serial
versioninfo=U-Boot 1.0.0 20210508162051 0x200000 0x0 0x83 0x82

Environment size: 668/131068 bytes



=>? nand
nand - NAND sub-system

Usage:
nand info - show available NAND devices
nand device [dev] - show or set current device
nand read - addr off|partition size
nand write - addr off|partition size
    read/write 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
nand read.raw - addr off|partition [count]
nand write.raw - addr off|partition [count]
    Use read.raw/write.raw to avoid ECC and access the flash as-is.
nand write.uboot - addr off size
    write uboot to nand with 4-bit-ecc, compatible with bootrom.
nand erase[.spread] [clean] off size - erase 'size' bytes from offset 'off'
    With '.spread', erase enough for given file size, otherwise,
    'size' includes skipped bad blocks.
nand erase.part [clean] partition - erase entire mtd partition'
nand erase.chip [clean] - erase entire chip'
nand erase.GN25L95_datas [clean] - erase GN25L95_datas in flash'
nand bad - show bad blocks
nand dump[.oob] off - dump page
nand scrub [-y] off size | scrub.part partition | scrub.chip
    really clean NAND erasing bad blocks (UNSAFE)
nand markbad off [...] - mark bad block(s) at offset (UNSAFE)
nand biterr off - make a bit error at offset (UNSAFE)
=>
=> nand info

Device 0: nand0, sector size 128 KiB
  Page size      2048 b
  OOB size         64 b
  Erase size   131072 b
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-4 06:12 | 显示全部楼层
启动日志中得到的
Creating 14 MTD partitions on "denali-nand":
0x000000000000-0x000010000000 : "whole flash"
0x000000000000-0x000000200000 : "u-boot"
0x000004800000-0x000004c00000 : "parameter tags"
0x000000200000-0x000002200000 : "kernel0"
0x000005400000-0x000005800000 : "middleware"
0x000004c00000-0x000005400000 : "usercfg"
0x000002200000-0x000004200000 : "kernel1"
0x000004200000-0x000004800000 : "others"
0x000005800000-0x000005c00000 : "wlan"
0x000005c00000-0x000005e00000 : "phoneapp"
0x000006000000-0x000007e00000 : "osgi"
0x000009c00000-0x000010000000 : "plugin_data"
0x000007e00000-0x000009c00000 : "osgi1"
0x000005e00000-0x000006000000 : "phoneapp1"
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-4 17:09 | 显示全部楼层
8楼代码,仔细看后,找到关键代码如下:

function pageSubmit()       #按纽单击触发
{
if(pageCheckValue() == true) #有新的版本被选择,比如山东版本被选择,此处就为true
{
jslDisable("Btn_Submit");
pageSetValue(); #修改表单 元素的值,这个元素代表用户选择的哪一个版本
setValue("IF_ACTION","apply");  # 这个不可见的表单元素的 value 属性保存了一个要提交给 Web 服务器的任意字符串。…看来这个apply值决定服务器是否更改版本(更改会修改root密码)
getObj("fSubmit").submit(); #提交隐藏表单。submit() 方法把表单数据提交到 Web 服务器。
#总结:提交给服务器就修改了2个值,一个代表哪一个版本,一个是开关(apply)。其他都是默认。默认值在8楼<FORM>位置有定义
}
else
{ #没有更改比如山东版本,默认版本等。
jslDisable("Btn_Submit");
getObj("fSubmit").submit();
}
}
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-6-18 01:36

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表