2016-07-12 19 views
0

Ich versuche Dissektoren für Wireshark zu entwickeln. Da alle meine Dissektoren die gleiche Portnummer verwenden, beabsichtige ich, eine zusätzliche Dissektorschicht hinzuzufügen, wie es here vorgeschlagen wurde. Ich bin mit der Erstellung eines generischen Dissektors fortgefahren, der den Pakettyp überprüft und basierend darauf die Paketdaten an die relevanten Dissektoren weiterleitet. Ich habe verschiedene Module für verschiedene Dissektoren erstellt, die ich in meinen generischen Dissektor integrieren möchte. In meinem generischen Dissektor deklariere ich das Modul mit dem Befehl require. Modulname = require ("Modulname"). Wenn ich dabei aber Wireshark starte, erhalte ich folgende Fehlermeldung: Lua: Fehler beim Laden: C: \ XXXX \ generic_dissector.lua: 1: Modul 'Modulname' nicht gefunden.Lua kann kein Modul finden

Das ist überraschend, da sowohl mein Modul als auch mein generischer Dissektor im selben Verzeichnis liegen. Bitte lassen Sie mich wissen, was in diesem Fall getan werden könnte.

Dank

Antwort

0

Ist Ihre Moduldatei im persönlichen Plugins-Ordnern setzen? Sie können den Ordnerpfad von

Help -> About Wireshark -> Folders -> Personal Plugins

Für OS X

Wireshark -> About Wireshark -> Folders -> Personal Plugins)

Wenn nicht in diesem Ordner nachschauen, versuchen Sie Ihr Modul dort bewegen und startet wieder Ihren Dissektor.

+0

Hallo, Danke für Ihre Hilfe. Offensichtlich wurde das Problem gelöst, nachdem das Modul in das Verzeichnis - Programme \ Wireshark verschoben wurde. Aber jetzt habe ich ein anderes Problem in Bezug auf den Dissektor. Grundsätzlich habe ich verschiedene Arten von Paketen, die an der gleichen Portnummer erfasst werden. Ich habe versucht, mehrere Lua-Dissektoren zu erstellen und sie init.lua hinzuzufügen, aber dabei funktioniert der eine oder andere Dissektor nicht. Ich versuche nun, einen generischen Dissektor zu erstellen, der den Pakettyp verifiziert und anschließend das Paket an den entsprechenden Dissektor sendet, aber ich bin mir nicht sicher, wie ich das machen soll. Vielen Dank. –

+0

Insbesondere bin ich mir nicht sicher, wie man die Paketdaten an einen bestimmten Dissektor weitergibt und sein Ergebnis zurückgibt, um zu zeigen, dass es ein Ergebnis des generischen Dissektors ist. Ich glaube auch, dass ich, wenn ich einen generischen Dissektor erstellen werde, nicht in der Lage sein werde, einen Filter basierend auf spezifischen Werten einiger Attribute eines bestimmten Dissektors anzuwenden. Bitte lassen Sie mich wissen, ob es einen Weg gibt. Vielen Dank. –