Bagi Anda yang berkecimpung di dunia administrasi jaringan (network administration) atau keamanan siber, tcpdump adalah tools yang wajib dikuasai. Ini adalah packet sniffer baris perintah (CLI) yang sangat kuat yang ada di hampir semua sistem operasi berbasis UNIX/Linux. Artikel ini akan memberikan tutorial lengkap cara menggunakan tcpdump mulai dari dasar hingga beberapa penggunaan tingkat lanjut. Jika Anda perlu melihat apa yang sebenarnya terjadi di jaringan Anda, tcpdump adalah jawabannya.
Apa itu tcpdump?
Secara sederhana, tcpdump adalah utilitas yang memungkinkan Anda untuk menangkap dan menganalisis lalu lintas jaringan (network traffic) yang melewati interfacejaringan di server atau komputer Anda.
Berbeda dengan Wireshark yang berbasis GUI, tcpdumpbekerja sepenuhnya di terminal. Ini membuatnya sangat ringan dan ideal untuk digunakan di serverremote melalui SSH, di mana Anda tidak memiliki akses desktop. Memahami cara menggunakan tcpdump sangat penting untuk troubleshooting masalah konektivitas (misalnya, mencari tahu mengapa server A tidak bisa bicara dengan server B), mendeteksi aktivitas mencurigakan, atau sekadar memahami bagaimana protokol jaringan bekerja.
Instalasi tcpdump
Pada kebanyakan distribusi Linux modern (seperti Ubuntu, CentOS, atau Debian), tcpdump biasanya sudah terinstal. Jika belum, Anda bisa menginstalnya dengan mudah menggunakan package manager Anda.
Di Ubuntu/Debian:
sudo apt update
sudo apt install tcpdumpDi CentOS/RHEL/Fedora:
sudo yum install tcpdumpUntuk menjalankannya, Anda memerlukan hak akses root (menggunakan sudo) karena tcpdump perlu mendengarkan interface jaringan dalam mode promiscuous(mode yang menangkap semua paket, bukan hanya yang ditujukan untuk server Anda).
Dasar-Dasar Cara Menggunakan tcpdump
Mari kita mulai dengan perintah-perintah paling dasar.
Menangkap Paket (Perintah Dasar)
Perintah paling sederhana adalah dengan menjalankannya tanpa opsi apa pun.
sudo tcpdumpPerintah ini akan secara otomatis memilih interface jaringan pertama yang ditemukannya (biasanya eth0 atau ens3) dan mulai menampilkan semua paket yang lewat. Anda akan melihat output yang mengalir deras di terminal. Tekan Ctrl+C untuk menghentikannya.
Memilih Interface Spesifik
Jika server Anda memiliki banyakinterface (misalnya eth0, eth1, lo), Anda harus menentukan interface mana yang ingin Anda pantau menggunakan flag -i.
# Memantau interface eth0
sudo tcpdump -i eth0
# Memantau interface loopback (localhost)
sudo tcpdump -i loMembatasi Jumlah Paket
Untuk mencegah terminal Anda dibanjiri data, gunakan flag -c (count) untuk membatasi jumlah paket yang akan ditangkap.
# Tangkap 10 paket saja lalu berhenti
sudo tcpdump -i eth0 -c 10Menampilkan Output Lebih Detail
Secara default, tcpdump mencoba menerjemahkan alamat IP ke hostname (via DNS lookup), yang bisa memperlambat output. Gunakan flag -n untuk menonaktifkan ini dan menampilkan IP mentah. Gunakan -nn untuk juga menonaktifkan penerjemahan port.
# Tampilkan IP, jangan resolve hostname
sudo tcpdump -i eth0 -c 5 -n
# Tampilkan IP dan port, jangan resolve apapun
sudo tcpdump -i eth0 -c 5 -nnFiltering Paket: Kekuatan Utama tcpdump
Keunggulan terbesar dari cara menggunakan tcpdump adalah kemampuannya untuk memfilter lalu lintas. Anda tidak perlu melihat semua paket, hanya yang Anda butuhkan.
Filter ini ditempatkan di akhir perintah.
Filter Berdasarkan Host
Gunakan host untuk melihat trafik yang berasal dari ATAU menuju ke IP atau hostname tertentu.
# Melihat trafik dari ATAU ke IP 192.168.1.10
sudo tcpdump -i eth0 host 192.168.1.10Anda bisa lebih spesifik menggunakan src (source) atau dst (destination):
# Hanya trafik DARI IP 192.168.1.10
sudo tcpdump -i eth0 src host 192.168.1.10
# Hanya trafik MENUJU IP 192.168.1.10
sudo tcpdump -i eth0 dst host 192.168.1.10Filter Berdasarkan Port
Sangat berguna untuk troubleshootinglayanan spesifik (misalnya Web Server atau SSH).
# Melihat semua trafik di port 80 (HTTP)
sudo tcpdump -i eth0 port 80
# Melihat trafik dari port 22 (SSH)
sudo tcpdump -i eth0 src port 22Filter Berdasarkan Protokol
Anda bisa memfilter berdasarkan protokol seperti tcp, udp, atau icmp (yang digunakan oleh ping).
# Hanya tampilkan paket ICMP (ping)
sudo tcpdump -i eth0 icmp
# Hanya tampilkan paket UDP (biasanya DNS, DHCP)
sudo tcpdump -i eth0 udpMenggabungkan Filter (Kombinasi)
Di sinilah kekuatan tcpdump benar-benar bersinar. Anda dapat menggunakan operator and, or, dan not untuk membuat filter yang sangat kompleks.
Penting: Selalu gunakan tanda kutip tunggal (' ') saat menggabungkan filter untuk menghindari shell Anda salah menginterpretasikannya.
# Tangkap trafik HTTP (port 80) DARI host 192.168.1.10
sudo tcpdump -i eth0 'src host 192.168.1.10 and port 80'
# Tangkap trafik SSH (port 22) ATAU HTTPS (port 443)
sudo tcpdump -i eth0 'port 22 or port 443'
# Tangkap semua trafik KECUALI SSH dan DNS
sudo tcpdump -i eth0 'not (port 22 or port 53)'Menyimpan dan Membaca Hasil Capture (.pcap)
Melihat output langsung di terminal terkadang sulit dianalisis. Cara yang lebih baik adalah menyimpan hasil tangkapan ke dalam file .pcap (packet capture).
Menyimpan ke File (-w)
Gunakan flag -w (write) untuk menyimpan output mentah ke file. Perintah ini tidak akan menampilkan apa pun di terminal, tetapi akan menyimpan paket di latar belakang.
# Simpan semua trafik dari eth0 ke file bernama "hasil_capture.pcap"
sudo tcpdump -i eth0 -w hasil_capture.pcapTekan Ctrl+C untuk berhenti menyimpan.
Membaca dari File (-r)
Gunakan flag -r (read) untuk membaca file .pcap yang telah Anda simpan. Keuntungannya adalah Anda dapat menerapkan filter yang berbeda pada data yang sama tanpa harus menangkap ulang.
# Membaca semua isi file
tcpdump -r hasil_capture.pcap -nn
# Membaca file dan memfilternya (hanya ICMP)
tcpdump -r hasil_capture.pcap 'icmp'
# Membaca file dan memfilternya (hanya port 80 dari IP tertentu)
tcpdump -r hasil_capture.pcap 'src host 1.2.3.4 and port 80' -nnTips Bonus: File .pcap yang dihasilkan oleh tcpdump ini juga kompatibel penuh dan bisa dibuka dengan Wireshark untuk analisis visual yang lebih mendalam di komputer desktop Anda.
Kesimpulan
tcpdump adalah tool yang sangat kuat dan fleksibel untuk siapa saja yang bekerja dengan jaringan. Meskipun awalnya terlihat rumit karena banyaknya opsi, memahami dasar-dasar cara menggunakan tcpdump dan logik filternya akan memberi Anda wawasan mendalam tentang apa yang terjadi di layer jaringan.
Dari troubleshooting sederhana “kenapa tidak konek?” hingga analisis keamanan yang kompleks, tcpdump adalah keterampilan yang tak ternilai harganya bagi seorang administrator sistem atau jaringan.
Untuk daftar lengkap semua opsi dan filter yang lebih canggih, Anda selalu bisa merujuk ke halaman man tcpdump resmi.




