GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de commande de chaînes Linux pour les débutants (5 exemples)

Regarder à l'intérieur d'un fichier binaire/exécutable pour saisir des chaînes lisibles par l'homme n'est pas le genre de travail que tout le monde fait, mais que se passe-t-il si on vous demande de le faire ? Ouvrir le fichier dans un éditeur et rechercher manuellement des éléments n'est pas une solution élégante. Alors que faire? Oui, vous avez bien deviné - il existe un utilitaire de ligne de commande qui le fait pour vous.

L'outil en question s'appelle Strings , et dans ce didacticiel, nous aborderons les bases de cette commande à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples de cet article ont été testés sur la machine Ubuntu 16.04 LTS.

Commande Linux Strings

La commande Strings imprime essentiellement les chaînes de caractères imprimables dans les fichiers. Voici sa syntaxe :

strings [OPTIONS] FILENAME

Et voici comment la page de manuel de l'outil le décrit :

       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.

Voici quelques exemples de style Q&A qui devraient vous donner une bonne idée du fonctionnement de la commande Strings.

Q1. Comment utiliser la commande strings ?

L'utilisation de base est assez simple - il suffit de passer le nom du fichier en entrée et d'exécuter la commande.

Veuillez noter que puisque Strings est principalement utilisé pour extraire des informations à partir de fichiers binaires/exécutables, nous utiliserons un tel fichier dans tous nos exemples.

Par exemple :

strings test

Voici le résultat produit par cette commande sur mon système :

Q2. Comment forcer une limite de caractères personnalisée ?

Comme expliqué au début, le comportement par défaut de l'outil Chaînes consiste à n'imprimer que des séquences de caractères d'au moins 4 caractères. Cependant, si vous le souhaitez, vous pouvez modifier cette limite à l'aide de l'option de ligne de commande -n (qui vous oblige à transmettre un nombre indiquant la nouvelle limite).

Par exemple, si vous souhaitez définir la limite sur 2, procédez comme suit :

strings -n 2 test

Désormais, vous pouvez également voir deux et trois chaînes de caractères dans la sortie.

Q3. Comment faire en sorte que les chaînes impriment le décalage des séquences de caractères ?

Si vous souhaitez que Strings affiche également les décalages des séquences de caractères qu'il affiche dans la sortie, cela peut être fait à l'aide de l'option de ligne de commande -t, qui vous oblige à fournir une seule entrée de caractère qui spécifie la base du décalage - 'o' pour octal, 'x' pour hexadécimal ou 'd' pour décimal.

Par exemple :

strings -t d test

Et voici la sortie qu'il a produite sur mon système :

Ainsi, vous pouvez voir que les chaînes en sortie sont désormais précédées de leurs décalages respectifs.

Q4. Comment faire en sorte que Strings analyse tout le fichier ?

Selon la façon dont Strings a été configuré, il peut analyser ou non l'intégralité du fichier d'entrée. Cependant, si vous voulez être absolument sûr que l'outil lit le fichier complet (et pas seulement les sections de données chargeables et initialisées), utilisez l'option de ligne de commande -a.

Par exemple :

strings -a test

Inversement, si vous souhaitez que Strings n'affiche que les chaînes des sections de données initialisées et chargées dans le fichier, utilisez l'option de ligne de commande -d.

strings -d test

Q5. Comment changer le séparateur ?

Comme vous l'avez observé, par défaut, le séparateur utilisé par Strings est une nouvelle ligne. Cependant, si vous le souhaitez, vous pouvez avoir un séparateur personnalisé à l'aide de l'option de ligne de commande -s.

Par exemple :

strings -s [[[]]] test

Conclusion

La commande Strings est un outil extrêmement utile si vous souhaitez rechercher des fichiers binaires/exécutables pour obtenir des informations utiles. Nous avons discuté ici de quelques options de ligne de commande importantes. Alors entraînez-vous, et une fois que vous avez terminé, rendez-vous sur la page de manuel de l'outil pour plus d'informations.


Linux
  1. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  2. Tutoriel de commande Linux comm pour les débutants (5 exemples)

  3. Tutoriel de commande Linux df pour les débutants (8 exemples)

  4. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  5. Tutoriel de commande de nom d'hôte Linux pour les débutants (5 exemples)

Tutoriel Linux who Command pour débutants (8 exemples)

Tutoriel de commande Linux nl pour les débutants (7 exemples)

Tutoriel de commande Linux nm pour les débutants (10 exemples)

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)