Linux dilengkapi dengan sejumlah besar utilitas jaringan untuk dipilih. tcpdump adalah salah satu alat jaringan yang kuat yang dapat menangkap dan menganalisis lalu lintas jaringan jika Anda perlu memecahkan masalah kesalahan jaringan di Linux.
Mari kita langsung menggunakan perintah tcpdump dan menjelajahi cara menggunakannya untuk menangkap lalu lintas jaringan.
Menginstal tcpdump di Linux
tcpdump biasanya sudah diinstal sebelumnya dengan semua distribusi Linux utama dan alternatif berbasis keamanan. Jadi, Anda harus dapat langsung menggunakannya dengan mengetik tcpdump dengan sudo awalan.
Jika Anda tidak dapat menjalankan perintah tcpdump dan terjebak di "tcpdump: perintah tidak ditemukan" error, mari kita pelajari cara menginstal tcpdump di mesin Linux Anda.
Untuk menginstal tcpdump, jalankan terminal dan jalankan perintah yang sesuai dengan distro Linux yang sedang Anda gunakan:
Pada turunan Debian/Ubuntu, jalankan:
sudo tepat-Dapatkan instal tcpdump
Pada Sistem berbasis lengkung, Lari:
sudo pacman -S tcpdump
Untuk menginstal utilitas tcpdump di Fedora, CentOS, dan RHEL, jalankan perintah berikut:
sudo dnf Install tcpdump
Perhatikan bahwa jika Anda diminta untuk menginstal libcap, ketik Ya atau kamu karena ini adalah ketergantungan inti, yang tanpanya tcpdump akan menolak untuk memulai. Ini harus menginstal utilitas tcpdump dan menyelesaikan kesalahan "perintah tidak ditemukan".
Sekarang tcpdump telah terinstal di sistem Anda, mari kita jelajahi berbagai opsi dan fungsi yang ditawarkannya.
Menangkap Lalu Lintas Jaringan Dengan tcpdump
tcpdump menawarkan banyak flag untuk memodifikasi eksekusinya tetapi juga dapat dijalankan sebagai perintah mandiri. Namun, menjalankan tcpdump tanpa flag atau argumen apa pun akan mengabaikan potensi penuhnya. Itu selalu lebih baik untuk menggunakan beberapa flag untuk men-tweak eksekusi dan output yang diperlukan.
Ketik perintah ini untuk memantau transmisi jaringan dengan tcpdump:
sudo tcpdump
Sekarang tcpdump akan mulai secara otomatis menangkap paket jaringan sampai sinyal interupsi dikirim dengan Ctrl + Z untuk menghentikan proses secara manual. Untuk membatasi jumlah total paket yang diambil, gunakan: -c tandai dan ketik batas paket yang diinginkan di sebelahnya:
sudo tcpdump -c 5
Jika Anda tidak dapat memahami hasilnya sekarang, Anda perlu kenali format keluaran tcpdump pertama.
Periksa Antarmuka Jaringan yang Tersedia Dengan tcpdump
Secara default, tcpdump menangkap lalu lintas dari salah satu antarmuka jaringan yang tersedia. Jika Anda memiliki beberapa antarmuka jaringan aktif yang digunakan, Anda mungkin ingin menentukan antarmuka jaringan dari mana tcpdump harus menangkap paket. Untuk memulai tcpdump pada antarmuka tertentu, Anda harus terlebih dahulu mempelajari tentang nama antarmuka.
Berikut cara membuat daftar semua antarmuka jaringan yang tersedia dengan tcpdump:
sudo tcpdump -D
Atau, Anda dapat menambahkan --daftar-antarmuka tandai ke perintah:
sudo tcpdump --daftar-antarmuka
Output yang dikembalikan berisi daftar semua antarmuka jaringan aktif yang dapat didengarkan oleh tcpdump. Untuk mengkonfigurasi tcpdump untuk menangkap transmisi dari antarmuka jaringan tertentu, ketik perintah ini:
sudo tcpdump -i interface_id
Atau, Anda dapat menambahkan --antarmuka tandai ke perintah:
sudo tcpdump --antarmukaantarmuka_id
Sekarang kita telah menangkap beberapa paket, mari kita pelajari dengan cermat dan pelajari bagaimana Anda dapat mengubah output agar lebih mudah dibaca.
Menjelajahi Filter tcpdump
tcpdump mampu menangkap sejumlah besar lalu lintas dalam sekali jalan. Informasi yang berlebihan seperti itu dapat membuat Anda keluar jalur saat menyelidiki atau memecahkan masalah dengan host atau protokol jaringan tertentu.
Di sinilah filter tcpdump berperan. Anda dapat menambahkan perintah tcpdump dengan flag tertentu untuk menyaring lalu lintas jaringan dan menangkap paket tertentu. Anda kemudian dapat menyimpan paket-paket itu dan kemudian menganalisisnya untuk sampai ke akar masalah terkait jaringan. Mari pelajari cara menggunakan filter di tcpdump.
Filter Paket Berdasarkan Protokol Jaringan yang Digunakan
Untuk memfilter paket yang dikirimkan melalui protokol tertentu, ketik nama protokol dengan perintah tcpdump, dan itu hanya akan menangkap paket yang berjalan melalui protokol jaringan yang ditentukan.
Misalnya, untuk menangkap paket berbasis ICMP, Anda cukup melampirkan icmp di akhir perintah tcpdump. Prosesnya sama jika Anda hanya ingin menangkap paket UDP atau TCP.
sudo tcpdump -c 5 icmp
Perintah ini hanya akan mengembalikan output jika terjadi pertukaran data melalui protokol ICMP.
Filter Paket Berdasarkan Host
Anda dapat mengonfigurasi tcpdump untuk menangkap paket yang terkait dengan satu host dengan tuan rumah parameter. Ini sangat berguna ketika semua sistem jaringan Anda berfungsi kecuali satu. Filter ini memungkinkan Anda melakukan penyelidikan yang ditargetkan dan mempercepat alur kerja pemecahan masalah secara keseluruhan karena Anda tidak terganggu oleh data yang tidak perlu.
Untuk menangkap paket yang terkait dengan host tertentu, tentukan alamat jaringan host dengan: tuan rumah parameter:
sudotcpdump-c 5 tuan rumah 192.168.2.1
Mirip dengan filter protokol jaringan, perintah ini hanya akan mengembalikan output jika ada transmisi yang sedang berlangsung terkait dengan host yang ditentukan.
Filter Paket Berdasarkan Port Aktif
tcpdump dilengkapi dengan parameter yang memungkinkan Anda memfilter lalu lintas jaringan dan hanya menangkap paket yang dikirimkan ke atau dari port tertentu.
Untuk menangkap paket yang datang dari port tertentu, tambahkan: Pelabuhan tandai ke perintah tcpdump dan tentukan nomor port di sebelahnya. Misalnya, untuk menangkap lalu lintas HTTP masuk atau keluar, tentukan port 80:
sudo tcpdump -c 5 port 80
tcpdump akan mendengarkan pada port 80, menunggu transmisi HTTP. Setelah mendeteksi paket HTTP di jaringan, ia akan menangkapnya.
Gabungkan Filter Bersama untuk Penyortiran Tingkat Lanjut
Bagian sebelumnya membahas bagaimana Anda dapat memfilter lalu lintas berdasarkan port, protokol, atau host, tetapi bagaimana jika Anda ingin menangkap lalu lintas dari satu port host tertentu menggunakan jaringan tertentu protokol? Nah, Anda beruntung karena ini mungkin, karena kemampuan untuk menggunakan operator logika dengan perintah tcpdump.
Untuk menangkap paket dari host individu menggunakan port 443, gunakan perintah ini:
sudotcpdump-c 5 tuan rumah 192.168.2.1danPelabuhan 443
Periksa Isi Paket yang Diambil
Secara default, tcpdump menampilkan header paket di output. Meskipun lebih dari cukup dalam banyak kasus, terkadang, Anda mungkin ingin atau perlu melihat lebih dalam ke data yang diambil. Anda dapat melewatkan parameter tertentu dengan perintah tcpdump untuk memeriksa konten paket yang diambil.
Berikut cara melihat isi paket:
sudo tcpdump -c 5 -x
Perintah ini mengembalikan versi hex dari konten dalam paket yang diambil. Jika Anda ingin melihat bentuk data ASCII, Anda dapat melewati -SEBUAH parameter dengan:
sudo tcpdump -A
Simpan Output tcpdump ke File
Seperti hampir semua alat baris perintah Linux lainnya, Anda dapat menyimpan output yang dihasilkan oleh tcpdump ke dalam file untuk direferensikan nanti.
Hal ini dapat dilakukan dengan menambahkan -w bendera ke perintah. Setelah dieksekusi, tcpdump akan menyimpan data yang diambil ke dalam a .pcap file yang nantinya dapat dianalisis dengan tcpdump atau alat pemantauan jaringan lainnya seperti Wireshark.
Ketik perintah ini untuk menyimpan output perintah tcpdump Anda ke dalam file:
sudotcpdump-wmenangkap.pcap
Untuk membaca .pcap file, Anda dapat menggunakan tcpdump dengan -r parameter:
sudotcpdump-rmenangkap.pcap
Linux dikirimkan dengan sejumlah besar alat jaringan yang dapat menyelesaikan setiap masalah jaringan selama itu di sisi perangkat lunak. Mengetahui cara menggunakan beberapa alat jaringan terbaik di Linux pasti akan berguna, apakah Anda seorang sysadmin yang mengelola jaringan untuk mencari nafkah atau hanya pengguna Linux sehari-hari.
Karena daftar sebenarnya dari perintah jaringan yang tersedia mungkin terlalu banyak untuk dipahami, berikut adalah daftar beberapa alat jaringan Linux yang paling penting yang harus Anda ketahui.