IPv4 地址轉換器
在 IPv4 的點分十進位制、32 位十進位制、十六進位制與二進位制之間互相轉換,並檢視其 in-addr.arpa 形式。
一個地址,多種表示。 在任意 IPv4 地址的點分十進位制、32 位整數、十六進位制與二進位制形式間切換,並顯示反向 DNS 的 in-addr.arpa 名稱。純數學運算,在瀏覽器內完成。
在 IPv4 的點分十進位制、32 位十進位制、十六進位制與二進位制之間互相轉換,並檢視其 in-addr.arpa 形式。
一個地址,多種表示。 在任意 IPv4 地址的點分十進位制、32 位整數、十六進位制與二進位制形式間切換,並顯示反向 DNS 的 in-addr.arpa 名稱。純數學運算,在瀏覽器內完成。
IPv4 地址本質上是一個 32 位無符號整數。我們熟悉的點分四段寫法只是一種顯示約定:192.168.1.1 是四個 8 位分段各自用十進位制書寫、再用點連線的結果,比它真實的數值 3232235777 好讀得多。本頁的每一種寫法都是同一個數字換了件衣服,因此互相轉換不會丟失任何資訊。
十進位制形式就是把這個整數完整寫出來。十六進位制形式把 32 位切成 8 個十六進位制數字,好處是每兩位正好對應一個位元組——0xC0A80101 可以乾淨地拆成 C0、A8、01、01。二進位制形式讓位元邊界變得可見,在推敲子網掩碼時正是你需要的視角。
整數形式出現在需要低成本儲存和比較地址的場合。資料庫偏愛它,因為 INT UNSIGNED 的排序和範圍掃描比字串快得多,WHERE ip BETWEEN x AND y 可以直接走索引。日誌管道和 GeoIP 庫把地址段表示成整數對,也是同樣的原因。
十六進位制常見於抓包結果、核心資料結構和一些較老的配置格式。二進位制主要用於教學和排錯:把地址和掩碼按二進位制對齊排列,網路位與主機位的劃分就不再抽象。
正向 DNS 把域名解析為地址,反向 DNS 則相反。由於 DNS 的授權是從右往左逐級細化,而 IPv4 地址是從左往右逐級細化,兩者方向相反,所以octet 必須倒序書寫。192.168.1.1 對應 1.1.168.192.in-addr.arpa,該名稱下的 PTR 記錄給出主機名。郵件伺服器會例行檢查這一項——PTR 缺失或與正向記錄不一致,是正常郵件被判為垃圾郵件的常見原因。