Argument mit -X lua_script1:arg1 übergeben
In diesem Schritt lernen Sie, wie Sie Argumente an ein Lua-Skript in Wireshark mithilfe der -X lua_script1:
-Option übergeben können. Diese Technik ist nützlich, wenn Sie Ihre Skripte flexibler gestalten möchten, indem Sie verschiedene Eingaben akzeptieren, ohne jedes Mal das Skript selbst ändern zu müssen.
Zunächst verstehen wir, wie das Übergeben von Argumenten in Wireshark's Lua-Umgebung funktioniert. Die -X lua_script1:
-Option ermöglicht es Ihnen, einen Zeichenfolgenwert an Ihr Skript zu senden, der dann mit der get_string()
-Funktion abgerufen werden kann. Dies ähnelt der Funktionsweise von Befehlszeilenargumenten in anderen Programmiersprachen.
Ändern wir nun unser vorhandenes Lua-Skript, um ein Argument zu akzeptieren und zu verarbeiten:
-
Öffnen Sie die script.lua
-Datei aus dem vorherigen Schritt:
nano ~/project/script.lua
-
Ersetzen Sie den Inhalt durch den folgenden Code, der ein Argument akzeptiert und anzeigt:
-- Lua script with argument handling
local arg1 = get_string("lua_script1")
print("Received argument: " .. (arg1 or "no argument provided"))
Die get_string("lua_script1")
-Funktion ruft das mit -X lua_script1:
übergebene Argument ab. Der Teil or "no argument provided"
liefert eine Standardnachricht, wenn kein Argument angegeben wurde.
-
Speichern Sie die Datei (Strg+O, Eingabe) und verlassen Sie nano (Strg+X).
Jetzt führen wir das Skript mit einem Argument aus:
wireshark -X lua_script:script.lua -X lua_script1:test123 -r /dev/null -k
Analysieren wir diesen Befehl:
-X lua_script:script.lua
lädt unser Lua-Skriptfile
-X lua_script1:test123
übergibt "test123" als Argument an das Skript
-r /dev/null
gibt eine leere Aufzeichnungsdatei an (da wir nur das Skript testen)
-k
startet die Aufzeichnung sofort, ohne auf Benutzereingaben zu warten
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Received argument: test123
Um zu überprüfen, dass das Skript mit verschiedenen Eingaben funktioniert, versuchen Sie, es mit einem anderen Wert auszuführen:
wireshark -X lua_script:script.lua -X lua_script1:another_value -r /dev/null -k
Dies zeigt, wie Sie dasselbe Skript mit verschiedenen Argumenten wiederverwenden können, wodurch Ihre Analyse dynamischer wird und sich besser an verschiedene Szenarien anpassen lässt.