CSe461 Preparing your own software for use with tcpdump461



Please see the link on the previous page on the use of tcpdump in 461. This describes in a rather technical fashion what is needed to use the provided tool tcpdump461. Tcpdump is a debugging tool that can be used to watch packets as they are exchanged on between hosts. Ordinarily this requires root access and cannot be accessed by those with user level access on machines such as the attu cluster. Support has provided a special version of this called tcpdump461 which can be used by anyone. This is only installed on that attu machines. Several things need to be done in order to insure that your packets can be viewed by this tool. First, the server must bind to a specific address indicating a special network card. Secondly the client must be pointed at an address indicating this network card (instead of the normal attu1, attu2 etc address). Lastly the client must either on another attu machine or one of the machines on the list provided in the "using tcpdump in 461" document.

To bind with the correct address a function to find a sniffable address has been provided by support. Note that to compile this function one must be running on a linux machine. serverSniff.c is a version of the server.c sample code which includes the option to bind to a sniffable address. You can use it to experiment with tcpdump461 and as an example of how to make your own code work with tcpdump461. Run the program on an attu machine with the "sniff" keyword to force this bind. (ie serverSniff 2345 sniff). Then connect the client to attu?-461.pvt.cs.washington.edu where ? is 1,2,3,4 indicating the server machine. You should then be able to observe the traffic on the relevant attu machines with /usr/sbin/tcpdump461. The client can be on another attu or one of the machines listed in the support info. above.