How To Use Tcpdump On Linux

how to use tcpdump on linux.

 How To Use Tcpdump On Linux


How To Use Tcpdump On Linux


Want to know more about traffic on your network? Learn how to use tcpdump on Linux with the following example.


Are you trying to capture data packets to analyze traffic on your network? Maybe you are a server administrator who is having problems and wants to monitor the data sent on the network. Whatever the situation, tcpdump Linux is just what you need. In this article, we will discuss the tcpdump command in detail, along with some guides on how to install and use tcpdump on Linux systems.


Also Read: How To Uninstall Applications On Linux With Apt

TABLE OF CONTENTS

1. What is the Tcpdump Command?

2. How To Install Tcpdump On Linux

3. How to Use Tcpdump On Linux

4. 1. Check Network Interface List

5. 2. Output Format Tcpdump

6. 3. Limit the Number of Packages Taken

7. 4. Filter Packets By Fields

8. 5. View Package Contents

9. 6. Save Captured Data To File

10. Conclusion


What is the Tcpdump Command?


Tcpdump is a powerful network monitoring tool that allows users to filter packets and traffic on the network efficiently. You can get detailed information related to TCP/IP and packets sent on your network.


Tcpdump is a command-line utility, which means you can still run it on non-GUI Linux systems. System administrators can also integrate the tcpdump utility with cron to automate various tasks such as logging. As its various features make it quite versatile, tcpdump serves as a troubleshooting as well as security tool.

How To Install Tcpdump On Linux


Although most Linux distributions have the tcpdump package installed automatically on their systems, there are also some Linux distributions that don't come with the package. Therefore, you may have to manually install the utility on your system.


You can check if tcpdump is installed on your system by using the command:

Checking Tcpdump Is Installed

which tcpdump


If the output shows the directory path (/usr/bin/tcpdump), then your system has the package installed. But if not, you can do it easily using the default package manager on your system.


To install tcpdump on a Debian based distribution like Ubuntu you can use the following command:

sudo apt-get install tcpdump


Installing tcpdump on CentOS is also easy, just use the following command.

sudo yum install tcpdump


On Arch-based distributions you can use the command:

sudo pacman -S tcpdump


As for installing on Fedora, you can use the command:

sudo dnf install tcpdump


Note that the tcpdump package requires libcap as a dependency, so make sure you install that on your system too.


How To Use Tcpdump On Linux


If tcpdump is already installed on your Linux system, it is time to monitor some packages. Since tcpdump requires superuser permissions to perform most operations, you will need to add sudo to your command.

1. Periksa Daftar Network Interface


Untuk memeriksa nework interface mana yang tersedia untuk di capture, gunakan tanda –D dengan perintah tcpdump.

tcpdump -D


Meneruskan flag –list-interfaces sebagai argumen akan mengembalikan output yang sama.

tcpdump --list-interfaces


Outputnya adalah daftar semua interface jaringan yang ada di sistem kalian.

Periksa Daftar Network Interface


Setelah mendapatkan daftar interface jaringan, sekarang saatnya untuk memantau jaringan kalian dengan menangkap paket di sistem kalian. Meskipun kalian dapat menentukan interface mana yang ingin kalian gunakan, argumen apa pun memerintahkan tcpdump untuk menangkap paket jaringan menggunakan interface aktif apa pun.

tcpdump --interface any


Sistem akan menampilkan output sebagai berikut.

Tcpdum Interface Any


2. Format Output Tcpdump


Mulai dari baris ketiga, setiap baris output menunjukkan paket tertentu yang ditangkap oleh tcpdump. Seperti inilah tampilan output dari satu paket.

17:00:25.369138 wlp0s20f3 Out IP localsystem.40310 > kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 33


Ingatlah bahwa tidak semua paket ditangkap dengan cara ini, tetapi ini adalah format umum yang diikuti oleh sebagian besar paket. Outputnya berisi informasi berikut.

  * Timestamp paket yang diterima

  * Nama interface

  * Packet flow

  * Nama protokol jaringan

  * Detail IP address dan port

  * TCP flags

  * Nomor urut data dalam paket

  * Ack data

  * Window size

  * Packet length


Field pertama ( 17: 00: 25.369138 ) menampilkan timestamp ketika sistem kalian mengirim atau menerima paket. Waktu yang direkam diambil dari waktu lokal sistem kalian.


Field kedua dan ketiga menunjukkan interface yang digunakan dan packet flow. Dalam potongan di atas, wlp0s20f3 adalah nama interface nirkabel dan Out adalah packet flow.


Field keempat mencakup informasi yang berkaitan dengan nama protokol jaringan. Secara umum, kalian akan menemukan dua protokol yaitu IP dan IP6, di mana IP menunjukkan IPV4 dan IP6 untuk IPV6.


Field berikutnya berisi IP address atau nama sistem sumber dan tujuan. IP address diikuti dengan nomor port.


Field keenam dalam output terdiri dari tanda TCP. Ada berbagai flag yang digunakan dalam output tcpdump.

Nama Flag Nilai       Deskripsi

SYN       S     Koneksi dimulai

SIRIP     F     Koneksi selesai

DORONG    P.    Data didorong

RST       R     Koneksi disetel ulang

ACK       .     Acknowledgement


Output-nua juga bisa berisi kombinasi dari beberapa flag TCP. Misalnya, FLAG [f.] adalah singkatan dari paket FIN-ACK.


Kemduian jika kita menulusuri lebih jauh lagi potongan output, field berikutnya berisi nomor urut (seq 196:568) dari data dalam paket. Paket pertama selalu memiliki nilai bilangan bulat positif, dan paket berikutnya menggunakan nomor urut relatif untuk meningkatkan aliran data.


Field berikutnya berisi acknowledgment number (ack 1), atau simple Ack number. Paket yang ditangkap di mesin pengirim memiliki 1 sebagai nacknowledgment number. Di sisi penerima, Ack number adalah nilai paket berikutnya.


Field kesembilan dalam output mengakomodasi windos size (win 309), yang merupakan jumlah byte yang tersedia di buffer penerima. Ada beberapa field lain yang mengikuti windos size, termasuk Maximum Segment Size (MSS).


Field terakhir (length 33) berisi panjang dari keseluruhan paket yang ditangkap oleh tcpdump.


3. Batasi Jumlah Paket Yang Diambil


Saat menjalankan perintah tcpdump untuk pertama kalinya, kalian mungkin memperhatikan bahwa sistem terus menangkap paket jaringan hingga kalian melewatkan sinyal interupsi. Kalian dapat mengganti perilaku default ini dengan menentukan jumlah paket yang ingin kalian tangkap sebelumnya menggunakan flag -c.

Batasi Jumlah Paket Yang Diambil

tcpdump --interface any -c 10


Perintah yang disebutkan di atas akan menangkap sepuluh paket dari interface jaringan yang aktif.


4. Filter Paket Berdasarkan Fields


Saat kalian memecahkan masalah, mendapatkan blok besar output teks di terminal kalian tidak membuatnya lebih mudah. Di situlah fitur pemfilteran di tcpdump berperan. Kalian dapat memfilter paket sesuai dengan berbagai field termasuk host, protokol, nomor port, dan banyak lagi. Untuk menangkap hanya paket TCP, ketikan perintah berikut:

Filter Paket Berdasarkan Fields

tcpdump --interface any -c 5 tcp


Demikian pula, jika kalian ingin memfilter output menggunakan nomor port:

tcpdump --interface any -c 5 port 50


Perintah yang disebutkan di atas hanya akan mengambil paket yang dikirimkan melalui port yang ditentukan. Untuk mendapatkan detail paket untuk host tertentu:

tcpdump --interface any -c 5 host 112.123.13.145


Jika kalian ingin memfilter paket yang dikirim atau diterima oleh host tertentu, gunakan argumen src atau dst dengan perintah:

tcpdump --interface any -c 5 src 112.123.13.145

tcpdump --interface any -c 5 dst 112.123.13.145


Kalian juga dapat menggunakan operator logika and dan or untuk menggabungkan dua atau lebih ekspresi bersama-sama. Misalnya, untuk mendapatkan paket yang termasuk dalam source IP 112.123.13.145 dan gunakan port 80:

tcpdump --interface any -c 10 src 112.123.13.145 and port 80


Ekspresi kompleks dapat dikelompokkan bersama menggunakan tanda kurung sebagai berikut:

tcpdump --interface any -c 10 "(src 112.123.13.145 or src 234.231.23.234) and (port 45 or port 80)" 5.


5. Lihat Isi Paket


Kalian dapat menggunakan flag -A dan -x dengan perintah tcpdump untuk menganalisis isi paket jaringan. Flag -A merupakan singkatan ASCII Format dan -x menandakan format heksadesimal. Gunakan perintah dibawah ini untuk melihat isi paket jaringan berikutnya yang diambil oleh sistem:

Lihat Isi Paket Tcpdump

tcpdump --interface any -c 1 -A

tcpdump --interface any -c 1 -x


6. Simpan Data Capture Ke File


Jika kalian ingin menyimpan data capture untuk tujuan referensi, tcpdump ada untuk membantu kalian. Cukup berikan flag -w dengan perintah default untuk menulis output ke file daripada menampilkannya di layar.

Simpan Data Capture Tcpdump Ke File

tcpdump --interface any -c 10 -w data.pcap


Ekstensi file .pcap merupakan singkatan packet capture data. Kalian juga dapat mengeluarkan perintah yang disebutkan di atas dalam mode verbose menggunakan -v flag.

tcpdump --interface any -c 10 -w data.pcap -v


Untuk membaca file .pcap menggunakan tcpdump, gunakan tanda -r diikuti dengan path file. Flag -r singkatan dari Read.

tcpdump -r data.pcap


Kalian juga dapat memfilter paket jaringan dari data paket yang disimpan dalam file.

tcpdump -r data.pcap port 80


Kesimpulan


Jadi itulah cara menggunakan tcpdump di Linux. Perintah tcpdump adalah salah satu tool yang bagus untuk mengatur server Linux. Kalian dapat dengan mudah memperbaiki masalah terkait jaringan dengan menangkap paket yang dikirimkan di jaringan kalian secara real-time. Namun sebelumnya, perangkat kalian harus terhubung ke internet.

  ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


Hopefully, this article about How To Use Tcpdump On Linux, gives you a little insight. Also, read an article about How To Use Tor Browser On Android that you may need to know. Thank you.

Previous Post Next Post