Utilitas tcpdump memungkinkan Anda untuk menangkap paket yang mengalir dalam jaringan Anda untuk membantu dalam pemecahan masalah jaringan. Berikut ini adalah beberapa contoh penggunaan tcpdump dengan opsi yang berbeda. Lalu lintas ditangkap berdasarkan filter tertentu. Tersedia berbagai pilihan, termasuk:
Opsi | Deskripsi |
---|---|
-D | Cetak daftar antarmuka jaringan. |
-i | Tentukan antarmuka yang akan diambil. |
-c | Tentukan jumlah paket yang akan diterima. |
-v, -vv, -vvv | Meningkatkan tingkat detail (verbositas). |
-w | Tulis data yang diambil ke file. |
-r | Membaca data yang diambil dari file. |
Menginstal utilitas tcpdump
Pada sebagian besar sistem unix/linux Anda tidak akan menemukan paket tcpdump sudah terinstal. Untuk menginstal versi terbaru, gunakan manajer paket yang sesuai di sistem Anda. Misalnya, Dalam kasus server CentOS/RHEL:
# yum install tcpdump
Contoh penggunaan tcpdump untuk pemecahan masalah jaringan
1. Tampilkan daftar antarmuka jaringan
Untuk mencetak daftar antarmuka jaringan yang tersedia di mana tcpdump dapat menangkap paket:
# tcpdump -D 1.eth0 2.nflog (Linux netfilter log (NFLOG) interface) 3.nfqueue (Linux netfilter queue (NFQUEUE) interface) 4.any (Pseudo-device that captures on all interfaces) 5.lo [Loopback]
2. Menangkap pada antarmuka tertentu
Seperti yang terlihat dari perintah 'tcpdump -D', untuk setiap antarmuka jaringan, nomor dan nama antarmuka dicetak. Nama antarmuka atau nomor dapat diberikan ke -i flag untuk menentukan antarmuka yang akan diambil. Misalnya, untuk menangkap paket pada antarmuka eth0:
# tcpdump -i 1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 01:26:51.118038 IP ec2-54-159-106-120.compute-1.amazonaws.com.48021 > geeklab.31297: Flags [S], seq 3960153353, win 26883, options [mss 1460,sac kOK,TS val 2229362922 ecr 0,nop,wscale 7], length 0 01:26:51.118072 IP geeklab.31297 > ec2-54-159-106-120.compute-1.amazonaws.com.48021: Flags [S.], seq 547340507, ack 3960153354, win 26847, optio ns [mss 8961,sackOK,TS val 5714985 ecr 2229362922,nop,wscale 7], length 0
Dalam contoh ini, output terus menerus sampai diakhiri dengan menekan Ctrl + C.
3. Tangkap sejumlah paket tertentu saja
Untuk keluar dari tcpdump setelah menerima sejumlah paket tertentu, gunakan -c (count) pilihan diikuti dengan jumlah paket yang akan diterima. Contoh berikut menangkap dua paket:
# tcpdump -i 1 -c 2 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 01:37:08.956549 IP 182.100.67.76.38819 > geeklab.ssh: Flags [P.], seq 542149092:542149176, ack 774431931, win 271, options [nop,nop,TS val 26493 51 ecr 6332468], length 84 01:37:08.956575 IP geeklab.ssh > 182.100.67.76.38819: Flags [.], ack 84, win 230, options [nop,nop,TS val 6332824 ecr 2649351], length 0 2 packets captured 6 packets received by filter 0 packets dropped by kernel
Seperti yang ditunjukkan dalam contoh ini, ketika tcpdump selesai menangkap paket, tcpdump melaporkan sebagai berikut:
- paket ditangkap :Ini adalah jumlah paket yang diterima dan diproses oleh tcpdump.
- paket diterima dengan filter :Filter dapat ditentukan pada baris perintah dan hanya paket yang cocok dengan filter yang ditentukan yang diproses oleh tcpdump dan dihitung.
- paket dijatuhkan oleh kernel :Ini adalah jumlah paket yang dijatuhkan karena kurangnya ruang buffer. Gunakan opsi -B untuk mengatur ukuran buffer.
4. Tingkatkan detail (verbositas) dari output
Untuk meningkatkan detail (verbositas) dari output, gunakan -v opsi, atau -vv untuk keluaran yang lebih verbose, atau -vvv untuk tingkat keluaran yang paling verbose:
# tcpdump –i 1 –v # tcpdump –i 1 -vv # tcpdump –i 1 –vvv
5. Tangkap data ke file
Menggunakan utilitas tcpdump dengan -w opsi memungkinkan Anda untuk menulis data yang diambil ke file. Ini memungkinkan data yang diambil untuk dibaca oleh alat analisis jaringan lainnya, seperti Wireshark. Contoh berikut menangkap data ke file bernama capture.out:
# tcpdump –i 1 –v –c2 –w capture.out
6. membaca data yang diambil
Anda juga dapat membaca data yang diambil dari file dengan menggunakan –r pilihan:
# tcpdump –r capture_file
Beberapa contoh lagi dari perintah tcpdump
Banyak opsi dan argumen lain dapat digunakan dengan tcpdump. Berikut ini adalah beberapa contoh spesifik dari kekuatan utilitas tcpdump.
1. Tampilkan lalu lintas antara 2 host
Untuk menampilkan semua lalu lintas antara dua host (diwakili oleh variabel host1 dan host2):
# tcpdump host host1 and host2
2. Tampilkan lalu lintas dari sumber atau host tujuan saja
Untuk menampilkan lalu lintas hanya dari sumber (src) atau host tujuan (dst):
# tcpdump src host # tcpdump dst host
3. Tampilkan lalu lintas untuk protokol tertentu
Berikan protokol sebagai argumen untuk menampilkan lalu lintas hanya untuk protokol tertentu, misalnya tcp, udp, icmp, arp:
# tcpdump protocol
Misalnya untuk menampilkan lalu lintas hanya untuk lalu lintas tcp :
# tcpdump tcp
4. Pemfilteran berdasarkan port sumber atau tujuan
Untuk memfilter berdasarkan port sumber atau tujuan:
# tcpdump src port ftp # tcpdump dst port http
Utilitas tcpdump juga menerima operator Boolean (AND, NOT, OR) dan pengelompokan operator, memungkinkan Anda membuat filter kompleks untuk menangkap data jaringan.