GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de comandos de cadenas de Linux para principiantes (5 ejemplos)

Mirar dentro de un archivo binario/ejecutable para capturar cadenas legibles por humanos no es el tipo de trabajo que todos hacen, pero ¿qué sucede si se le pide que haga esto? Abrir el archivo en un editor y buscar cosas manualmente no es una solución elegante. ¿Entonces lo que hay que hacer? Sí, lo adivinó bien:existe una utilidad de línea de comandos que hace esto por usted.

La herramienta en cuestión se llama Strings , y en este tutorial, discutiremos los conceptos básicos de este comando utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos de este artículo se probaron en una máquina con Ubuntu 16.04 LTS.

Comando de cadenas de Linux

El comando Cadenas básicamente imprime las cadenas de caracteres imprimibles en los archivos. La siguiente es su sintaxis:

strings [OPTIONS] FILENAME

Y así es como la página de manual de la herramienta lo describe:

       For each file given, GNU strings prints the printable character
       sequences that are at least 4 characters long (or the number given with
       the options below) and are followed by an unprintable character.

       Depending upon how the strings program was configured it will default
       to either displaying all the printable sequences that it can find in
       each file, or only those sequences that are in loadable, initialized
       data sections.  If the file type in unrecognizable, or if strings is
       reading from stdin then it will always display all of the printable
       sequences that it can find.

       For backwards compatibility any file that occurs after a command line
       option of just - will also be scanned in full, regardless of the
       presence of any -d option.

       strings is mainly useful for determining the contents of non-text
       files.

Los siguientes son algunos ejemplos de estilo de preguntas y respuestas que le darán una buena idea de cómo funciona el comando Cadenas.

P1. ¿Cómo usar el comando de cadenas?

El uso básico es bastante fácil:simplemente pase el nombre del archivo como entrada y ejecute el comando.

Tenga en cuenta que dado que Strings se usa principalmente para extraer información de archivos binarios/ejecutables, usaremos uno de esos archivos en todos nuestros ejemplos.

Por ejemplo:

strings test

Aquí está el resultado que produjo este comando en mi sistema:

P2. ¿Cómo forzar un límite de caracteres personalizado?

Como se explicó al principio, el comportamiento predeterminado de la herramienta Cadenas es solo imprimir secuencias de caracteres que tengan al menos 4 caracteres de longitud. Sin embargo, si lo desea, puede cambiar este límite utilizando la opción de línea de comando -n (que requiere que pase un número que signifique el nuevo límite).

Por ejemplo, si desea establecer el límite en 2, lo siguiente es cómo puede hacerlo:

strings -n 2 test

Así que ahora también puede ver cadenas de dos y tres caracteres en la salida.

P3. ¿Cómo hacer que las cadenas impriman el desplazamiento de las secuencias de caracteres?

Si desea que Strings también muestre los desplazamientos de las secuencias de caracteres que muestra en la salida, esto se puede hacer usando la opción de línea de comando -t, que requiere que proporcione una entrada de un solo carácter que especifique la base del desplazamiento - 'o' para octal,  'x' para hexadecimal o 'd' para decimal.

Por ejemplo:

strings -t d test

Y aquí está el resultado que produjo en mi sistema:

Para que pueda ver que las cadenas en la salida ahora están precedidas por sus respectivos desplazamientos.

P4. ¿Cómo hacer que Strings escanee todo el archivo?

Dependiendo de cómo se configuró Strings, puede o no escanear todo el archivo de entrada. Sin embargo, si desea estar absolutamente seguro de que la herramienta lee el archivo completo (y no solo las secciones de datos inicializados y cargables), use la opción de línea de comando -a.

Por ejemplo:

strings -a test

Por el contrario, si desea que Strings solo muestre cadenas de secciones de datos cargadas e inicializadas en el archivo, use la opción de línea de comando -d.

strings -d test

P5. ¿Cómo cambiar el separador?

Como habrá observado, de forma predeterminada, el separador utilizado por Strings es una nueva línea. Sin embargo, si lo desea, puede tener un separador personalizado usando la opción de línea de comando -s.

Por ejemplo:

strings -s [[[]]] test

Conclusión

El comando Strings es una herramienta extremadamente útil si buscas archivos binarios/ejecutables para obtener información útil. Hemos discutido algunas opciones importantes de la línea de comandos aquí. Así que practíquelos y, una vez que haya terminado, diríjase a la página de manual de la herramienta para obtener más información.


Linux
  1. Tutorial de comando cd de Linux para principiantes (8 ejemplos)

  2. Tutorial de comandos de comunicación de Linux para principiantes (5 ejemplos)

  3. Tutorial de comando Linux df para principiantes (8 ejemplos)

  4. Tutorial de comando de fecha de Linux para principiantes (8 ejemplos)

  5. Tutorial de comando de nombre de host de Linux para principiantes (5 ejemplos)

Linux who Command Tutorial para principiantes (8 ejemplos)

Tutorial de comandos Linux nl para principiantes (7 ejemplos)

Tutorial de comandos de Linux nm para principiantes (10 ejemplos)

Tutorial de comandos OD de Linux para principiantes (6 ejemplos)

Tutorial de comando Linux w para principiantes (5 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)