Welcome to LQ.
There is a way to do it. Wireshark does, though I don't know how. If Wireshark doesn't do what you need, then you could check its source. (I know. It's a pain, but it is a place to start. Squid's transparent proxy might also be a relevant source sample.)
You may be able to do something spiffy using iptables. I heard once that it could be tapped into somehow, but I don't see the rule off-hand. It might not be useful, but I thought I'd mention it.
Monitoring all interface traffic isn't something frequently done. The people who can provide good answers are probably not checking the Newbie forum. You might get a better response from the Networking or Programming forums. (Don't start a duplicate thread. Click "Report" and ask them to move it.)