Passer un argument avec -X lua_script1:arg1
Dans cette étape, vous apprendrez à passer des arguments à un script Lua dans Wireshark en utilisant l'option -X lua_script1:
. Cette technique est utile lorsque vous souhaitez rendre vos scripts plus flexibles en acceptant différentes entrées sans modifier le script lui-même à chaque fois.
Tout d'abord, comprenons comment le passage d'arguments fonctionne dans l'environnement Lua de Wireshark. L'option -X lua_script1:
vous permet d'envoyer une valeur de chaîne de caractères à votre script, qui peut ensuite être accédée à l'aide de la fonction get_string()
. Cela est similaire à la façon dont les arguments de ligne de commande fonctionnent dans d'autres langages de programmation.
Modifions notre script Lua existant pour accepter et traiter un argument :
-
Ouvrez le fichier script.lua
de l'étape précédente :
nano ~/project/script.lua
-
Remplacez le contenu par le code suivant qui accepte et affiche un argument :
-- Lua script with argument handling
local arg1 = get_string("lua_script1")
print("Received argument: " .. (arg1 or "no argument provided"))
La fonction get_string("lua_script1")
récupère l'argument passé avec -X lua_script1:
. La partie or "no argument provided"
fournit un message par défaut si aucun argument n'a été donné.
-
Enregistrez le fichier (Ctrl+O, Entrée) et quittez nano (Ctrl+X).
Maintenant, exécutons le script avec un argument :
wireshark -X lua_script:script.lua -X lua_script1:test123 -r /dev/null -k
Décortiquons cette commande :
-X lua_script:script.lua
charge notre fichier de script Lua
-X lua_script1:test123
passe "test123" comme argument au script
-r /dev/null
spécifie un fichier de capture vide (puisque nous testons simplement le script)
-k
démarre la capture immédiatement sans attendre une entrée utilisateur
Vous devriez voir une sortie similaire à :
Received argument: test123
Pour vérifier que le script fonctionne avec différentes entrées, essayez de l'exécuter avec une autre valeur :
wireshark -X lua_script:script.lua -X lua_script1:another_value -r /dev/null -k
Cela démontre comment vous pouvez réutiliser le même script avec différents arguments, rendant votre analyse plus dynamique et adaptable à différents scénarios.