GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Linux Hexdump Command s praktickými příklady

Hexdump je velmi užitečný linuxový příkaz pro vývojáře a ladicí programy aplikací. Má schopnost ukládat obsah souborů do mnoha formátů, jako je hexadecimální, osmičkový, ASCII a desítkový. Tento příkaz vezme soubor nebo jakýkoli standardní vstup jako vstupní parametr a převede jej do vámi zvoleného formátu. Předpokládejme, že pracujete s binárními daty a nejste schopni porozumět formátu souboru, můžete použít příkaz Hexdump k získání obsahu souboru v mnohem lépe čitelném formátu. Tento příkaz je předinstalován se všemi moderními operačními systémy Linux, jako je CentOS, Fedora, Ubuntu, Debian, Arch Linux atd. V tomto článku si ukážeme použití příkazu hexdump na různých příkladech. Tento příkaz, napsaný v jazyce C, může být snadno srozumitelný pro profesionální programátory v jazyce C, ale pro ostatní IT profesionály to může být složitý příkaz. Pokusíme se ze všech sil demonstrovat jeho použití a účel zde v tomto článku.

1) Hexdump -b

Použití přepínače "-b" s Hexdump zobrazí vstupní offset v hexadecimálním formátu. Tato možnost se také nazývá "One-byte octal display". Po výstupu bude následovat šestnáct bajtů vstupních dat oddělených mezerami, tři sloupce, vyplněné nulou, v osmičkové soustavě, na řádek. Zde je příklad výstupu, který jsme obdrželi, když jsme spustili tento příkaz s přepínačem "-b" v souboru s názvem "Linoxide".

# Hexdump -B linoxide0000000 124 150 151 163 040 151 163 040 040 141 040 164 145 163 164 04000001012 144 040 146 157 162 040 1440 144 040 144 04012 04012504011 151 154 145 012. 144 145 155 157 156 163 164 162 1410000030 164 151 157 156 040 160 165 162 160 157 163 145 2>003 003

2) Hexdump -c

Tato možnost se nazývá "Zobrazení jednobajtových znaků". Tento parametr příkazu můžete použít k zobrazení vstupního offsetu v šestnáctkové soustavě. Po výstupním řetězci bude následovat šestnáct znaků vstupních dat oddělených mezerami, tři sloupce, vyplněné mezerou. Zde je příklad výstupu tohoto příkazu.

hexdump -c linoxid0000000 t h i s a t e s t0000010 l i n o x i d e f i l e \ n u s0000020 e d f o r d e m o n s t r a0000030   t   i   o   n       p   u   r   p   o   s   e   s  \n  \n000003f

3) Hexdump -C

Také známý jako "kanonický hex+ASCII displej", zobrazuje vstupní offset v hexadecimální soustavě, po výstupu následuje šestnáct mezerami oddělených, dva sloupcové, hexadecimální bajty spolu se stejnými šestnácti bajty ve formátu %_p uzavřenými v ``| '' znaky. Zde je pracovní příklad této možnosti příkazu.

# hexdump -C Linoxid00000000  54 68 69 73 20 69 73 20  20 61 20 74 65 73 74 20  |Toto je  test |00000010  4c 6 59 69 6 5 6 296 |Soubor Linoxide.Us|00000020  65 64 20 66 6f 72 20 64  65 6d 6f 6e 73 74 72 61  |ed for demonstration|00000030  74 69 23 7 75 7 2. 0000003f 

4) Hexdump -d

Tento přepínač/možnost zobrazuje vstupní offset v hexadecimální soustavě spolu s osmi mezerami oddělenými, pěti sloupcovými, nulami vyplněnými, dvoubajtovými jednotkami vstupních dat. Výstup je v desítkové soustavě bez znaménka na řádek. Označuje se také jako režim "Dvoubajtové desítkové zobrazení". Zde je příklad výstupu tohoto příkazu.

  hexdump -d Linoxide0000000 26708 29545 26912 08307 24864 29728 29541 083080000010 26956 28526 27000 25956 17952 27753 02661 295250000020 25701 26144 29295 25632 28005 28271 29811 249460000030 26996 28271 28704 29301 28528 25971 02675 00010000003f  

5) Hexdump -o

Také známý jako "dvoubajtový osmičkový displej" zobrazuje zadaný vstupní offset v šestnáctkové soustavě. Za výstupem příkazu následuje osm dvoubajtových množství vstupních dat oddělených mezerami, šest sloupců, vyplněných nulou, v osmičkové soustavě, na řádek.

  # hexdump -o Linoxide0000000 064124 071551 064440 020163 060440 072040 071545 0201640000010 064514 067556 064570 062544 043040 066151 005145 062145 0715250000020 063040 071157 062040 066545 067157 072163 0605620000030 064564 067157 070040 071165 067560 062563 005163 000012000003f  

6) Hexdump -x

Zobrazuje posun v hexadecimální soustavě, po kterém následuje osm, mezerami oddělené, čtyři sloupce, nula vyplněné, dvoubajtové množství vstupních dat v hexadecimální soustavě. Označuje se jako "dvoubajtové hexadecimální zobrazení".

  # hexdump -x Linoxide0000000 6854 7369 6920 2073 6120 7420 7365 20740000010 694c 6f6e 6978 6564 4620 6c69 0a65 73550000020 6465 6620 6420 726f 6d65 6e6f 7473 61720000030 6974 6e6f 7020 7275 6f70 6573 0a73 000a000003f  

7) Hexdump -v

Ve výchozím nastavení používá hexdump znak hvězdičky (*) k nahrazení identického řádku ve výstupním řetězci, ale volba -v způsobí, že hexdump zobrazí všechna vstupní data. Tato možnost je užitečná při provádění analýzy úplného výstupu libovolného řetězce nebo textu. Tento příkaz lze použít také ve skriptech shell/bash pro lepší automatizaci požadovaných úloh.

8) Hexdump -s

"Hexdump -s" zobrazí pouze zadaný počet bajtů ze souboru, obecná syntaxe pro použití této možnosti je následující.

hexdump -s n -c  Soubor 

Kde, nahraďte "n" počtem řádků, které chcete zobrazit, a "Soubor" skutečným názvem souboru. Následující příklad výstupu by měl tento koncept dále objasnit.

 

Výše uvedený příkaz zobrazí pouze jeden řádek výstupu.

Další podrobnosti o hexdump můžete získat pomocí jeho nápovědy. Jednoduše zadejte následující příkaz na terminálu vašeho systému Linux a zobrazí se všechny možnosti a možnosti, které lze s hexdumpem použít.

man hexdump 

Závěr

Hexdump je docela užitečný nástroj pro systémové administrátory a programátory. Díky tomu je analýza a dekódování různých formátů souborů hračkou. Lze jej snadno použít v programování bash nebo skriptech programovacího jazyka C k provádění složitých úkolů konverze formátu souborů nebo analýzy a reverzního inženýrství. V tomto článku jsme představili hexdump, jeho užitečné možnosti a některé užitečné ukázky příkazů souvisejících s tímto nástrojem. Doufám, že se vám tento článek líbil. Pokud máte nějaké připomínky nebo dotazy, neváhejte nám je povědět v komentářích.


Linux
  1. Jak používat Sed Command v Linuxu s příklady

  2. Příkaz SCP v Linuxu:Jak jej používat, s příklady

  3. Jak používat příkaz Rmmod v systému Linux s příklady

  1. Jak používat příkaz su v Linuxu s příklady

  2. Jak používat Linux Shutdown Command s příklady

  3. Jak používat Dig Command v Linuxu s příklady

  1. Jak používat w Command v Linuxu s příklady

  2. Jak používat příkaz k hodinkám Linux s příklady

  3. wc Linux Command s příklady