Wireshark and tcpdump is a free and open-source network packet analyzer. Where Wireshark is a desktop application that can be installed on multiple Operating Systems while tcpdump is a commandline utility mainly seen in Linux/Unix based Operating Systems.
In this post we are using tcpdump to capture packets from a remote machine and analyse it using Wireshark.
Before we begin we need the following
- A remote computer linux server with SSH enabled and tcpdump installed.
- Root access to the server.
- Any service which can be used to generate network traffic, like Apache Webserver or a node server.
- A local computer with Wireshark installed.
The goal here is to capture the network traffic on a remote computer using tcpdump , download and analyse using wireshark.
Capturing packet remotely
In order to capture packets remotely connect using SSH, Connect to the remote server and start tcpdump like below.
[[email protected] ~]# tcpdump -s 0 -i ens192 -w tcpdump_Capture.pcap
In short, the above command will capture all traffic on the specified interface with -i option and write it to a file tcpdump_capture.pcap in a format compatible with Wireshark. Once you’ve finished capturing traffic, end the tcpdump session by pressing Ctrl+C
Make sure you use the proper network interface to capture the traffic, In this case, it was a Redhat Linux box and the interface name was ens192, In the case of certain other machines it might be eth0.
Analyzing the tcpdump file using Wireshark
we can download the tcpdump file from the remote server using any of the file transfer utilities like WinScp, Filezilla, or pscp.exe.
Once downloaded you can open the file in Wireshark. Open Wireshark, then import the tcpdump captured session using File –> Open and browse for your file. You can also double-click the tcpdump capture file to open it in Wireshark, as long as it has the *.pcap file extension.
This blog gives a basic introduction for using Wireshark and tcpdump, more details can be obtained from their respective websites.