University of Oulu

A tool for generating protocol dissectors for Wireshark in Lua

Saved in:
Author: Luomala, Jarmo1
Organizations: 1University of Oulu, Faculty of Technology, Department of Computer Science and Engineering, Computer Science and Engineering
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 2.9 MB)
Persistent link: http://urn.fi/URN:NBN:fi:oulu-201312021942
Language: English
Published: Oulu : J. Luomala, 2013
Publish Date: 2013-12-05
Physical Description: 79 p.
Thesis type: Master's thesis (tech)
Tutor: Röning, Juha
Reviewer: Röning, Juha
Ojala, Timo
Description:

Abstract

Packet analysis is an essential part of monitoring and understanding network traffic. Packet analyzers are used to capture binary data flowing inside networks, decode it, and parse the decoded stream into a structured, human-readable form. Packet analyzers consist of protocol dissectors, small pieces of software that dissect the captured data stream into separate packets and fields according to the specified protocol rules. Because new protocols are developed constantly and a dissector is needed for every protocol that an analyzer is supposed to understand, there is a continuous need to create dissectors. Manual writing of them is time-consuming, requires familiarity with the target analyzer, the structure of the dissectors, and of course programming skills. Therefore, a tool that would automate the actual dissector creation process would be useful.

In this thesis, packet analyzers and protocol dissectors are studied. Functionalities and typical uses of packet analyzers are explored, especially from the information security point of view. In the empirical part, a tool for generating protocol dissectors for Wireshark, which is a very popular network packet analyzer, is implemented and introduced. The tool has a graphical user interface and it generates the dissectors in Lua programming language. Several executed test cases with custom protocols have proven that the tool generates valid Lua files which work properly as protocol dissectors in Wireshark. Used sample packets are dissected correctly according to the protocol rules and definitions specified with the tool. Both fixed and variable length fields and packets can be defined, and both parent dissectors and subdissectors can be created.

see all

Työkalu Lua-kielisten protokolladissektoreiden luomiseen Wireshark:lle

Tiivistelmä

Pakettianalyysi on olennainen osa tietoverkkoliikenteen tarkkailua ja ymmärtämistä. Pakettianalysaattoreita käytetään kaappaamaan tietoverkoissa virtaavaa binääridataa, dekoodaamaan se ja parsimaan dekoodattu data jäsenneltyyn, luettavaan muotoon. Pakettianalysaattorit koostuvat protokollapilkkojista/dissektoreista, pienistä ohjelmistopaloista, jotka leikkelevät kaapatun datan erillisiin paketteihin ja kenttiin määriteltyjen protokollasääntöjen mukaisesti. Koska uusia protokollia kehitetään lakkaamatta ja analysaattori tarvitsee dissektorin jokaista protokollaa varten, jota sen on tarkoitus ymmärtää, on jatkuva tarve luoda dissektoreita. Niiden kirjoittaminen käsin on aikaavievää, vaatii perehtyneisyyttä kohdeanalysaattoriin, dissektoreiden rakenteeseen ja tietysti ohjelmointitaitoja. Sen vuoksi työkalu, joka automatisoisi varsinaisen dissektorinluomisprosessin, olisi hyödyllinen.

Tässä diplomityössä tutkitaan pakettianalysaattoreita ja protokolladissektoreita. Pakettianalysaattoreiden toiminnallisuuksia ja tyypillisiä käyttötapoja tarkastellaan erityisesti tietoturvan näkökulmasta. Työssä kehitetään ja esitellään työkalu dissektoreiden tuottamiseksi Wireshark:lle, joka on erittäin suosittu tietoverkkopakettianalysaattori. Työkalulla on graafinen käyttöliittymä ja se luo dissektorit Lua-ohjelmointikielellä. Useat suoritetut testitapaukset erikoisprotokollilla ovat osoittaneet, että työkalu luo valideja Lua-tiedostoja, jotka toimivat asianmukaisesti protokolladissektoreina Wireshark:ssa. Käytetyt näytepaketit pilkotaan oikein työkalulla määriteltyjen protokollasääntöjen ja määritelmien mukaisesti. Sekä kiinteän että vaihtelevan pituisia kenttiä ja paketteja voidaan määritellä, ja sekä yli- että alidissektoreita voidaan luoda.

see all

Subjects:
Copyright information: © Jarmo Luomala, 2013. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.