Wireshark is one of the best open source network GUI packet analyzer available today. It is used to capture network packets and display the details of the packet data. Wireshark and tcpdump use libpcap to get live network data. It’s often more easy to capture packets using tcpdump command and view using Wireshark. This is useful for troubleshooting the network or network security issues and to debug protocol implementations.
In this tutorial, we will go through the installation of Wireshark on Ubuntu 16.04, CentOS 7, and Arch Linux.
Installing on Ubuntu 16.04
Before we begin installation, let's meet the dependencies:
$ sudo apt-get install build-essential checkinstall libcurl4-openssl-dev bison flex qt5-default qttools5-dev libssl-dev libgtk-3-dev libpcap-d
Once all the dependencies have been installed, we run the following in the terminal.
$ sudo add-apt-repository ppa:wireshark-dev/stable $ sudo apt-get update $ sudo apt-get install wireshark
During the installation, if you're asked if non-superusers be able to capture packets. Press the left arrow key on your keyboard to select <Yes> and hit Enter.
You can launch it from dash or type the command:
Installing on CentOS 7
We will install Wireshark on CentOS 7 using yum. In the terminal, type the following commands:
$ yum install gcc gcc-c++ bison flex libpcap-devel qt-devel gtk3-devel rpm-build libtool c-ares-devel qt5-qtbase-devel qt5-qtmultimedia-devel qt5-linguist desktop-file-utils $ sudo yum install wireshark wireshark-qt wireshark-gnome
Launch it from the launcher or type the following command in the command line:
Installing on Arch Linux
In the terminal, type the following commands:
$ sudo pacman -S wireshark-qt
or if you prefer the GTK+ interface, use this command:
$ sudo pacman -S wireshark-gtk
Installing from Source
Installing from source will require you to compile the source code. Once the requirements are met, run the following commands in the terminal to install the source code.
$ wget https://1.as.dl.wireshark.org/src/wireshark-2.4.5.tar.xz $ tar xvf wireshark-2.4.5.tar.xz $ cd wireshark-2.4.5/ $ ./autogen.sh $ ./configure –enable-setcap-install $ sudo make $ sudo make install $ sudo ldconfig
TShark is a command line tool that comes along with Wireshark to capture live traffic as well as read and parse capture files. Without any options set, TShark will work much like tcpdump. It will use the pcap library to capture traffic from the first available network interface and displays a summary line on stdout for each received packet.
Tshark is automatically on CentOS 7 when you install wireshark. On Ubuntu, you can install it with the command:
$ sudo apt install tshark
If you want to capture the packets coming from/going to UDP port 1812 on eth0, you can use tshark command as follows:
$ tshark -f "tcp port 80" -i eth0 -w capture.cap Capturing on 'eth0'
-f flag is used to specify a network capture filter (more on filters later). Packets that do not verify the condition following the
-f flag will not be captured. In this example, only IP packets that are coming from or going to UDP port 1812 are captured.
-i flag is used to specify the interface from which we expect to see the RADIUS packets. Change 'eth0' to whatever your interface name is.
-w flag is used to specify a file where the captured traffic will be saved for later processing.
If you are getting a ‘Permission Denied’ error when running wireshark as local user, you can start the it with root privileges or add the user account to wireshark group using the following command:
$ sudo usermod -a -G wireshark username
In this article, we learned to install wireshark on Ubuntu, CentOS and Arch Linux. We also learned how to compile from source for any Linux distro. Let us know if you faced any challenges during installation and we'll help you fix them.