tcpdump

Panduan untuk Utilitas Analisis Lalu Lintas Jaringan TCPDUMP

Panduan untuk Utilitas Analisis Lalu Lintas Jaringan TCPDUMP

Tcpdump adalah utilitas baris perintah sniffing paket jaringan. Ini paling sering digunakan untuk memecahkan masalah jaringan dan menguji masalah keamanan. Meskipun tidak ada antarmuka pengguna grafis, ini adalah utilitas baris perintah yang paling populer, kuat, dan serbaguna.

Ini asli Linux sehingga sebagian besar distribusi Linux menginstalnya sebagai bagian dari OS standar. Tcpdump adalah program antarmuka libpcap, yang merupakan perpustakaan untuk pengambilan datagram jaringan.

Artikel ini akan mengungkap tcpdump dengan menunjukkan cara menangkap, membaca, dan menganalisis lalu lintas jaringan yang ditangkap di utilitas ini. Kami kemudian akan menggunakan pemahaman kami untuk memeriksa paket data dengan filter flag TCP canggih.

Instalasi TCPdump

Instalasi default Tcpdump di distro Anda tergantung pada opsi yang dipilih selama proses instalasi. Dalam kasus instalasi khusus, mungkin paket tidak tersedia. Anda dapat memeriksa instalasi tcpdump dengan menggunakan dpkg perintah dengan “-s" pilihan.

ubuntu$ubuntu:~$ dpkg -s tcpdump

Atau gunakan perintah “sudo apt-get install tcpdump” untuk menginstal tcpdump di Linux Ubuntu.

Menangkap Paket di Tcpdump:

Untuk memulai proses pengambilan, pertama-tama kita perlu menemukan antarmuka kerja kita menggunakan "ifconfig” perintah. Atau kita dapat membuat daftar semua antarmuka yang tersedia menggunakan tcpdump perintah dengan “-D" pilihan.

ubuntu$ubuntu:~$ tcpdump -D

Untuk memulai proses capture, Anda dapat menggunakan sintaks;

tcpdump [-opsi] [ekspresi]

Misalnya, pada perintah di bawah ini, kami menggunakan "-saya” untuk menangkap lalu lintas di “enp0s3” antarmuka, dengan “-c” tandai untuk membatasi paket yang ditangkap dan tulis “-w” itu ke tes_capture.pcap mengajukan.

ubuntu$ubuntu:~$ Sudo tcpdump -i enp0s3 -c 20 -w /tmp/test_capture.pcap

Demikian pula, Anda dapat menggunakan berbagai kombinasi filter untuk mengisolasi lalu lintas sesuai kebutuhan Anda. Salah satu contohnya termasuk menangkap data jaringan yang keluar dan tiba di host menggunakan tuan rumah perintah untuk tertentu Pelabuhan. Selain itu, saya telah menggunakan "-tidak” tandai untuk mencegah tcpdump menangkap pencarian DNS. Bendera ini sangat membantu dalam menjenuhkan lalu lintas saat memecahkan masalah jaringan.

ubuntu$ubuntu:~$ sudo tcpdump -i enp0s3 -c 20 host 10.0.2.15 dan port dst 80 -w /tmp/test_capture1.pcap
tcpdump: mendengarkan di enp0s3, tipe tautan EN10MB (Ethernet), ukuran tangkapan 262144 byte
20 paket ditangkap
21 paket diterima oleh filter
0 paket dijatuhkan oleh kernel

Kami menggunakan “dan” perintah untuk hanya menangkap paket yang berisi host 10.0.2.15 dan port tujuan 80. Demikian pula, berbagai filter lain dapat diterapkan untuk memudahkan tugas pemecahan masalah.

Jika Anda tidak ingin menggunakan "-c” bendera untuk membatasi lalu lintas penangkapan, Anda dapat menggunakan sinyal interupsi, i.e., Ctrl+C, untuk menghentikan proses isolasi.

Membaca File TCPdump

Membaca file yang diambil tcpdump bisa sangat melelahkan. Secara default, tcp memberikan nama ke alamat IP dan port. Kami akan menggunakan "-r” tandai untuk membaca file kami yang sudah diambil tes_capture.pcap disimpan di /tmp map. Kami akan menyalurkan output ke awk perintah untuk hanya menampilkan alamat IP sumber dan port dan menyalurkannya ke perintah kepala untuk hanya menampilkan 5 entri pertama.

ubuntu$ubuntu:~$ sudo tcpdump -r /tmp/test_capture1.pcap | awk -F “ 'cetak$3' | kepala -5
membaca dari file /tmp/test_capture.pcap, tipe tautan EN10MB (Ethernet)
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298
IP ubuntu.53298

Namun, disarankan untuk menggunakan alamat IP dan port dalam jumlah untuk menyelesaikan masalah jaringan. Kami akan menonaktifkan resolusi nama IP dengan "-tidak” bendera dan nama port dengan “-nn“.

ubuntu$ubuntu:~$ sudo tcpdump -i enp0s3 -n
tcpdump: keluaran verbose ditekan, gunakan -v atau -vv untuk dekode protokol lengkap
mendengarkan di enp0s3, tipe tautan EN10MB (Ethernet), ukuran tangkapan 262144 byte
20:08:22.146354 IP 10.0.2.15.54080 > 172.67.39.148.443: Bendera [P.], seq 1276027591:1276027630, ack 544039114, menang 63900, panjang 39
20:08:22.146745 IP 10.0.2.15.43456 > 54.204.39.132.443: Bendera [P.], seq 3381018839:3381018885, ack 543136109, menang 65535, panjang 46
20:08:22.147506 IP 172.67.39.148.443 > 10.0.2.15.54080: Bendera [.], ack 39, menangkan 65535, panjang 0
20:08:22.147510 IP 54.204.39.132.443 > 10.0.2.15.43456: Bendera [.], ack 46, menangkan 65535, panjang 0
20:08:22.202346 IP 216.58.209.142.443 > 10.0.2.15.41050: Bendera [P.], seq 502925703:502925826, ack 1203118935, menang 65535, panjang 123
20:08:22.202868 IP 10.0.2.15.41050 > 216.58.209.142.443: Bendera [P.], seq 1:40, ack 123, menang 65535, panjang 39

Memahami Output yang Diambil

Tcpdump menangkap banyak protokol, termasuk UDP, TCP, ICMP, dll. Tidak mudah untuk menutupi semuanya di sini. Namun, penting untuk memahami bagaimana informasi ditampilkan dan parameter apa yang disertakan.

Tcpdump menampilkan setiap paket dalam satu baris, dengan cap waktu dan informasi sehubungan dengan protokol. Secara umum, format protokol TCP adalah sebagai berikut:

. > .: , , , , ,

Mari kita jelaskan salah satu bidang paket yang diambil berdasarkan bidang:

20:08:22.146354 IP 10.0.2.15.54080 > 172.67.39.148.443: Bendera [P.], seq 1276027591:1276027630, ack 544039114, menang 63900, panjang 39
  • 20:08:22.146354: Stempel waktu dari paket yang diambil
  • IP: Protokol lapisan jaringan.
  • 10.0.2.15.54080: Bidang ini berisi alamat IP sumber dan port sumber.
  • 172.67.39.148.443: Bidang ini mewakili alamat IP tujuan dan nomor port.
  • Bendera[P.]/: Bendera mewakili status koneksi. Dalam hal ini, [P.] menunjukkan paket pengakuan PUSH. Bidang bendera juga mencakup beberapa nilai lain seperti:
    1. S: SYN
    2. P: PUSH
    3. [.]: AK
    4. F: FIN
    5. [S.]: SYN_ACK
    6. R: RST
  • seq 1276027591:1276027630: Nomor urut pertama: format terakhir menunjukkan jumlah data dalam paket. Tidak termasuk paket pertama di mana angka-angkanya mutlak, paket-paket berikutnya memiliki nomor relatif. Dalam hal ini, angka di sini berarti bahwa paket tersebut berisi byte data dari 1276027591 hingga 1276027630.
  • ack 544039114: Nomor pengakuan menggambarkan nomor urut data yang diharapkan berikutnya.
  • win 63900: Ukuran jendela menggambarkan jumlah byte yang tersedia di buffer yang diterima.
  • panjang 39: Panjang data muatan, dalam byte.

Filter Tingkat Lanjut

Sekarang kita dapat menggunakan beberapa opsi filter heading lanjutan untuk menampilkan dan menganalisis hanya paket data. Dalam paket TCP apa pun, flag TCP dimulai dari byte ke-14 sehingga PSH dan ACK diwakili oleh bit ke-4 dan ke-5.

Kita dapat menggunakan informasi ini dengan menyalakan bit ini 00011000 atau 24 untuk menampilkan paket data hanya dengan flag PSH dan ACK. Kami meneruskan nomor ini ke tcpdump dengan filter “tcp[13]=24“, perhatikan bahwa indeks array di TCP dimulai dari nol.

Kami akan menyaring paket ini dari kami teks_capture.pcap file dan gunakan -SEBUAH opsi untuk menampilkan semua detail paket untuk Anda.

Demikian pula, Anda dapat memfilter beberapa paket flag lainnya menggunakan “tcp[13]=8” dan “tcp[13]=2” hanya untuk flag PSH dan SYN, dll.

ubuntu$ubuntu:~$ Sudo tcpdump -A 'tcp[13]=24' -r /tmp/test_capture.pcap
membaca dari file /tmp/test_capture.pcap, tipe tautan EN10MB (Ethernet)
19:26:17.827902 IP ubuntu.53298 > 32.121.122.34.SM.konten pengguna google.com.http: Bendera [P.], seq 4286571276:4286571363, ack 252096002, menang 64240, panjang 87: HTTP: GET / HTTP/1.1
E… :?@[email protected].
… "zy .2.P… P… DAPATKAN / HTTP/1.1
Tuan rumah: pemeriksaan konektivitas.ubuntu.com
Terima: */*
Koneksi: tutup

Kesimpulan

Dalam artikel ini, kami telah memperkenalkan Anda pada beberapa topik terpenting tcpdump. Tcpdump, dikombinasikan dengan kekuatan CLI, dapat sangat membantu dalam pemecahan masalah jaringan, otomatisasi, dan manajemen keamanan. Setelah dipelajari dan digabungkan, filter dan opsi baris perintahnya dapat berkontribusi banyak pada tugas pemecahan masalah dan otomatisasi Anda sehari-hari serta pemahaman keseluruhan tentang jaringan.

Cara Menampilkan Overlay OSD di Aplikasi dan Game Linux Layar Penuh
Memainkan game layar penuh atau menggunakan aplikasi dalam mode layar penuh bebas gangguan dapat memutus Anda dari informasi sistem yang relevan yang ...
5 Kartu Tangkap Game Teratas
Kita semua telah melihat dan menyukai gameplay streaming di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain top yang telah m...
Cara Mengembangkan Game di Linux
Satu dekade yang lalu, tidak banyak pengguna Linux yang memprediksi bahwa sistem operasi favorit mereka suatu hari nanti akan menjadi platform game po...