Have you ever needed to see traffic in front of your eyes? There exists a tool in linux to do this. You can see it all, even .. passwords.
I will just give you the commands to see different types of traffic, use it for what you want.
You will not see network traffic going between other devices on the network, only to your workstation – assuming you are on a switched network, on a WLAN things are different.
If you want to monitor a network port, you can use a ‘mirror port’ in Cisco, configuration is as follows:
monitor session 1 source interface fastethernet 0/1
monitor session 1 destination interface fastethernet 0/2 encap ingress vlan 1
This will mirror all network traffic on FastEthernet 0/1 to FastEthernet 0/2.
There also exists methods for injecting ARP to a switched network to make network devices believe you are the gateway, so that you can inspect the packets before passing them on to the gateway.
So back to tcpdump, to look at for example web traffic
Always remember that if you want to see the traffic as ASCII, just apply the argument ‘-A’ to tcpdump
I am assuming you are using eth0, -n turns off DNS.
tcpdump -i eth0 -n port 80
Now a little more fancy, using egrep – this will show all your web requests in real time!
tcpdump -i eth0 -A -n port 80 | egrep -i \(GET.\/\|POST.\/\|Host:\)
Did you know you can tcpdump for a subnet by just excluding the last octet?
tcpdump -i eth0 -n port 80 and host 10.0.5
You can see I used ‘and’ here to specify more filter, you can also use or
For example port 80 or port 81
If you forgot your pop3 password, but have it stored in the client
tcpdump -i eth0 -n port 110 -A | egrep -i \(user\|pass\)
This also applies to passwords for the web, I have used this a lot instead of the ‘forgot password’ mechanism.