निम्नलिखित * निक्स कमांड हेक्सडम्प कमांड में आईपी और पोर्ट (127.0.0.1:80) का हेक्स प्रतिनिधित्व पाइप करता है।यूनिक्स हेक्सडम्प में एंडियननेस
printf "\x7F\x00\x00\x01\x00\x50" | hexdump -e '3/1 "%u." /1 "%u:" 1/2 "%u" "\n"'
-ए ध्वज इनपुट को पार्स करने के लिए एक मनमाने ढंग से प्रारूप की अनुमति देता है। इस मामले में, हम आईपी के पहले तीन ऑक्टेट्स को बिना किसी डॉट के बाद हस्ताक्षरित दशमलव में पार्स कर रहे हैं। अंतिम ऑक्टेट को एक हस्ताक्षरित दशमलव में भी पार्स किया जाता है लेकिन इसके बाद एक कोलन होता है। अंत में - और यह वह जगह है जहां समस्या निहित है - बंदरगाह के लिए 2 बाइट्स को एक नए हस्ताक्षर किए गए दशमलव के रूप में एक नए हस्ताक्षर किए गए दशमलव के रूप में पार्स किया जाता है।
इस आदेश को निष्पादित करने वाली प्रणाली की अंतहीनता के आधार पर, परिणाम अलग-अलग होगा। एक बड़ी एंडियन प्रणाली पोर्ट 80 को ठीक से दिखाएगी; जबकि एक छोटी-एंडियन प्रणाली पोर्ट 20480 दिखाएगी।
क्या हेक्सडम्प को अंतहीनता के बारे में जागरूक करने का कोई तरीका है जबकि अभी भी मनमाने ढंग से प्रारूप विनिर्देश को अनुमति दे रहा है?
मुझे लगता है कि यदि प्लेटफॉर्म थोड़ा-अंतराल है, तो पिछले दो बाइट्स को स्वैप करके इनपुट तैयार करना स्वीकार्य नहीं है, क्योंकि आप सवाल पूछ रहे हैं? –
क्या यह एक बाइट-स्वैप की तरह दिख रहा है? – shrizza