IPv4’ten Hex’e Dönüştürücü

Bir IPv4 adresi girin; onaltılığa çevirin.

Nasıl hesaplanır?

Adres, noktalarla ayrılmış 0 ile 255 arasında dört sayıdan oluşmalıdır. Araç bunları tek bir 32 bitlik tam sayıya birleştirir: değer = o1 × 256³ + o2 × 256² + o3 × 256 + o4; burada o1–o4 dört oktettir. Bu tam sayı iki biçimde yazılır: 0 ile 4.294.967.295 arasında bir onluk sayı olarak ve sekiz haneye tamamlanmış, büyük harfli, başında 0x olan onaltılık olarak; böylece her oktet noktasız, yan yana tam iki onaltılık haneden oluşur. Başka her girdi sonuçsuz kalır: dörtten az ya da çok parça, 255'i aşan oktet, harfler veya IPv6 adresi. Baştaki sıfırlar olağan onluk sayı olarak okunur, yani 010 sekizlik 8 değil 10'dur.

Örnek hesaplama

192.168.1.1 adresini çevirelim. Her oktetin onaltılık karşılığı: 192 = C0, 168 = A8, 1 = 01, 1 = 01. Yan yana yazınca 0xC0A80101 çıkar. Tek sayı olarak: 192 × 16.777.216 + 168 × 65.536 + 1 × 256 + 1 = 3.221.225.472 + 11.010.048 + 256 + 1 = 3232235777. Onluk biçim binlik ayracı olmadan gösterilir. En yüksek adres olan 255.255.255.255, 0xFFFFFFFF olur.

Bu örneği dene →

Sık yapılan hatalar

  • Onaltılık sonuçta nokta beklemek; araç tek parça bir değer (0xC0A80101) verir, C0.A8.01.01 vermez, oktet bazında görünüm gerekiyorsa ikili gruplara kendiniz ayırın.
  • 010.001.001.001 gibi baştaki sıfırlı bir adresin sekizlik okunacağını sanmak; burada her oktet onluk okunur.
  • 192.168.1.1/24 gibi bir CIDR adresi ya da port içeren bir adres yapıştırmak; yalnızca yalın, dört parçalı adres kabul edilir.
  • Onluk sonucu noktalı bir sayıyla karıştırmak: 3232235777 farklı bir IP değil, adresin bütününün tek tam sayı halidir.
  • Bayt sırasını little-endian sanmak; sonuç ağ (big-endian) sırasındadır, ilk oktet en anlamlı bayttır ve bir işlemcinin bunu bellekte saklama biçiminden farklı olabilir.

Bu hesaplama hakkında

Bir IPv4 adresi aslında 32 bitlik tek bir sayıdır; okunabilirlik için her biri 0–255 arasında dört 8-bit'lik oktete bölünüp noktalı ondalık biçimde yazılır. Onaltılığa çevirmek, her okteti 2 haneli bir onaltılık değere (00–FF) dönüştürmek demektir — böylece 192.168.1.1 için C0, A8, 01 ve 01 elde edilir; bu araç bunları noktasız, tek bir 32-bit değer olan 0xC0A80101 olarak birleştirir ve ayrıca ondalık tam sayı 3232235777 olarak da gösterir.

Ağ mühendisleri ve sistem programcıları onaltılık biçimli IPv4 adresleriyle yönlendirici ve güvenlik duvarı yapılandırma dosyalarında, alt ağ maskesi hesaplarında, Wireshark gibi araçlarla alınan paket dökümlerinde ve adreslerin metin yerine ham 32-bit tam sayı olarak işlendiği düşük seviyeli soket veya gömülü ağ kodlarında sıkça karşılaşır. Aynı zamanda ikili/onaltılık dönüşüm becerisini ölçen CTF yarışmalarında ve ağ sertifikasyon sınavlarında da yaygın bir alıştırmadır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Her sekizli tam iki onaltılık basamağa dönüştüğü için çıktıyı parça parça okuyabilirsiniz: 192.168.1.1, C0 A8 01 01 yani 0xC0A80101 olur ve aynı adres tek bir ondalık sayı olarak 3232235777'dir. Bu, paket yakalamada ağ önekini ya da adresleri tamsayı olarak saklayan bir yapılandırma alanını fark etmeyi kolaylaştırır. IPv6 ya da alt ağ maskelerinin de desteklenmesini ister misiniz? Hangisini istediğinizi yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar