tcpdump: Monitor ALL eth1 Traffic Except My Own SSH Session

Posted on in Categories , last updated April 14, 2010

I‘m using tcpdump to dump, debug and monitor traffic on a network. However, there is lots of noise and I would like to exclude ssh from my dumps. How do I monitor all traffic except my ssh session?

The tcpdump command displays out the headers of packets on a network interface that match the boolean expression. In other words you can use boolean expression to drop ssh traffic from dumping and monitoring operation using the following syntax:

tcpdump -i eth1  -s 1500 port not 22

You can skip additional ports too:

tcpdump -i eth1  -s 1500 port not 22 and port not 53

You can also use ip or hostname:

tcpdump -i eth1 port not 22 and host 1.2.3.4

See also:

man tcpdump

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

7 comment

  1. tcpdump -i eth0 port 80 and 443 and host not `echo $SSH_CLIENT | awk '{print $1}'` and not host 'tor.sabotage.org' and not host 'sh02.packetderm.com' and not host 'anemone.mooo.com' and not host 'snorky.mixmin.net' >> temp-tcpdump.txt

Leave a Comment