Cara Menangkap dan Menganalisis Paket dengan Contoh dengan Tcpdump

Cara Menangkap Dan Menganalisis Paket Dengan Contoh Dengan Tcpdump



Tcpdump ialah alat analisis rangkaian yang berkuasa yang digunakan untuk analisis trafik rangkaian dalam sistem Linux dan macOS. Pentadbir rangkaian menggunakan tcpdump untuk menghidu rangkaian, menangkap dan menganalisis paket TCP/IP. Ia menggunakan perpustakaan 'libpcap' yang membantu dalam menangkap trafik rangkaian dengan cekap. Selain itu, tcpdump membantu dalam penyelesaian masalah rangkaian dan memantau aktiviti rangkaian secara berkala. Alat ini menyimpan data yang ditangkap dalam fail 'pcap'. Fail ini selanjutnya dianalisis menggunakan alat penganalisis paket TCP/IP seperti Wireshark atau melalui alat baris arahan yang lain.

Dalam panduan ini, kami akan menunjukkan cara memasang tcpdump pada sistem Linux dan cara menangkap dan menganalisis paket TCP/IP menggunakan tcpdump.

Cara Memasang Tcpdump

Tcpdump diprapasang pada banyak pengedaran Linux. Tetapi jika ia belum dipasang pada sistem anda, anda boleh memasang tcpdump pada sistem Linux anda. Untuk memasang tcpdump pada sistem Ubuntu 22.04, gunakan arahan berikut:







$ sudo apt pasang tcpdump

Untuk memasang tcpdump pada Fedora/CentOS, gunakan arahan berikut:



$ sudo dnf pasang tcpdump

Cara Menangkap Paket Menggunakan Perintah Tcpdump

Untuk menangkap paket dengan tcpdump, lancarkan terminal dengan keistimewaan sudo menggunakan “Ctrl+Alt+t”. Alat ini termasuk pilihan dan penapis yang berbeza untuk menangkap paket TCP/IP. Jika anda ingin menangkap semua paket mengalir antara muka rangkaian semasa atau lalai, gunakan arahan 'tcpdump' tanpa sebarang pilihan.



$ sudo tcpdump

Perintah yang diberikan menangkap paket antara muka rangkaian lalai sistem anda.





Pada akhir pelaksanaan arahan ini, semua kiraan paket yang ditangkap dan ditapis dipaparkan pada terminal.



Mari kita fahami output.

Tcpdump membolehkan analisis pengepala paket TCP/IP. Ia menunjukkan satu baris untuk setiap paket, dan arahan itu terus berjalan sehingga anda menekan 'Ctrl+C' untuk menghentikannya.

Setiap baris yang disediakan oleh tcpdump mengandungi butiran berikut:

  • Cap masa Unix (cth., 02:28:57.839523)
  • Protokol (IP)
  • Nama hos sumber atau nombor IP dan port
  • Nama hos destinasi atau nombor IP dan port
  • Bendera TCP (cth., Bendera [F.]) menunjukkan keadaan sambungan dengan nilai seperti S (SYN), F (FIN),. (ACK), P (PUSH), R (RST)
  • Nombor jujukan data dalam paket (cth., seq 5829:6820)
  • Nombor pengakuan (cth., ack 1016)
  • Saiz tetingkap (cth., win 65535) mewakili bait yang tersedia dalam penimbal penerima diikuti dengan pilihan TCP
  • Panjang muatan data (mis., panjang 991)

Untuk menyenaraikan semua senarai antara muka rangkaian sistem anda, gunakan perintah 'tcpdump' dengan pilihan '-D'.

$ sudo tcpdump -D

atau

$ tcpdump --list-interfaces

Perintah ini menyenaraikan semua antara muka rangkaian yang disambungkan atau berjalan pada sistem Linux anda.

Tangkap Paket Antara Muka Rangkaian Ditentukan

Jika anda ingin menangkap paket TCP/IP yang melalui antara muka tertentu, gunakan bendera '-i' dengan arahan 'tcpdump' dan nyatakan nama antara muka rangkaian.

$ sudo tcpdump -i lo

Perintah yang diberikan menangkap trafik pada antara muka 'lo'. Jika anda ingin memaparkan verbose atau maklumat terperinci tentang paket, gunakan bendera '-v'. Untuk mencetak butiran yang lebih komprehensif, gunakan bendera '-vv' dengan arahan 'tcpdump'. Penggunaan dan analisis yang kerap menyumbang kepada mengekalkan persekitaran rangkaian yang teguh dan selamat.

Begitu juga, anda boleh menangkap lalu lintas di mana-mana antara muka menggunakan arahan berikut:

$ sudo tcpdump -i any

Tangkap Paket Menggunakan Port Tertentu

Anda boleh menangkap dan menapis paket dengan menyatakan nama antara muka dan nombor port. Sebagai contoh, untuk menangkap paket rangkaian yang melalui antara muka 'enp0s3' menggunakan port 22, gunakan arahan berikut:

$ tcpdump -i enp0s3 port 22

Perintah sebelumnya menangkap semua paket yang mengalir dari antara muka 'enp0s3'.

Tangkap Paket Terhad dengan Tcpdump

Anda boleh menggunakan bendera '-c' dengan arahan 'tcpdump' untuk menangkap bilangan paket tertentu. Sebagai contoh, untuk menangkap empat paket pada antara muka 'enp0s3', gunakan arahan berikut:

$ tcpdump -i enp0s3 -c 4

Gantikan nama antara muka menggunakan sistem anda.

Arahan Tcpdump Berguna untuk Menangkap Trafik Rangkaian

Dalam perkara berikut, kami menyenaraikan beberapa arahan 'tcpdump' berguna yang akan membantu anda dalam menangkap dan menapis trafik rangkaian atau paket dengan cekap:

Menggunakan arahan 'tcpdump', anda boleh menangkap paket antara muka dengan IP destinasi atau IP sumber yang ditentukan.

$ tcpdump -i {interface-name} dst {destination-ip}

Anda boleh menangkap paket dengan saiz syot kilat 65535 bait yang berbeza daripada saiz lalai 262144 bait. Dalam versi lama tcpdump, saiz tangkapan dihadkan kepada 68 atau 96 bait.

$ tcpdump -i enp0s3 -s 65535

Cara Menyimpan Paket yang Ditangkap ke dalam Fail

Jika anda ingin menyimpan data yang ditangkap ke dalam fail untuk analisis lanjut, anda boleh melakukannya. Ia menangkap trafik pada antara muka yang ditentukan dan kemudian menyimpannya ke dalam fail '.pcap'. Gunakan arahan berikut untuk menyimpan data yang ditangkap ke dalam fail:

$ tcpdump -i -s 65535 -w .pcap

Sebagai contoh, kami mempunyai antara muka 'enps03'. Simpan data yang ditangkap ini ke dalam fail berikut:

$ sudo tcpdump -i enps03 -w dump.pcap

Pada masa hadapan, anda boleh membaca fail yang ditangkap ini menggunakan Wireshark atau alat analisis rangkaian lain. Jadi, jika anda ingin menggunakan Wireshark untuk menganalisis paket, gunakan hujah '-w' dan simpan ke dalam fail '.pcap'.

Kesimpulan

Dalam tutorial ini, kami menunjukkan cara untuk menangkap dan menganalisis paket menggunakan tcpdump dengan bantuan contoh yang berbeza. Kami juga mempelajari cara menyimpan trafik yang ditangkap ke dalam fail '.pcap' yang boleh anda lihat dan analisis menggunakan Wireshark dan alat analisis rangkaian yang lain.