Well, tcpdump and ethereal work fine if you just want to intercept all the packets going across your network. If you wanted to take it further and analyze the packets you'd want to use something like snort
. Snort is an Intrusion Detection System. Its extremely robust has many features like logging all the packets to a database and graphing packets for you.
Their is also things like ipcop
which is an entire distro used to setup a firewall. Ipcop has snort built in as a module so it can do packet sniffing if you want.
Perhaps these options are too complex for what you are looking for. I'm not sure exactly what you want to do but these are some alternatives.