Wireshark is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education.
How to use Wireshark to inspect packets and isolate network and system problems [pdf]