The capture of communications data between computers and devices with embedded controllers such as digital cameras or MP3 players is becoming more and more necessary as communications protocols become more complex. It is frequently necessary to examine a log of the data exchanged between two devices when error checking or debugging new devices, when testing or developing device drivers, and when trying to understand higher-level protocols. Hardware devices for capturing the communications data are very expensive and beyond the means of most teaching labs and small companies. However, a few communications "snoop" programs are available which allow the user to capture the data via software. Many of these programs are difficult to use in their original form, and some require additional support software, especially those for use with more complex communications links. This paper presents examples of these applications for three communications links; serial port, USB port, and Ethernet with an emphasis on the USB port. These programs are available with open source code and can be modified as needed for specific applications. In addition to logging the output of basic communications data, some of the programs require post processing in order to view the data in a meaningful format, particularly for USB and Ethernet links with data packets and layered protocols. This paper includes implementation and post processing procedures for these applications.
展开▼