Cara Menggunakan tcpdump dan 6 Contoh

Cara Menggunakan tcpdump dan 6 Contoh

Adakah anda cuba menangkap paket data untuk menganalisis lalu lintas di rangkaian anda? Mungkin anda adalah pentadbir pelayan yang mengalami masalah dan ingin memantau data yang dihantar di rangkaian. Apa pun keadaannya, utiliti tcpdump Linux adalah perkara yang anda perlukan.





Dalam artikel ini, kita akan membincangkan perintah tcpdump secara terperinci, bersama dengan beberapa panduan mengenai cara memasang dan menggunakan tcpdump pada sistem Linux anda.





Apakah Perintah tcpdump?

Tcpdump adalah alat pemantauan rangkaian yang kuat yang membolehkan pengguna menyaring paket dan lalu lintas di rangkaian dengan cekap. Anda boleh mendapatkan maklumat terperinci yang berkaitan dengan TCP / IP dan paket yang dihantar di rangkaian anda. Tcpdump adalah utiliti baris perintah, yang bermaksud anda boleh menjalankannya di pelayan Linux tanpa paparan.





Pentadbir sistem juga dapat mengintegrasikan utiliti tcpdump dengan cron untuk mengautomasikan pelbagai tugas seperti pembalakan. Oleh kerana banyak ciri menjadikannya cukup serba boleh, tcpdump berfungsi sebagai penyelesaian masalah dan juga alat keselamatan.

Cara Memasang tcpdump di Linux

Walaupun sebahagian besar masa anda akan mendapati tcpdump sudah terpasang pada sistem anda, sebilangan pengedaran Linux tidak dihantar bersama dengan pakej. Oleh itu, anda mungkin perlu memasang utiliti pada sistem anda secara manual.



Anda boleh memeriksa apakah tcpdump dipasang pada sistem anda dengan menggunakan yang mana arahan.

which tcpdump

Sekiranya output memaparkan jalan direktori ( / usr / bin / tcpdump ), kemudian sistem anda memasang pakej. Tetapi jika tidak, anda boleh melakukannya dengan mudah menggunakan pengurus pakej lalai pada sistem anda.





Untuk memasang tcpdump pada pengedaran berasaskan Debian seperti Ubuntu:

sudo apt-get install tcpdump

Memasang tcpdump di CentOS juga mudah.





sudo yum install tcpdump

Pada pengedaran berasaskan Arch:

sudo pacman -S tcpdump

Untuk memasang di Fedora:

sudo dnf install tcpdump

Perhatikan bahawa pakej tcpdump memerlukan libcap sebagai pergantungan, jadi pastikan anda memasangnya di sistem anda juga.

Contoh Tcpdump untuk Menangkap Paket Rangkaian di Linux

Sekarang setelah anda berjaya memasang tcpdump pada mesin Linux anda, inilah masanya untuk memantau beberapa paket. Oleh kerana tcpdump memerlukan kebenaran pengguna untuk melaksanakan sebahagian besar operasi, anda harus menambahkan sudo menurut perintah anda.

1. Senaraikan Semua Antaramuka Rangkaian

Untuk memeriksa antara muka rangkaian yang tersedia untuk menangkap, gunakan -D bendera dengan arahan tcpdump.

tcpdump -D

Melewati - senarai antara muka bendera sebagai hujah akan mengembalikan output yang sama.

tcpdump --list-interfaces

Keluarannya akan menjadi senarai semua antara muka rangkaian yang terdapat pada sistem anda.

Setelah mendapat senarai antara muka rangkaian, inilah masanya untuk memantau rangkaian anda dengan menangkap paket pada sistem anda. Walaupun anda dapat menentukan antara muka yang ingin anda gunakan, yang ada argumen memerintahkan tcpdump untuk menangkap paket rangkaian menggunakan antara muka yang aktif.

tcpdump --interface any

Sistem akan memaparkan output berikut.

cara mencari imei di iphone

Berkaitan: Apakah Model Sambungan Sistem Terbuka?

2. Format Output tcpdump

Bermula dari baris ketiga, setiap baris output menunjukkan paket tertentu yang ditangkap oleh tcpdump. Inilah rupa bentuk satu paket.

17:00:25.369138 wlp0s20f3 Out IP localsystem.40310 > kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 33

Perlu diingat bahawa tidak semua paket ditangkap dengan cara ini, tetapi ini adalah format umum yang diikuti oleh kebanyakan paket.

Hasilnya mengandungi maklumat berikut.

  1. Cap waktu paket yang diterima
  2. Nama antara muka
  3. Aliran paket
  4. Nama protokol rangkaian
  5. Alamat IP dan butiran port
  6. Bendera TCP
  7. Bilangan urutan data dalam paket
  8. Data ack
  9. Saiz tingkap
  10. Panjang paket

Bidang pertama ( 17: 00: 25.369138 ) memaparkan cap waktu ketika sistem anda menghantar atau menerima paket. Waktu yang dicatat diambil dari waktu tempatan sistem anda.

komputer dihidupkan tetapi skrin berwarna hitam

Medan kedua dan ketiga menunjukkan antara muka yang digunakan dan aliran paket. Dalam coretan di atas, wlp0s20f3 adalah nama antara muka tanpa wayar dan Keluar adalah aliran paket.

Medan keempat merangkumi maklumat yang berkaitan dengan nama protokol rangkaian. Secara amnya, anda akan menemui dua protokol- IP dan IP6 , di mana IP menunjukkan IPV4 dan IP6 adalah untuk IPV6.

Medan seterusnya mengandungi alamat IP atau nama sumber dan sistem tujuan. Alamat IP diikuti dengan nombor port.

Medan keenam dalam output terdiri daripada bendera TCP. Terdapat pelbagai bendera yang digunakan dalam output tcpdump.

Nama BenderaNilaiPenerangan
PANDANGANSSambungan dimulakan
TAMATFSambungan selesai
TURUNPData ditolak
RSTRSambungan ditetapkan semula
MALANGNYA.Ucapan terima kasih

Hasilnya juga boleh mengandungi gabungan beberapa bendera TCP. Sebagai contoh, FLAG [f.] bermaksud paket FIN-ACK.

Melangkah lebih jauh dalam coretan output, medan seterusnya mengandungi nombor urutan ( seq 196: 568 ) data dalam paket. Paket pertama selalu mempunyai nilai integer positif, dan paket berikutnya menggunakan nombor urutan relatif untuk meningkatkan aliran data.

Medan seterusnya memegang nombor pengakuan ( ack 1 ), atau nombor Ack ringkas. Paket yang ditangkap di mesin pengirim mempunyai 1 sebagai nombor pengakuan. Di hujung penerima, nombor Ack adalah nilai paket seterusnya.

Medan kesembilan dalam output menampung ukuran tetingkap ( menang 309 ), yang merupakan bilangan bait yang tersedia dalam penyangga penerimaan. Terdapat beberapa bidang lain yang mengikuti ukuran tetingkap, termasuk Ukuran Segmen Maksimum (MSS).

Medan terakhir ( panjang 33 ) mengandungi panjang keseluruhan paket yang ditangkap oleh tcpdump.

3. Hadkan Kiraan Paket yang Ditangkap

Semasa menjalankan perintah tcpdump untuk pertama kalinya, anda mungkin melihat bahawa sistem terus menangkap paket rangkaian sehingga anda melewati isyarat gangguan. Anda boleh mengatasi tingkah laku lalai ini dengan menentukan jumlah paket yang ingin anda tangkap terlebih dahulu menggunakan -c bendera.

tcpdump --interface any -c 10

Perintah yang disebutkan di atas akan menangkap sepuluh paket dari mana-mana antara muka rangkaian aktif.

4. Tapis Paket Berdasarkan Medan

Apabila anda menyelesaikan masalah, mendapatkan sekumpulan besar output teks di terminal anda tidak menjadikannya lebih mudah. Di situlah ciri penapisan dalam tcpdump dimainkan. Anda boleh menapis paket mengikut pelbagai bidang termasuk hos, protokol, nombor port, dan banyak lagi.

Untuk menangkap paket TCP sahaja, ketik:

tcpdump --interface any -c 5 tcp

Begitu juga, jika anda ingin menapis output menggunakan nombor port:

tcpdump --interface any -c 5 port 50

Perintah yang disebutkan di atas hanya akan mengambil paket yang dihantar melalui port yang ditentukan.

Untuk mendapatkan butiran paket untuk hos tertentu:

tcpdump --interface any -c 5 host 112.123.13.145

Sekiranya anda ingin menapis paket yang dihantar atau diterima oleh host tertentu, gunakan src atau dan lain-lain berhujah dengan perintah.

tcpdump --interface any -c 5 src 112.123.13.145
tcpdump --interface any -c 5 dst 112.123.13.145

Anda juga boleh menggunakan operator logik dan dan atau untuk menggabungkan dua atau lebih ungkapan bersama. Contohnya, untuk mendapatkan paket milik IP sumber 112.123.13.145 dan gunakan port 80 :

tcpdump --interface any -c 10 src 112.123.13.145 and port 80

Ungkapan kompleks dapat dikumpulkan bersama menggunakan kurungan seperti berikut:

tcpdump --interface any -c 10 '(src 112.123.13.145 or src 234.231.23.234) and (port 45 or port 80)'

5. Lihat Kandungan Paket

Anda boleh menggunakan -TO dan -x bendera dengan arahan tcpdump untuk menganalisis kandungan paket rangkaian. The -TO bendera bermaksud ASCII format dan -x menandakan perenambelasan format.

Untuk melihat kandungan paket rangkaian seterusnya yang ditangkap oleh sistem:

tcpdump --interface any -c 1 -A
tcpdump --interface any -c 1 -x

Berkaitan: Apakah Kehilangan Paket dan Bagaimana Memperbaiki Penyebabnya?

6. Simpan Data Tangkap ke Fail

Sekiranya anda ingin menyimpan data tangkapan untuk tujuan rujukan, tcpdump ada untuk membantu anda. Lulus sahaja -dalam bendera dengan arahan lalai untuk menulis output ke fail dan bukannya memaparkannya di skrin.

tcpdump --interface any -c 10 -w data.pcap

The .pcap sambungan fail bermaksud tangkapan paket data. Anda juga boleh mengeluarkan perintah yang disebutkan dalam mod verbose menggunakan -v bendera.

tcpdump --interface any -c 10 -w data.pcap -v

Untuk membaca a .pcap fail menggunakan tcpdump, gunakan -r bendera diikuti dengan jalan fail. The -r bermaksud Baca .

wap mengatakan tidak cukup ruang cakera
tcpdump -r data.pcap

Anda juga boleh menapis paket rangkaian dari data paket yang disimpan dalam fail.

tcpdump -r data.pcap port 80

Memantau Trafik Rangkaian di Linux

Sekiranya anda telah ditugaskan untuk mentadbir pelayan Linux, maka perintah tcpdump adalah alat yang bagus untuk disertakan dalam gudang senjata anda. Anda dapat menyelesaikan masalah berkaitan rangkaian dengan mudah dengan menangkap paket yang dihantar di rangkaian anda dalam masa nyata.

Tetapi sebelum semua itu, peranti anda mesti disambungkan ke internet. Bagi pemula Linux, walaupun menyambung dengan Wi-Fi melalui baris arahan boleh menjadi sedikit mencabar. Tetapi jika anda menggunakan alat yang betul, ini adalah sekejap.

Berkongsi Berkongsi Tweet E-mel Cara Menghubungkan ke Wi-Fi Melalui Terminal Linux Dengan Nmcli

Ingin menyambung ke rangkaian Wi-Fi melalui baris perintah Linux? Inilah yang perlu anda ketahui mengenai arahan nmcli.

Baca Seterusnya
Topik-topik yang berkaitan
  • Linux
  • Keselamatan
  • Forensik Rangkaian
Mengenai Pengarang Deepesh Sharma(79 Artikel Diterbitkan)

Deepesh adalah Editor Junior untuk Linux di MUO. Dia menulis panduan maklumat mengenai Linux, bertujuan untuk memberikan pengalaman yang menggembirakan kepada semua pendatang baru. Tidak pasti mengenai filem, tetapi jika anda ingin bercakap mengenai teknologi, dia adalah lelaki anda. Pada masa lapang, anda dapat menemuinya membaca buku, mendengar genre muzik yang berbeza, atau bermain gitarnya.

Lebih Banyak Dari Deepesh Sharma

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan