1 / 17

Adding Additional Functionality to the Wireshark GUI with GTK+ June 18, 2009 Stephen Fisher

Adding Additional Functionality to the Wireshark GUI with GTK+ June 18, 2009 Stephen Fisher Wireshark Core Developer Network Engineer SHARK FEST '09 Stanford University June 15-18, 2009. What is GTK+.

janus
Download Presentation

Adding Additional Functionality to the Wireshark GUI with GTK+ June 18, 2009 Stephen Fisher

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adding Additional Functionality to the Wireshark GUI with GTK+ June 18, 2009 Stephen Fisher Wireshark Core Developer Network Engineer SHARKFEST'09 Stanford University June 15-18, 2009

  2. What is GTK+ • GTK+ is short for the GIMP Toolkit. It was originally created for use by the GNU Image Manipulation Program(GIMP). • GTK+ is available for Unix (X), Microsoft Windows and MacOS X . • GTK+ is written in C and comes with a C based API. APIs for other languages are available.

  3. How Wireshark uses GTK+ Almost all GUI presentations in Wireshark are done through GTK+. A notable exception is the native Microsoft Windows File Save dialogs.

  4. The Export Objects feature In the GUI, go to: Find Export Objects We will be studying how the the HTTP Export Object’s GUI was created.

  5. Main Menu To Export Object gtk/main_menu.c The underline in front of a letter means that letter is the shortcut key in the menu. gtk/export_object_http.c We use _U_ to tell gcc that the parameter is unused in the function. gtk/export_object.c

  6. Creating the Window gtk/export_object.c: export_object_window() continued gtk/export_object.h: epan/prefs.h: (pixels)

  7. Creating the Window(cont.) gtk/export_object.c: export_object_window() continued

  8. Creating the Window(cont.) gtk/export_object.c: export_object_window() continued

  9. Creating the Window(cont.) gtk/export_object.c: export_object_window() continued

  10. Creating the Window(cont.) gtk/export_object.c: export_object_window() continued (Repeated for each column…)

  11. Creating the Window(cont.) gtk/export_object.c: export_object_window() continued

  12. Creating the Window(cont.) gtk/export_object.c: export_object_window() continued (repeated for each button …)

  13. Creating the Window(cont.) gtk/export_object.c: export_object_window() continued

  14. The Finished Window

  15. Window Filled With Tap Data

  16. Further reading GTK+ Reference Manual: http://library.gnome.org/devel/gtk/stable/ GTK+ Index of All Symbols (functions and such): http://library.gnome.org/devel/gtk/stable/api-index-full.html GTK+ 2.0 Tree View Tutorial: http://scentric.net/tutorial/ Wireshark Developer’s Guide: http://www.wireshark.org/docs/wsdg_html_chunked/ Wireshark Developer README: http://anonsvn.wireshark.org/viewvc/trunk/doc/README.developer?view=co or doc/README.developer in source code tree

  17. Questions ? I’m happy to answer any of your questions now, after this session or any time you see me during the conference. Ask other core and non-core developers; a number of which are proficient at GTK programming. Ask them on the wireshark-dev@wireshark.org mailing list (subscription required to get the responses to your question). I am subscribed to this mailing list. Review existing code in the gtk/ directory in the source code tree

More Related