Ethereal Developer's Guide Draft 0.0.2 (15684) for Ethereal 0.10.11
Total Page:16
File Type:pdf, Size:1020Kb
Ethereal Developer's Guide Draft 0.0.2 (15684) for Ethereal 0.10.11 Ulf Lamping, Ethereal Developer's Guide: Draft 0.0.2 (15684) for Ethere- al 0.10.11 by Ulf Lamping Copyright © 2004-2005 Ulf Lamping Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. All logos and trademarks in this document are property of their respective owner. Table of Contents Preface .............................................................................................................................. vii 1. Foreword ............................................................................................................... vii 2. Who should read this document? ............................................................................... viii 3. Acknowledgements ................................................................................................... ix 4. About this document .................................................................................................. x 5. Where to get the latest copy of this document? ............................................................... xi 6. Providing feedback about this document ...................................................................... xii I. Ethereal Build Environment ................................................................................................14 1. Introduction .............................................................................................................15 1.1. Introduction ..................................................................................................15 1.2. What is Ethereal? ...........................................................................................16 1.3. Platforms Ethereal runs on ...............................................................................17 1.3.1. Unix ..................................................................................................17 1.3.2. Linux ................................................................................................17 1.3.3. Microsoft Windows ..............................................................................18 1.4. Development and maintenance of Ethereal ..........................................................19 1.4.1. Programming language(s) used ...............................................................19 1.4.2. Open Source Software ..........................................................................19 1.5. Releases and distributions ................................................................................21 1.5.1. Binary distributions ..............................................................................21 1.5.2. Source code distributions ......................................................................21 1.6. Reporting problems and getting help ..................................................................22 1.6.1. Website .............................................................................................22 1.6.2. Wiki ..................................................................................................22 1.6.3. FAQ ..................................................................................................22 1.6.4. Mailing Lists ......................................................................................22 1.6.5. Bug database ......................................................................................23 1.6.6. Reporting Problems ..............................................................................23 1.6.7. Reporting Crashes on UNIX/Linux platforms ............................................24 1.6.8. Reporting Crashes on Windows platforms ................................................24 1.7. Other sources of developer information ..............................................................25 2. Tools ......................................................................................................................27 2.1. Introduction ..................................................................................................27 2.2. Installation ....................................................................................................28 2.2.1. UNIX ................................................................................................28 2.2.2. Win32 native ......................................................................................28 2.2.3. Win32 Cygwin ....................................................................................28 2.3. Win32: Recommended tools .............................................................................30 2.4. bash .............................................................................................................31 2.4.1. UNIX: GNU bash ................................................................................31 2.4.2. Win32 native: - ...................................................................................31 2.5. C compiler ....................................................................................................32 2.5.1. UNIX: GCC (GNU compiler collection) ..................................................32 2.5.2. Win32 native: Microsoft Visual Studio version 6 C compiler .......................32 2.5.3. Win32 native: Microsoft Visual Studio .NET (and alike) C compilers ............33 2.6. Debugger ......................................................................................................34 2.6.1. UNIX: GDB (GNU project debugger) ......................................................34 2.6.2. UNIX: DDD (GNU Data Display Debugger) ............................................34 2.6.3. Win32 native: Microsoft Visual Studio debugger .......................................34 2.6.4. Win32 native: Microsoft Debugging Tools for Windows .............................34 2.7. make ............................................................................................................36 2.7.1. Unix: GNU Make ................................................................................36 2.7.2. Win32 native: nmake from MSVC ..........................................................36 2.7.3. Win32 native: nmake from microsoft.com ................................................36 2.8. python ..........................................................................................................38 2.8.1. UNIX: python .....................................................................................38 2.8.2. Win32 native: python ...........................................................................38 iv Ethereal Developer's Guide 2.9. perl ..............................................................................................................39 2.9.1. UNIX: perl .........................................................................................39 2.9.2. Win32 native: perl ...............................................................................39 2.10. sed .............................................................................................................40 2.10.1. UNIX: sed ........................................................................................40 2.10.2. Win32 native: sed ..............................................................................40 2.11. yacc (bison) .................................................................................................41 2.11.1. UNIX: bison .....................................................................................41 2.11.2. Win32 native: bison ............................................................................41 2.12. lexx (flex) ...................................................................................................42 2.12.1. UNIX: flex .......................................................................................42 2.12.2. Win32 native: flex ..............................................................................42 2.13. Subversion (SVN) client (optional) ..................................................................43 2.13.1. UNIX: svn ........................................................................................43 2.13.2. Win32 native: TortoiseSVN .................................................................43 2.14. diff (optional) ..............................................................................................44 2.14.1. UNIX: GNU diff ................................................................................44 2.14.2. Win32 native: diff ..............................................................................44 2.15. patch (optional) ............................................................................................45 2.15.1. UNIX: patch .....................................................................................45 2.15.2. Win32 native: patch ............................................................................45 2.16. Win32: GNU wget (optional) ..........................................................................46 2.17. Win32: NSIS (optional) .................................................................................47 2.18. Obsolete: CVS client .....................................................................................48 2.19. Win32: Verify installed tools ..........................................................................49