瀏覽器位址列主機IP混淆寫法

2021-07-23 08:40:38 字數 1083 閱讀 5893

有一些很奇怪的主機位址寫法,可以讓其完全混淆,雖然rfc要求規範的ip位址,但是應用程式往往不那麼聽話,將原本的ip位址做進製變換和組合,其實瀏覽器都可以接受。

十六進製制

八進位制

十進位制,十六進製制,八進位制都可以接受。

還有更混淆的方式:

上面是將第乙個8位(ip位址共32位,每8位用10進製數表示)位址用十六進製制表示,然後將後三個8位先分別用十六進製制表示,之後拼成乙個十六進製制數,再轉換為十進位制來表示,就像下面這個例子:

我們有乙個位址為,第乙個8位用十六進製制表示為0x7f,後三個8位分為用十六進製制表示為0x0,0x2,0x2c,然後拼成乙個數為22c,再轉換為十進位制等於556,所以,下面兩個位址完全等價:

舉一反三,只能讓後3個8位進行轉換嗎?我們繼續往下看:

剛剛我們說了,第乙個8位變為十六進製制,後3個8位變成十六進製制後再拼接轉為十進位制,這次我們讓前兩個8位變為16進製制,後兩個8位進行上面的變換,結果依舊成立!換句話說,下面五個位址完全等價:

當然你也可以把上面的方法改為八進位制:

同樣,假如我們有位址,首先將每個8位轉換為十六進製制,前一位沒有的補0,上面的位址轉換結果為:0x7f,0x00,0x02,0x2c,然後將4個數(或者後三個,後兩個,最後乙個數)拼成乙個數,結果為7f00022c(注意字首的0不能省略),之後,再轉為八進位制數,結果為017700001054(注意八進位制數的字首0),所以,以下四個位址完全等價:

不過有個問題要注意,就是輸入到瀏覽器中被解析以後,位址列會顯示正常的ip位址,不會顯示混淆的位址。

隱藏瀏覽器位址列

window.open是開啟新視窗的命令 其中的引數url是為了傳入需要開啟的頁面 newwindow可有可無 height是開啟視窗的高度 width是開啟視窗的寬度 top是視窗距離顯示器頂端的畫素數 left是視窗距離顯示器左邊的畫素數 設定是否顯示工具欄 menubar設定是否顯示選單欄 s...

清除瀏覽器位址列列表中文位址

常規清除歷史記錄的方法是 在ie瀏覽器中,開啟 工具選單 選擇 interent選項 命令,在 interent選項 對話方塊的 常規 選項卡中,單擊 清除歷史記錄 按鈕,就可以將 http 開頭的由英文本母組成的 都刪除了。但是隨著網上推行使用中文實名以來 在位址列中直接輸入中文進行訪問 這種常規...

瀏覽器位址列背後的logic

曾經有面試題是這樣的 描述在瀏覽器的位址列中輸入 後發生了什麼?1 服務端返回baidu頁面資源,瀏覽器載入html 2 瀏覽器開始解析 3 發現link,傳送請求載入css檔案 4 瀏覽器渲染頁面 5 發現,傳送請求載入,並重新渲染 6 傳送請求js檔案,阻塞渲染。如果js對dom進行了操作,則會...