登入和管理
- Web UI 的預設地址:
192.168.100.1,似乎是運營商版公版。- Telnet / SSH 都預設開啓,無需另外設定。
預設密碼有兩組,分別是:
telecomadmin/admintelecomroot/admin
其中前者只能登入 Web UI 而後者可以登入 Web UI 和 Telnet / SSH。
Shell 使用
預設有 Shell 但是支援的命令有很多限制,用處非常有限。
可能是預設的 Terminal Type 有問題,Backspace 實際上是 Delete 的功能,如果需要向前刪除需要使用 Control - H。
按 ? 可以查看可用的命令列表;也可以輸入一半後按 ? 查看可能的補全。也可以使用 Tab 但效果一般。
查看目前的 SN:
SU_WAP>display sn
可以透過命令行修改 SN:
SU_WAP>set sn?
USAGE:
set sn snid {value}
OPTIONS:
snid: 20 digital or upper alpha chars for DSL Device, 16 hex digits or 12 characters end with 8 hex characters for others.
修改 Password 認證 ONT
Web UI 上可以在高級設置 - 系統管理 - ONT 認證中設定 LOID 認證、密碼認證,但選擇密碼認證會無法保存,一直提示:
密码的长度需要在0到10位之间
不確定這是否是目前版本韌體的一個 bug。
由於 LOID 認證的表格沒有問題,所以先用 LOID 認證的方式提交。
透過網頁開發者工具,可以看到校驗邏輯在瀏覽器中,通過校驗後構造出一個 POST 請求並發送。分析整個校驗和構造邏輯,可以透過修改請求的方式去修改 ONT 認證方式。
首先在 Console 中用自帶的函式把密碼和 SN 轉換到 16 進位:
var password = "a123456782";
var sn = "SENU1234ABCD";
ChangeAsciitoHex(password); // PonHexPassword
conv12to16HexSn(sn); // PonSN
在 ONT 認證頁面再提交一次,並把對應的請求複製爲 fetch 命令,主要是爲了獲取頁面的 Token。
然後修改其中的 body 再提交:
fetch("http://192.168.100.1/html/amp/ontauth/set.cgi?x=InternetGatewayDevice.DeviceInfo&y=InternetGatewayDevice.X_HW_XgponDeviceInfo&RequestFile=html/amp/ontauth/password.asp", {
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language": "en-US,en;q=0.9",
"cache-control": "max-age=0",
"content-type": "application/x-www-form-urlencoded",
"upgrade-insecure-requests": "1"
},
"referrer": "http://192.168.100.1/html/amp/ontauth/set.cgi?x=InternetGatewayDevice.DeviceInfo&y=InternetGatewayDevice.X_HW_XgponDeviceInfo&RequestFile=html/amp/ontauth/password.asp",
"body": "x.X_HW_PonHexPassword=[PonHexPassword]&x.X_HW_PonSN=[PonSN]&x.X_HW_ForceSet=1&y.RegistrationID=[password]&y.MutualAuthSwitch=0&y.PreSharedKey=&x.X_HW_Token=[HWToken]",
"method": "POST",
"mode": "cors",
"credentials": "include"
});
在 console 中執行,就可以修改了。並且這之後直接在 Web UI 中選擇密碼認證也可以修改提交了。