wireshark: A free network protocol analyzer (source)

Wireshark is a free network protocol analyzer for Unix and Windows.
It allows you to examine data from a live network or from a capture file on disk.
You can interactively browse the capture data, viewing summary and detail information for each packet.
Wireshark has several powerful features, including a rich display filter language and the ability to view the reconstructed stream of a TCP session.