| < Day Day Up > |
|
The following Frequently Asked Questions, answered by the authors of this book, are designed to both measure your understanding of the concepts presented in this chapter and to assist you with real-life implementation of these concepts. To have your questions about this chapter answered by the author, browse to www.syngress.com/solutions and click on the “Ask the Author” form. You will also gain access to thousands of other FAQs at ITFAQnet.com.
1. | How does Ethereal know when a dissector should be called? |
|
2. | Where do you locate the design document for developing Ethereal? |
|
3. | How do you pass information from one dissector to another? |
|
4. | How do I know what functions are provided by Ethereal? |
|
5. | Can I build Ethereal with Microsoft Visual C++? |
|
6. | Where can I find more information on programming the GUI? |
|
Answers
1. | The dissector_add function defines the condition in which the dissector should be called. |
2. | There really isn’t a design document, but the README.developer document and the other documents contained in the doc directory contain useful information. |
3. | By using the pinfo->private_data to pass a pointer to the other dissectors data. |
4. | We have tried to list many of the common ones within this chapter, but for a complete listing you should look at the header files of the source for all exports. Exports are the mechanism that allows you to define the public functions that will be available to the rest of the application. Functions that are not exported are limited in visibility to the module in which they are defined. Although they may be limited in their visibility, it is important that you do not create a function within your dissector that might conflict with a public function that has been exported. This is one of the reasons why you should declare your private functions as static unless you plan to export the function for use with other Ethereal modules. |
5. | Yes, you just need to make sure you have all of the required libraries and tools. It is important to realize that building under Microsoft Visual C++ does not include using the visual studio environment. Building Ethereal utilizes the command line interface and you build Ethereal.exe with nmake.exe. Ethereal does not include any visual studio workspace or configuration files to be used with the visual studio GUI. To build Ethereal under Microsoft Visual C++ you open a CMD window and then navigate to the main source directory of Ethereal. Finally you execute nmake with the syntax – nmake –f makefile.nmake. |
6. | The GTK website has development tutorials and examples at www.gtk.org |
| < Day Day Up > |
|