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.