Douglas E. Comer

Computer Science Department
Purdue University
West Lafayette, IN 47907

webmaster: W. David Laverell

Companion Topics


Book Information

Purpose of Site

Getting Started



What's New

Coming Attractions

C Pointers




Hands-On Networking: Site Purpose

The site is intended for students and instructors. It is organized along the lines of Professor Comer's book, Hands-On Networking, that is, for each chapter containing experiements you can expect to find some or all of the following:

  • Introductory notes for the chapter consisting of general comments. For example, if the experiments are related to each other in such a way that you really need to anticipate the last experiment when you are doing the first, then this will be pointed out.

  • Notes for faculty. The best example is to be found in Chapter Twelve. This requires a lot of setup work. It requires a procedure to allow students to sniff packets. It requires special software or special knowledge of the operating system so that students have special access for a limited time and on a limited part of the network. This page provides detailed explanations of how you provide the necessary access without giving people the root password and suggestions on how to generate packets of interest for use in further analysis.

  • Notes for each experiment. Again the best illustration of the kind of help the site provides is from chapter 12. In Experiment 12.1 the student is asked to write a program that will read the output produced by a packet sniffer, and print some basic information. At first blush this seems to be an easy, straightforward assignment. Not! The bewildering variety of sniffers, operating systems, and, yes, even computer architectures make this very much a non-trivial task. What we aim to provide is basic information on what kinds of problems to expect and how to deal with them as well as a methodology which will enable the student to understand and deal with whatever particular problems his or her configuration presents. This experiment requires two very different kinds of work. The first involves programming, and each student must do that, but the second involves dealing with issues that are extremely frustrating and that do not advance the student's knowledge very much. This page aims to minimize the time spent in this second area.

  • Sample output. How do I know that I am doing this assignment right? Compare my output to the sample output.

  • Test data. For some faculty and students with limited resources packet sniffing will not be possible, hence test data will be available to cover those situations.

For faculty only solutions are available.

Procedure for Obtaining Solutions

Note that solutions to many of the experiments are available. The procedure requires you to contact your Prentice Hall representative who will certify you, so to speak, to me. You will then receive solutions by email. You will then also be enrolled for updates and further solutions as these become available. Solutions will be available for two popular platforms, Solaris running on Sun workstations and servers, and Linux running on Intel machines. They will be carefully documented in terms of platform, compiler, and other such details.

This site is maintained by W. David Laverell of the Computer Science Department at Calvin College. For assistance or corrections, please contact him at