On my previous Macbook Pro I'd used Ethereal and I don't remember having many issues with it as I was able to run it as sudo so that I had privileges for sniffing packets. Since then Ethereal has become Wireshark and it's now available with a nice appication wrapper as a launcher for running it under X11. (Note this requires X11 to be installed)
After opening wireshark for the first time I had an issue that there were no interfaces to choose from due to lack of permissions. This link provides a neat solution to the problem by providing a start-up item to set the relevant permissions correctly.
The nub of the solution is to make sure you have permission to read