Aşağıdaki * nix komutu, bir IP ve portun (127.0.0.1:80) hexdump komutuna bir hex temsilini temsil eder.Unix hexdump'ta Endianness
printf "\x7F\x00\x00\x01\x00\x50" | hexdump -e '3/1 "%u." /1 "%u:" 1/2 "%u" "\n"'
-e bayrağı, girişin ayrıştırılması için isteğe bağlı bir biçime izin verir. Bu durumda, IP'nin ilk üç sekizliğini imzasız ondalıklara, ardından bir noktaya ayırıyoruz. Son sekizli de imzasız bir ondalık olarak ayrıştırılır, ancak bunu bir kolon izler. Son olarak - ve bu sorunun yattığı yerdir - bağlantı noktası için 2 bayt, tek bir işaretsiz ondalık, ardından bir satırsonu olarak ayrıştırılır.
Bu komutu yürüten sistemin endianitesine bağlı olarak, sonuç farklılık gösterecektir. Büyük uçlu bir sistem, liman 80'i uygun bir şekilde gösterecek; küçük bir endian sistem 20480 portunu gösterir.
Hâlâ-hüzükten haberdar olmak için, hexadump'u endianiteden haberdar etmek için herhangi bir yol var mı?
Soruyu sorduğunuz için platformun ender bayt olması durumunda girdiyi son iki bayt değiştirerek hazırlamanızın kabul edilemeyeceğini var sayıyorum. –
Bayt-takas gerekli gibi mi görünüyor? – shrizza