Wireshark Developer’s Guide
vi
5.11. Gcrypt (optional) ....................................................................................... 48
5.11.1. Unix ............................................................................................. 48
5.11.2. Win32 MSVC ................................................................................. 48
5.12. Kerberos (optional) .................................................................................... 48
5.12.1. Unix ............................................................................................. 48
5.12.2. Win32 MSVC ................................................................................. 48
5.13. LUA (optional) .......................................................................................... 48
5.13.1. Unix ............................................................................................. 49
5.13.2. Win32 MSVC ................................................................................. 49
5.14. PortAudio (optional) ................................................................................... 49
5.14.1. Unix ............................................................................................. 49
5.14.2. Win32 MSVC ................................................................................. 49
5.15. GeoIP (optional) ........................................................................................ 49
5.15.1. Unix ............................................................................................. 49
5.15.2. Win32 MSVC ................................................................................. 49
5.16. WinSparkle (optional) ................................................................................. 49
5.16.1. Win32 MSVC ................................................................................. 49
II. Wireshark Development ................................................................................................. 50
6. How Wireshark Works ........................................................................................... 51
6.1. Introduction ................................................................................................ 51
6.2. Overview ................................................................................................... 51
6.3. Capturing packets ........................................................................................ 52
6.4. Capture Files .............................................................................................. 52
6.5. Dissect packets ........................................................................................... 52
7. Introduction .......................................................................................................... 53
7.1. Source overview .......................................................................................... 53
7.2. Coding Style .............................................................................................. 53
7.3. The GLib library ......................................................................................... 53
8. Packet capturing .................................................................................................... 54
8.1. How to add a new capture type to libpcap ....................................................... 54
9. Packet dissection ................................................................................................... 55
9.1. How it works .............................................................................................. 55
9.2. Adding a basic dissector ............................................................................... 55
9.2.1. Setting up the dissector ...................................................................... 55
9.2.2. Dissecting the details of the protocol .................................................... 57
9.2.3. Improving the dissection information .................................................... 60
9.3. How to handle transformed data ..................................................................... 62
9.4. How to reassemble split packets ..................................................................... 63
9.4.1. How to reassemble split UDP packets ................................................... 64
9.4.2. How to reassemble split TCP Packets ................................................... 67
9.5. How to tap protocols ................................................................................... 68
9.6. How to produce protocol stats ....................................................................... 69
9.7. How to use conversations ............................................................................. 70
9.8. idl2wrs: Creating dissectors from CORBA IDL files .......................................... 70
9.8.1. What is it? ....................................................................................... 71
9.8.2. Why do this? ................................................................................... 71
9.8.3. How to use idl2wrs ........................................................................... 71
9.8.4. TODO ............................................................................................. 72
9.8.5. Limitations ...................................................................................... 73
9.8.6. Notes .............................................................................................. 73
10. Lua Support in Wireshark ...................................................................................... 74
10.1. Introduction .............................................................................................. 74
10.2. Example of Dissector written in Lua ............................................................. 74
10.3. Example of Listener written in Lua ............................................................... 75