Dalam panduan ini, saya akan menunjukkan cara menganalisis Paket jaringan di Linux. Saya akan menggunakan Alat Tcpdump dan Wireshark. Tutorial ini menggunakan Ubuntu sebagai OS, tetapi juga berlaku untuk distribusi Linux lainnya.
Mengapa Anda membutuhkan Tcpdump?
Pertanyaan jelas yang mungkin muncul di benak Anda adalah mengapa harus peduli dengan Tcpdump jika Anda dapat melakukan hampir semua hal dengan Wireshark. Nah inilah jawabannya:Terkadang lebih nyaman menggunakan Tcpdump untuk menangkap paket dibandingkan dengan Wireshark. Misalnya, jika mesin target yang Anda ambil paketnya adalah mesin jarak jauh tanpa Wireshark terinstal di dalamnya atau hanya mesin tanpa kepala jarak jauh, dalam kedua kasus tersebut, Tcpdump sangat berguna. Untuk melihat berbagai opsi yang dapat digunakan dengan Tcpdump, cari halaman manual.
Apa itu Tcpdump?
Tcpdump adalah alternatif baris perintah untuk Wireshark. Ini melayani tujuan yang sama seperti Wireshark, yang menangkap dan menganalisis lalu lintas. Tcpdump adalah aplikasi terpisah dan tidak boleh dianggap sebagai antarmuka baris perintah Wireshark. Karena didasarkan pada antarmuka baris perintah, penanganannya tidak sesederhana Wireshark. Pengguna baru mungkin merasa takut pada awalnya ketika mereka mulai menggunakannya dan dapat menemukan banyak perintah dan sintaks yang sulit diingat.
Garis Besar Tutorial ini
Sekarang mari kita beralih ke tujuan utama panduan ini. Dalam panduan ini, kita akan melihat bagaimana kita dapat berinteraksi Tcpdump dengan Wireshark. Di sini kami menunjukkan pekerjaan yang akan kami lakukan dalam panduan ini:
- Menghubungkan dengan mesin jarak jauh (Host 2) dengan SSH.
- Menangkap lalu lintas dengan Tcpdump dan menyimpan Tangkap.
- Mengirim file Capture ke mesin di lokasi (Host 1) tempat Wireshark diinstal.
- Menggunakan Wireshark untuk menganalisis sesi Tcpdump yang diambil.
Pemeriksaan Pra-Penerbangan
Untuk tutorial ini, kami menggunakan dua mesin Ubuntu 20.04 . Anda perlu mengonfigurasinya sendiri. Konfigurasi IP kami adalah sebagai berikut:
Host 1(Mesin di Lokasi):192.168.186.150
Host 2(Mesin Jarak Jauh):192.168.186.201
Langkah-langkah yang disebutkan dalam panduan ini seharusnya berfungsi pada sistem Linux apa pun dengan persyaratan berikut terpenuhi:
- Host di tempat (Host 1) dengan Wireshark terpasang dan SSH dikonfigurasi.
- Akses SSH dari host di tempat (Host 1) ke host jarak jauh (Host 2).
- Tcpdump dan SSH dikonfigurasi pada host jarak jauh (Host 2).
- Akun pengguna ‘sudo’ di Host 2 untuk menjalankan Tcpdump dan juga di Host 1 (tergantung bagaimana Wireshark dikonfigurasi).
Mari Mulai…
Untuk melangkah lebih jauh, sambungkan dari mesin di tempat Anda (Host 1) ke mesin jarak jauh (Host 2) dengan protokol akses SSH. Kami telah menyiapkan koneksi SSH antara kedua mesin. Jadi kita akan menggunakan perintah di bawah ini dari terminal Host 1 untuk terhubung ke Host 2:
$ ssh ‘nama_pengguna’@’IP_of_Host2’
Di sini ganti 'user_name' dengan nama pengguna Host 2 yang kita sambungkan dan 'IP_of_Host2' adalah alamat IP Host 2. Lihat gambar di bawah untuk referensi:
Sekarang periksa antarmuka yang tersedia pada mesin jarak jauh yang dapat ditangkap oleh Tcpdump. Untuk ini gunakan perintah:
$ tcpdump --list-interfaces
Contoh Keluaran:
1.enp0s3 [Up, Running]
2.lo [Up, Running, Loopback]
3.any (Pseudo-device yang menangkap semua antarmuka) [Up, Running]
4. eno1 [Up]
5.bluetooth-monitor (Bluetooth Linux Monitor) [none]
6.nflog (Linux netfilter log (NFLOG) interface) [none]
7.nfqueue (Linux netfilter antrian (NFQUEUE) antarmuka) [none]
8.bluetooth0 (Nomor adaptor Bluetooth 0) [none]
Seperti yang Anda lihat, antarmuka 'enpos3' aktif dan berjalan. Jadi mari kita atur sebagai antarmuka target dan jalankan perintah tcpdump di sini. Ketika Anda merasa telah menangkap cukup banyak paket, cukup tekan 'Ctrl+c' untuk menyelesaikan pengambilan paket. Perintahnya adalah:
$ sudo tcpdump -s 65535 -i enp0s3 -w my_remote_capture.pcap
Pada perintah di atas, kami telah menggunakan opsi berikut dengan Tcpdump:
- -s:Paket cut-off Tcpdump versi lama menjadi 68 atau 96 byte. Opsi '-s' digunakan untuk menangkap paket dengan panjang penuh.
- -i:Ini memilih antarmuka untuk mendengarkan.
- -w:Ini menyimpan paket mentah yang diambil ke file alih-alih menampilkannya di terminal.
Lalu lintas yang ditangkap disimpan dalam file bernama 'my_remote_capture.pcap'. Kami sekarang akan mentransfer file ini ke Host 1 untuk dianalisis dengan Wireshark. Untuk mentransfer file, kami menggunakan perintah 'scp'. Sekali lagi, kami telah mengonfigurasi 'scp' untuk bekerja di antara kedua mesin. Sintaks perintahnya seperti di bawah ini:
$ scp my_remote_capture.pcap 'nama pengguna'@'IP_of_remote_machine':
Di sini 'nama pengguna' adalah nama pengguna di Host 1 dan 'IP_of_remote_machine' juga merupakan IP dari Host 1.
Pada mesin onsite (Host 1) periksa apakah Anda telah menerima file. Dalam kasus kami, kami telah berhasil menerima file dan kami akan membukanya menggunakan Wireshark seperti yang ditunjukkan di bawah ini:
Berikut adalah screenshot dari file Capture dari Host 1:
Menganalisis File Tangkap
Mari kita terapkan filter tampilan pada file di atas. Karena kami terhubung ke Host 2 menggunakan SSH, seharusnya ada beberapa jejak protokol SSH. Pada bidang teks yang sesuai dengan filter tampilan, masukkan 'ssh':
Pada gambar di atas, kita hanya dapat melihat paket dengan protokol 'SSH'.
Menutup…
Selamat, kami akhirnya mendemonstrasikan bagaimana kami dapat melakukan Pengambilan jarak jauh pada mesin. Kami telah melihat bagaimana kami dapat menggabungkan Tcpdump dengan Wireshark.