Eavesdrop is an application for listening in on TCP conversations on the network your computer is attached to. It can also open up tcpdump / Ethereal capture files for analysis.

Quick Start:
For most users with a single network connection (ie: only ethernet or airport active, not both), you can simply start up the application and click "Start Capture" (you will be asked to authenticate). The application will start to list any TCP conversations it sees on the network.

Licensing:
This application is
freeware and licensed under the GPL. If you have some reason that you would like to license it from me in some manner other than the GPL, please contact me. I am open to discussions for other uses.
I have no plans to ever charge for it, although I may setup a PayPal account for donations, if anyone wants to contribute to development. Although my work has inspired the writing of this application, I do all the development on my own time. I have learned and accomplished a lot because of Free and Open Source Software and would like to give something back to the community.
I hope that anyone using this application finds that it gives them information they couldn't get from another app, or inspires them to learn more about what their computers are doing in the background. For more advanced users, it can give some insight into the performance of client / server communications.

Acknowledgments:
I would like to thank Jean-Edouard Babin for his code contributions. He added support for PNG graphics and fixed a display bug in the ASCII / HEX view. I would also like to thank
Snowmint Creative solutions (http://developer.snowmintcs.com) for their excellent graphing classes for Cocoa. The graphing features look a lot better than they would have under my design alone. The code related to graphing is not covered under the GPL and is not public domain, please see their web site for details on their open source license.

Requirements:

• Mac OS X 10.3 or greater
• administrative rights (for live captures)
• network connection (ethernet/airport) or tcpdump capture files

Features:
• TCP conversation tracking
• show last TCP flags sent and flag history
• tcpdump filter syntax
• live syntax checking
• payload reconstruction - display in ASCII or HEX
• read tcpdump files
• remove or hide idle conversations to save memory or simplify the interface
• display images contained in the capture
• search for an IP or payload contents
• graphing of conversation meta-data (can also export data)

To-Do List:
• save images
• TCP sequence analysis
• preferences (for font, colors & maybe more...)
• better statistical data
• better graphs (more than one dependent variable, for example)
• dynamic data columns in capture window
... and I'm open to suggestions!

Known Issues:
• packet info can be edited in conversation window
• no image details
• missing statistics
• "CaptureTool" process can get zombied when app crashes or window is closed during a capture
• a capture file can be processed by re-running the capture, this results in duplicated information
• no ability to save

v0.5a4
Compiled as a Universal Binary. Promiscuous mode and file capture both work. Added a button to save images to TIFF (thanks, Will!). Removed the "Save" and "Save As..." menu options. Although this does not address the underlying issue, it will reduce questions until the next major release, which should fix that.

v0.5a3u
Compiled as a Universal Binary. Limited release only (to specific testers).

v0.5a3
Fixed promiscuous mode.

v0.5a2
Added more graphing options. Not released publically.

v0.5a1
Added graphing capabilities. Moved around a lot of the user interface to (hopefully) be a little less cluttered. There are a lot more sub-sections now, but I think it layed out more logically.
I had started to add some HTML support, but it was so far from complete that I took the interfaces for it back out. The graphing support was more important to me (in order to use this for analysis of data) and so it got worked on first.
CPU performance used to go through the roof when running a capture and then remain high after the capture was stopped. Now, the CPU is still busy during (although not as much) and goes back to normal afterwards. On a related note, this version will not leave around orphaned or zombied processes under normal usage (although I have seen issues when a capture is not stopped before closing a window).
This is considered an alpha release because the graphs are implemented in an inconsistant mannor and the statistics are not in place yet.

v0.4b3
Major change in this version was getting authentication working properly. While working on this, I've split the app into separate display and capture applications. This should help some with performance as well. Some other minor bugs and irritations have been solved as well.

v0.4b1
First public release. Major features are complete with some remaining issues and interface elements that don't do anything. This is a major reworking from the previous version, which worked better (in some ways), but had performance issues and dropped packets.