讀廠商自己的執行檔,證明他們的韌體有問題
一次路由器韌體設定送出,每次都用一模一樣的方式失敗,錯誤訊息完全看不出細節——直到對廠商自己的封閉原始碼執行檔跑一次 strings,才挖出真正造成問題的內部狀態機。
This article is also available in English: English version——內容相同,僅語言不同。
在家用路由器上新建一組防火牆規則集,每次都送出失敗,錯誤訊息很底層, 完全看不出原因。路由器的設定層是一個封閉原始碼的編譯執行檔—— 沒有原始碼可以讀,沒有變更紀錄,論壇上也找不到跟這個症狀完全吻合的討論串。 最後的修法,來自把那個執行檔本身當成文件來讀。
症狀,以及為什麼從外部看起來根本修不了
任何一組全新的頂層防火牆規則集——這台路由器上從來沒存在過的名稱—— 透過腳本化的設定連線送出時,一律失敗,而且每次的錯誤訊息完全一樣, 跟規則集的名稱或內容無關。修改一組「已經存在」的規則集則完全正常; 只有「新建」這個動作會失敗。錯誤是從路由器底層的封包過濾還原步驟冒出來的, 有指出失敗在哪一行,但完全沒解釋產生出來的設定內容,結構上到底哪裡不對。
Unlock this article to keep reading, or subscribe for unlimited access to everything. See Pricing for details.