This file is indexed.

/usr/share/doc/wireshark-doc/wsdg_html_chunked/PartDevelopment.html is in wireshark-doc 2.4.5-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
2
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Part II. Wireshark Development</title><link rel="stylesheet" type="text/css" href="ws.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="index.html" title="Wireshark Developer&#8217;s Guide"><link rel="up" href="index.html" title="Wireshark Developer&#8217;s Guide"><link rel="prev" href="ChLibsWinSparkle.html" title="5.16. WinSparkle (optional)"><link rel="next" href="ChapterWorks.html" title="Chapter 6. How Wireshark Works"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. Wireshark Development</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ChLibsWinSparkle.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ChapterWorks.html">Next</a></td></tr></table><hr></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a name="PartDevelopment"></a>Part II. Wireshark Development</h1></div></div></div><div class="partintro"><div><div><div><h1 class="title"><a name="idm2030"></a>Wireshark Development</h1></div></div></div><p>The second part describes how the Wireshark sources are structured and how to
change the sources such as adding a new dissector.</p><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="ChapterWorks.html">6. How Wireshark Works</a></span></dt><dd><dl><dt><span class="section"><a href="ChapterWorks.html#ChWorksIntro">6.1. Introduction</a></span></dt><dt><span class="section"><a href="ChWorksOverview.html">6.2. Overview</a></span></dt><dt><span class="section"><a href="ChWorksCapturePackets.html">6.3. Capturing packets</a></span></dt><dt><span class="section"><a href="ChWorksCaptureFiles.html">6.4. Capture Files</a></span></dt><dt><span class="section"><a href="ChWorksDissectPackets.html">6.5. Dissect packets</a></span></dt></dl></dd><dt><span class="chapter"><a href="ChapterBuildIntro.html">7. Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="ChapterBuildIntro.html#ChCodeOverview">7.1. Source overview</a></span></dt><dt><span class="section"><a href="ChCodeStyle.html">7.2. Coding Style</a></span></dt><dt><span class="section"><a href="ChCodeGLib.html">7.3. The GLib library</a></span></dt></dl></dd><dt><span class="chapter"><a href="ChapterCapture.html">8. Packet capturing</a></span></dt><dd><dl><dt><span class="section"><a href="ChapterCapture.html#ChCaptureAddLibpcap">8.1. How to add a new capture type to libpcap</a></span></dt></dl></dd><dt><span class="chapter"><a href="ChapterDissection.html">9. Packet dissection</a></span></dt><dd><dl><dt><span class="section"><a href="ChapterDissection.html#ChDissectWorks">9.1. How it works</a></span></dt><dt><span class="section"><a href="ChDissectAdd.html">9.2. Adding a basic dissector</a></span></dt><dd><dl><dt><span class="section"><a href="ChDissectAdd.html#ChDissectSetup">9.2.1. Setting up the dissector</a></span></dt><dt><span class="section"><a href="ChDissectAdd.html#ChDissectDetails">9.2.2. Dissecting the details of the protocol</a></span></dt><dt><span class="section"><a href="ChDissectAdd.html#_improving_the_dissection_information">9.2.3. Improving the dissection information</a></span></dt></dl></dd><dt><span class="section"><a href="ChDissectTransformed.html">9.3. How to handle transformed data</a></span></dt><dt><span class="section"><a href="ChDissectReassemble.html">9.4. How to reassemble split packets</a></span></dt><dd><dl><dt><span class="section"><a href="ChDissectReassemble.html#ChDissectReassembleUdp">9.4.1. How to reassemble split UDP packets</a></span></dt><dt><span class="section"><a href="ChDissectReassemble.html#TcpDissectPdus">9.4.2. How to reassemble split TCP Packets</a></span></dt></dl></dd><dt><span class="section"><a href="ChDissectTap.html">9.5. How to tap protocols</a></span></dt><dt><span class="section"><a href="ChDissectStats.html">9.6. How to produce protocol stats</a></span></dt><dt><span class="section"><a href="ChDissectConversation.html">9.7. How to use conversations</a></span></dt><dt><span class="section"><a href="ChDissectIdl2wrs.html">9.8. <span class="emphasis"><em>idl2wrs</em></span>: Creating dissectors from CORBA IDL files</a></span></dt><dd><dl><dt><span class="section"><a href="ChDissectIdl2wrs.html#_what_is_it">9.8.1. What is it?</a></span></dt><dt><span class="section"><a href="ChDissectIdl2wrs.html#_why_do_this">9.8.2. Why do this?</a></span></dt><dt><span class="section"><a href="ChDissectIdl2wrs.html#_how_to_use_idl2wrs">9.8.3. How to use idl2wrs</a></span></dt><dt><span class="section"><a href="ChDissectIdl2wrs.html#_todo">9.8.4. TODO</a></span></dt><dt><span class="section"><a href="ChDissectIdl2wrs.html#_limitations">9.8.5. Limitations</a></span></dt><dt><span class="section"><a href="ChDissectIdl2wrs.html#_notes">9.8.6. Notes</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="wsluarm.html">10. Lua Support in Wireshark</a></span></dt><dd><dl><dt><span class="section"><a href="wsluarm.html#wsluarm_intro">10.1. Introduction</a></span></dt><dt><span class="section"><a href="wslua_dissector_example.html">10.2. Example of Dissector written in Lua</a></span></dt><dt><span class="section"><a href="wslua_tap_example.html">10.3. Example of Listener written in Lua</a></span></dt></dl></dd><dt><span class="chapter"><a href="wsluarm_modules.html">11. Wireshark&#8217;s Lua API Reference Manual</a></span></dt><dd><dl><dt><span class="section"><a href="wsluarm_modules.html#lua_module_Dumper">11.1. Saving capture files</a></span></dt><dd><dl><dt><span class="section"><a href="wsluarm_modules.html#lua_class_Dumper">11.1.1. Dumper</a></span></dt><dt><span class="section"><a href="wsluarm_modules.html#lua_class_PseudoHeader">11.1.2. PseudoHeader</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Field.html">11.2. Obtaining dissection data</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Field.html#lua_class_Field">11.2.1. Field</a></span></dt><dt><span class="section"><a href="lua_module_Field.html#lua_class_FieldInfo">11.2.2. FieldInfo</a></span></dt><dt><span class="section"><a href="lua_module_Field.html#global_functions_Field">11.2.3. Global Functions</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Gui.html">11.3. GUI support</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Gui.html#lua_class_ProgDlg">11.3.1. ProgDlg</a></span></dt><dt><span class="section"><a href="lua_module_Gui.html#lua_class_TextWindow">11.3.2. TextWindow</a></span></dt><dt><span class="section"><a href="lua_module_Gui.html#global_functions_Gui">11.3.3. Global Functions</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Listener.html">11.4. Post-dissection packet analysis</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Listener.html#lua_class_Listener">11.4.1. Listener</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Pinfo.html">11.5. Obtaining packet information</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Pinfo.html#lua_class_Address">11.5.1. Address</a></span></dt><dt><span class="section"><a href="lua_module_Pinfo.html#lua_class_Column">11.5.2. Column</a></span></dt><dt><span class="section"><a href="lua_module_Pinfo.html#lua_class_Columns">11.5.3. Columns</a></span></dt><dt><span class="section"><a href="lua_module_Pinfo.html#lua_class_NSTime">11.5.4. NSTime</a></span></dt><dt><span class="section"><a href="lua_module_Pinfo.html#lua_class_Pinfo">11.5.5. Pinfo</a></span></dt><dt><span class="section"><a href="lua_module_Pinfo.html#lua_class_PrivateTable">11.5.6. PrivateTable</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Proto.html">11.6. Functions for new protocols and dissectors</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Proto.html#lua_class_Dissector">11.6.1. Dissector</a></span></dt><dt><span class="section"><a href="lua_module_Proto.html#lua_class_DissectorTable">11.6.2. DissectorTable</a></span></dt><dt><span class="section"><a href="lua_module_Proto.html#lua_class_Pref">11.6.3. Pref</a></span></dt><dt><span class="section"><a href="lua_module_Proto.html#lua_class_Prefs">11.6.4. Prefs</a></span></dt><dt><span class="section"><a href="lua_module_Proto.html#lua_class_Proto">11.6.5. Proto</a></span></dt><dt><span class="section"><a href="lua_module_Proto.html#lua_class_ProtoExpert">11.6.6. ProtoExpert</a></span></dt><dt><span class="section"><a href="lua_module_Proto.html#lua_class_ProtoField">11.6.7. ProtoField</a></span></dt><dt><span class="section"><a href="lua_module_Proto.html#global_functions_Proto">11.6.8. Global Functions</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Tree.html">11.7. Adding information to the dissection tree</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Tree.html#lua_class_TreeItem">11.7.1. TreeItem</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Tvb.html">11.8. Functions for handling packet data</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Tvb.html#lua_class_ByteArray">11.8.1. ByteArray</a></span></dt><dt><span class="section"><a href="lua_module_Tvb.html#lua_class_Tvb">11.8.2. Tvb</a></span></dt><dt><span class="section"><a href="lua_module_Tvb.html#lua_class_TvbRange">11.8.3. TvbRange</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_File.html">11.9. Custom file format reading/writing</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_File.html#lua_class_CaptureInfo">11.9.1. CaptureInfo</a></span></dt><dt><span class="section"><a href="lua_module_File.html#lua_class_CaptureInfoConst">11.9.2. CaptureInfoConst</a></span></dt><dt><span class="section"><a href="lua_module_File.html#lua_class_File">11.9.3. File</a></span></dt><dt><span class="section"><a href="lua_module_File.html#lua_class_FileHandler">11.9.4. FileHandler</a></span></dt><dt><span class="section"><a href="lua_module_File.html#lua_class_FrameInfo">11.9.5. FrameInfo</a></span></dt><dt><span class="section"><a href="lua_module_File.html#lua_class_FrameInfoConst">11.9.6. FrameInfoConst</a></span></dt><dt><span class="section"><a href="lua_module_File.html#global_functions_File">11.9.7. Global Functions</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Dir.html">11.10. Directory handling functions</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Dir.html#lua_class_Dir">11.10.1. Dir</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Utility.html">11.11. Utility Functions</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Utility.html#global_functions_Utility">11.11.1. Global Functions</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Int64.html">11.12. Handling 64-bit Integers</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Int64.html#lua_class_Int64">11.12.1. Int64</a></span></dt><dt><span class="section"><a href="lua_module_Int64.html#lua_class_UInt64">11.12.2. UInt64</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_Struct.html">11.13. Binary encode/decode support</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_Struct.html#lua_class_Struct">11.13.1. Struct</a></span></dt></dl></dd><dt><span class="section"><a href="lua_module_GRegex.html">11.14. GLib Regular Expressions</a></span></dt><dd><dl><dt><span class="section"><a href="lua_module_GRegex.html#lua_class_GRegex">11.14.1. GRegex</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ChapterUserInterface.html">12. User Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ChapterUserInterface.html#ChUIIntro">12.1. Introduction</a></span></dt><dt><span class="section"><a href="ChUIQt.html">12.2. The Qt Application Framework</a></span></dt><dd><dl><dt><span class="section"><a href="ChUIQt.html#_user_experience_considerations">12.2.1. User Experience Considerations</a></span></dt><dt><span class="section"><a href="ChUIQt.html#_qt_creator">12.2.2. Qt Creator</a></span></dt><dt><span class="section"><a href="ChUIQt.html#_source_code_overview">12.2.3. Source Code Overview</a></span></dt><dt><span class="section"><a href="ChUIQt.html#_coding_practices_and_naming_conventions">12.2.4. Coding Practices and Naming Conventions</a></span></dt><dt><span class="section"><a href="ChUIQt.html#_other_issues_and_information">12.2.5. Other Issues and Information</a></span></dt></dl></dd><dt><span class="section"><a href="ChUIGTK.html">12.3. The GTK library</a></span></dt><dd><dl><dt><span class="section"><a href="ChUIGTK.html#ChUIGTK2x">12.3.1. GTK Version 2.x</a></span></dt><dt><span class="section"><a href="ChUIGTK.html#ChUIGTK3x">12.3.2. GTK Version 3.x</a></span></dt><dt><span class="section"><a href="ChUIGTK.html#ChUIGTKCompat">12.3.3. Compatibility GTK versions</a></span></dt><dt><span class="section"><a href="ChUIGTK.html#ChUIGTKWeb">12.3.4. GTK resources on the web</a></span></dt></dl></dd><dt><span class="section"><a href="ChUIGUIDocs.html">12.4. Human Interface Reference Documents</a></span></dt><dt><span class="section"><a href="ChUIGTKDialogs.html">12.5. Adding/Extending Dialogs</a></span></dt><dt><span class="section"><a href="ChUIGTKWidgetNamings.html">12.6. Widget naming</a></span></dt><dt><span class="section"><a href="ChUIGTKPitfalls.html">12.7. Common GTK programming pitfalls</a></span></dt><dd><dl><dt><span class="section"><a href="ChUIGTKPitfalls.html#ChUIGTKShowAll">12.7.1. Usage of gtk_widget_show() / gtk_widget_show_all()</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="AppGPL.html">13. This Document&#8217;s License (GPL)</a></span></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ChLibsWinSparkle.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ChapterWorks.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.16. WinSparkle (optional) </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 6. How Wireshark Works</td></tr></table></div></body></html>