Netzwerkanalyse, Fehlersuche, Testberichte
Home / News
Netzwerkanalyse
Grundlagen
Verkabelung
Erste Schritte
Baselining
Let's sniff
Tools
Auswerten/Filtern
Typische Probleme 1
Typische Probleme 2
Sicherheit
Bücher
Tutorials
Cacti
DSL einrichten
DynDNS einrichten
m0n0wall | pfSense
Nmap
VirtualBox
Wireshark
FAQ
Know How
Testberichte
Hardware-DB
Netzwerklexikon
Links / Service
Suche
Kontakt
Impressum
Feedback
Sitemap
Netzwerktechnik Forum

Forum Netzwerktechnik (Archiv)

Kategorie Netzwerktechnik - Forum Tools

 
Dissector für Wireshark findet vorhanden Dissector nicht !

geschrieben am 27.08.2008 um 10:54 von Leroux

Hallo bin neu hier und hab auch gleich meine erste frage.

Muss hier einen Plugin für Wireshark schreiben.

Das klappt auch alles ganz gut Source ist relativ einfach (LUA) nur jetzt kann ich den vorhanden Plugin/Dissector nicht aufrufen !

Es handelt sich hier um LLC(Logical Link Controll)

Es erscheint die fehlermeldung:

Code:
Lua:Error during loading:
 extents.lua:61: bad argument #1 to get 'get' (DissectorTable_get:no such dissector_table)

aber dieser Plugin ist ganz sicher vorhanden !

Mein Source:
Code:
-- declaring the protocol        
helen_proto = Proto("helen","HELEN","Helen Protocol")

-- create a function to dissect it
function helen_proto.dissector(buffer,pinfo,tree)
    pinfo.cols.protocol = "HELEN"
    local treeitem = tree:add(helen_proto,buffer(),"Helen Protocol Data")
    local treeitem = tree:add(helen_proto,buffer(), info)
    
    treeitem:add(buffer(0,2),"The first two bytes: " .. buffer(0,2):uint())
    treeitem = treeitem:add(buffer(2,2),"The next 20 bytes")
    treeitem:add(buffer(2,1),"The 3rd byte: " .. buffer(2,1):uint())
    treeitem:add(buffer(3,1),"The 4th byte: " .. buffer(3,1):uint())   
    treeitem:add(buffer(4,1),"The 5th byte: " .. buffer(4,1):uint())
    treeitem:add(buffer(5,1),"The 6th byte: " .. buffer(5,1):uint())
    treeitem:add(buffer(6,1),"The 7th byte: " .. buffer(6,1):uint())
    treeitem:add(buffer(7,1),"The 8th byte: " .. buffer(7,1):uint())
    treeitem:add(buffer(8,1),"The 9th byte: " .. buffer(8,1):uint())
    treeitem:add(buffer(9,1),"The 10th byte: " .. buffer(9,1):uint())
    treeitem:add(buffer(10,1),"The 11th byte: " .. buffer(10,1):uint())
    treeitem:add(buffer(11,1),"The 12th byte: " .. buffer(11,1):uint())
    treeitem:add(buffer(12,1),"The 13th byte: " .. buffer(12,1):uint())
    treeitem:add(buffer(13,1),"The 14th byte: " .. buffer(13,1):uint())
    treeitem:add(buffer(14,1),"The 15th byte: " .. buffer(14,1):uint())
    treeitem:add(buffer(15,1),"The 16th byte: " .. buffer(15,1):uint())
    treeitem:add(buffer(16,1),"The 17th byte: " .. buffer(16,1):uint())
    treeitem:add(buffer(17,1),"The 18th byte: " .. buffer(17,1):uint())
    treeitem:add(buffer(18,1),"The 19th byte: " .. buffer(18,1):uint())
    treeitem:add(buffer(19,1),"The 20th byte: " .. buffer(19,1):uint())
    treeitem:add(buffer(20,1),"The 21th byte: " .. buffer(20,1):uint())
    
    whole_buffer(buffer)
    magic_number(buffer(0,2))
    checksum(buffer(2,4))
    system_txtime()
end

   function magic_number(buffer)
     print("Helen Packet", buffer)
   end
   
   

   function checksum(buffer)
         print("checksum", buffer)     
   end
   
   

   function whole_buffer(buffer)
         print("whole_buffer", buffer)    
   end
   
   
   function system_txtime()
         print("System TX Time",os.date("%x"),os.date("%X"))
   end
   
   
-- load the udp.port table
udp_helen_table = DissectorTable.get("llc.ssap")
udp_helen_table:add(0xaa,helen_proto)



Meine Aufgabe besteht darin das ich zusätzliche Daten aus einem Packet auslesen wenn es sich um eine bestimmt ID handelt.
 

geschrieben am 27.08.2008 um 20:37 von bewa

Re: Dissector für Wireshark findet vorhanden Dissector nicht

"Leroux" wrote:

Muss hier einen Plugin für Wireshark schreiben.


Ich habe zwar nicht sofort einen Fehler gesehen, aber gerade ein kleines Deja-Vu. :-) Ist das für eine Hochschule im nördlichen NRW? :-))

Der schlägt fehl...
Quote:
extents.lua:61: bad argument #1 to get 'get' (DissectorTable_get:no such dissector_table)


... und hier ist der einzige passende Aufruf:

Code:

udp_helen_table = DissectorTable.get("llc.ssap") 


Bist du dir sicher, das die Pfadangabe zu llc.ssap passt? Hast du ein funktionierendes Beispiel zum Vergleichen? Ich bin bzgl. dieser Sachen schon wieder mächtig eingerostet, würde den Fehler aber da suchen.
 

geschrieben am 28.08.2008 um 07:29 von Leroux

Ne :-P komme nicht aus NRW und ist für eine Firma ^^

Ich bin bei Wireshark über Expression dann auf LLC und hab mir dort den Eintrag geholt den ich brauche.

In meinem Fall

Code:
llc.ssap
.
Ist es möglich den Eintrag noch an einer andernstelle nachzulesen hab zu den Protokollen bei Wireshark nicht gefunden.

//Doch gefunden:
http://www.wireshark.org/docs/dfref/l/llc.html
aber es stimmt

Hab jetzt mal ein bissel was getestet und hab gemerkt das keine Läd o.0
nur dieses scheiß udp.port Table

Hast du vllt noch die Datein mit denen dein ProtocolDessector geschrieben hast ?
 

geschrieben am 28.08.2008 um 08:13 von bewa

"Leroux" wrote:
Ne :-P komme nicht aus NRW und ist für eine Firma ^^


Das hätte auf die Übungsaufgaben eines bestimmten Profs gepasst. Ist aber schon eine Weile her - zu meiner Zeit gab es noch kein LUA im Wireshark und der Name war noch Ethereal. :-))

Quote:
//Doch gefunden:
http://www.wireshark.org/docs/dfref/l/llc.html
aber es stimmt


Moooment. Mag ja sein, das ich noch nicht ganz wach bin, aber: Du versuchst mit einer Routine eine Dissector-Tabelle zu laden. Das was du laden möchtest, ist ein Display-Filter?!

Hast du den hier mal getestet?

http://www.wireshark.org/docs/wsug_html_chunked/wslua_dissector_example.html

Quote:
Hast du vllt noch die Datein mit denen dein ProtocolDessector geschrieben hast ?


Irgendwo im Archiv vielleicht noch - das war aber kein Protokoll, das man im Internet findet und der Dissektor ist nicht in LUA, sondern in C.
 

geschrieben am 28.08.2008 um 08:36 von Leroux

Ja C kann ich auch nur wollte ich es halt mit LUA lösen da ich keine Lust habe alle neu zu compilern bzw ich keine Ahnung hab wie man eine DLL erzeugt.

Ich werde mir den Link mal anschauen Dank dir =)

Ich schreib mal noch dazu was ich machen muss vllt bin ich selbst noch zu neu im geschäft mit Wireshark :-P

Also ich hab hier Telegramme wenn bei diesem Telegramm ein gewisse OrgId und ProtokollID auftritt. Soll er den Rest der Nutzdaten einen Timestamp auslesen denn dies wird von Wireshark nicht gemacht.

//EDIT Ach ja wäre Interesse an einem Partnertausch ?( http://www.uncreativ.de)
 

[ Dieses Thema im Live-Forum aufrufen ]

Sie befinden sich im Archiv des Forums.
Zum Forum

Archiv erstellt mit phpBB2HTML 0.1 - Foren in statisches HTML umwandeln © 2006 Mirko Kulpa

 

 
© 2004-2023, network lab - we make your net work - Netzwerkforum
aktualisiert am 13.05.2019