Cara menggunakan perintah tcpdump di linux

Cara menggunakan perintah tcpdump di linux

Itu tcpdump Perintah dapat digunakan untuk menangkap lalu lintas jaringan pada sistem Linux. Ini adalah utilitas baris perintah yang serba guna yang sering diandalkan oleh administrator jaringan untuk pemecahan masalah.

Yang akan Anda temukan adalah bahwa jumlah lalu lintas jaringan yang ditangkap pada antarmuka bisa dengan mudah luar biasa. tcmpdump Membuat pekerjaan kami sedikit lebih mudah dengan memungkinkan kami mengisolasi hanya lalu lintas yang kami minati. Tentu saja, untuk melakukan ini, Anda harus terbiasa dengan berbagai bendera dan pengaturan yang sesuai dengan perintah.

Dalam panduan ini, Anda akan melihat cara menggunakan tcpdump melalui contoh dan penjelasan. Ikuti bersama pada sistem Anda sendiri jika Anda ingin belajar menangkap lalu lintas jaringan dan menguasai tcpdump memerintah.

Dalam tutorial ini Anda akan belajar:

  • Cara menginstal tcpdump pada distro linux utama
  • Contoh perintah tcpdump
  • Cara memfilter lalu lintas tcpdump berdasarkan port, protokol, sumber, dan tujuan
  • Cara menulis tcpdump capture untuk mengajukan
  • Bagaimana menafsirkan output perintah tcpdump
Menggunakan perintah tcpdump untuk menangkap lalu lintas jaringan di linux Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distro Linux apa pun
Perangkat lunak tcpdump
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah.
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Instal TCPDUMP di Distro Linux Utama

Ada kemungkinan besar distro linux Anda tcpdump diinstal secara default, terutama jika Anda menjalankan distro yang ditujukan untuk server. Kalau -kalau belum diinstal, Anda dapat menggunakan perintah yang sesuai di bawah ini untuk menginstalnya melalui paket paket sistem Anda.

Untuk menginstal TCPDUMP di Ubuntu, Debian, dan Linux Mint:

$ sudo apt instal tcpdump 

Untuk menginstal TCPDUMP di Centos, Fedora, Almalinux, dan Red Hat:

$ sudo dnf menginstal tcpdump 

Untuk menginstal TCPDUMP di Arch Linux dan Manjaro:

$ sudo pacman -s tcpdump 

Contoh perintah tcpdump

CATATAN
Semua milik Anda tcpdump Perintah harus dieksekusi dengan akun pengguna root atau dengan sudo. Utilitas membutuhkan hak istimewa administrator agar dapat berjalan.

Bentuk perintah yang paling sederhana adalah menggunakan utilitas tanpa opsi tambahan, seperti ini:

# tcpdump 

Jika Anda tidak menentukan antarmuka jaringan mana Anda ingin menangkap lalu lintas, seperti pada perintah di atas, lalu tcpdump akan memilih antarmuka untuk Anda.

Itu akan terus "membuang" lalu lintas yang ditangkap ke terminal Anda sampai Anda mengganggu perintah. Cara termudah untuk melakukan ini adalah dengan Ctrl + c.

Jika Anda memiliki lebih dari satu antarmuka jaringan, maka akan lebih baik untuk menentukan antarmuka mana yang Anda coba lakukan untuk menangkap lalu lintas, karena tcpdump tidak boleh memilih yang Anda inginkan secara default. Menggunakan -D opsi untuk mencetak daftar antarmuka jaringan itu tcpdump bisa menggunakan.

# tcpdump -d 1.enp0s3 [naik, berjalan] 2.lo [up, running, loopback] 3.Apa pun (perangkat semu yang menangkap di semua antarmuka) [UP, RUNTING] 4.Bluetooth-Monitor (Bluetooth Linux Monitor) [tidak ada] 5.NFLOG (antarmuka Linux NetFilter Log (NFLOG)) [Tidak Ada] 6.NFQUEUE (antarmuka Linux NetFilter Queue (NFQUEUE)) [Tidak Ada] 

Kami memiliki beberapa antarmuka berbeda yang dapat kami gunakan. Atau, kami memiliki setiap opsi tersedia yang akan memungkinkan kami menangkap lalu lintas di semua antarmuka jaringan secara bersamaan. Jika kami ingin menangkap lalu lintas jaringan di ENP0S3 antarmuka, kami akan menggunakan sintaks perintah berikut.

# tcpdump -i enp0s3 

Anda dapat menggunakan -v opsi untuk meningkatkan verbositas output, atau -vv Dan -VVV untuk meningkatkannya lebih jauh.

# tcpdump -i enp0s3 -vv 

Jika Anda tidak mau tcpdump Untuk mengeluarkan data output tanpa henti ke terminal Anda, Anda dapat menggunakan -C opsi untuk menentukan berapa banyak paket yang ingin Anda tangkap. tcpdump akan berhenti mengeksekusi perintah setelah ambang batas tercapai, daripada menunggu Anda untuk mengganggu. Perintah berikut akan memungkinkan kita untuk menangkap hanya 15 paket pertama.

# tcpdump -c 15 

Jika Anda tidak mau tcpdump Untuk melakukan resolusi DNS pada alamat jaringan dalam output, Anda dapat menggunakan -N Opsi di perintah Anda. Ini akan menampilkan semua alamat jaringan sebagai alamat IP, daripada menyelesaikannya menjadi nama domain.

# tcpdump -n 

Jika Anda lebih suka menyimpan output lalu lintas jaringan ke file, daripada membuatnya terdaftar di layar Anda, Anda selalu dapat mengarahkan kembali tcpdump output dengan biasanya > Dan >> operator.

# tcpdump> lalu lintas.txt 

Opsi lain adalah menulis penangkapan jaringan untuk mengajukan. File -file ini biasanya memiliki .PCAP ekstensi file, dan tidak dapat dibaca oleh editor teks biasa.

# tcpdump -n -w traffic.PCAP 

Untuk membuka file untuk analisis selanjutnya, gunakan -R opsi dan nama file Anda.

# tcpdump -r traffic.PCAP 

Menafsirkan output perintah tcpdump

Setiap paket itu tcpdump Captures ditulis sebagai baris individual. Salah satu kalimat itu akan terlihat seperti ini:

14:21:46.134249 IP 10.0.2.15.54000> 104.16.168.35.443: bendera [.], ACK 2915, Menangkan 63000, Panjang 0 

Inilah cara menafsirkan garis data itu:

  • 14:21:46.134249 - Cap waktu saat paket ditangkap.
  • IP 10.0.2.15.54000 - IP dan nomor port host sumber.
  • 104.16.168.35.443 - IP dan nomor port host tujuan.
  • Bendera [.] - Bendera TCP (SYN, ACK, PSH, dll). [.] berarti ACK.
  • ACK 2915 - Nomor pengakuan.
  • Menangkan 63000 - Nomor jendela (byte dalam menerima buffer).
  • panjang 0 - Panjang data muatan.

Saring lalu lintas tcpdump

Salah satu fitur terbaik dari tcpdump adalah bahwa kita dapat menyaring lalu lintas dengan tepat. Tanpa menyaring lalu lintas dengan adaptor (seperti yang terlihat di atas), nomor port, dan protokol paket, jumlah lalu lintas yang ditangkap dapat dengan cepat menjadi luar biasa dan hampir tidak mungkin untuk disaring.

Terlepas dari namanya tcpdump, Kami dapat menggunakan alat ini untuk menyaring semua jenis lalu lintas, bukan hanya TCP. Misalnya, gunakan sintaks berikut untuk menyaring lalu lintas yang menggunakan UDP.

# tcpdump -n udp 

Atau contoh berikut yang memfilter ICMP:

# tcpdump -n icmp 

Anda juga dapat menggunakan nomor protokol yang sesuai untuk menyaring protokol tertentu. Misalnya, ICMP adalah protokol nomor 1, sehingga sintaks berikut akan melakukan hal yang sama dengan contoh sebelumnya.

# tcpdump -n proto 1 

Untuk melihat daftar lengkap protokol jaringan dan nomor yang sesuai, lihat daftar nomor protokol IP di Wikipedia.

Untuk memfilter lalu lintas dengan tujuan tertentu atau sumber IP alamat, kami dapat menggunakan tuan rumah kualifikasi dengan -N pilihan. Misalnya, untuk memfilter lalu lintas yang terkait dengan host di alamat IP 10.10.150.20:

# tcpdump -n host 10.10.150.20 

Atau, gunakan bersih Kualifikasi Jika Anda ingin menyaring lalu lintas ke atau dari seluruh jaringan. Misalnya, perintah berikut akan menyaring lalu lintas yang terkait dengan 192.168.1.0/24 jaringan.

# tcpdump -n net 192.168.1 

Menggunakan pelabuhan Dan Portrange Kualifikasi untuk menyaring paket yang terkait dengan port atau rentang port tertentu, masing -masing. Misalnya, perintah berikut akan memfilter lalu lintas kami terkait dengan port 80 (http).

# tcpdump -n port 80 

Atau, untuk menyaring lalu lintas dari port 20-30, perintah berikut akan digunakan.

# tcpdump -n Portrange 20-30 

Tambahkan dst, SRC, SRC dan DST, Dan SRC atau DST Kualifikasi Jika Anda ingin memfilter berdasarkan sumber dan/atau alamat tujuan atau port paket. Misalnya, perintah berikut akan memfilter paket yang memiliki alamat IP sumber 10.10.150.20.

# tcpdump -n host src 10.10.150.20 

Atau dalam contoh ini, kami memfilter paket yang ditakdirkan untuk port SSH (port 22).

# tcpdump -n port dst 22 

Menggabungkan filter

Kami dapat menggabungkan berbagai filter yang ditutupi di atas dengan menggunakan Dan (&&), atau (||), Dan bukan (!) operator di kami tcpdump memerintah.

Misalnya, perintah berikut akan menangkap lalu lintas yang ditakdirkan untuk 10.10.150.20 di port 80 (http).

# tcpdump -n host dst 10.10.150.20 dan port TCP 80 

Atau membuat lebih banyak filter granular dengan menggabungkan aturan lebih lanjut di dalam tanda kurung. Misalnya, perintah ini akan melakukan hal yang sama dengan yang sebelumnya, tetapi juga menangkap port 443 (https).

# tcpdump -n 'host dst 10.10.150.20 dan (port TCP 80 atau port TCP 443) ' 

Menutup pikiran

Dalam panduan ini, kami melihat cara menggunakan tcpdump utilitas baris perintah untuk menangkap lalu lintas jaringan pada sistem Linux. Seperti yang telah kita lihat dalam tutorial ini, perintah ini bisa menjadi agak rumit dan menerima input yang sangat granular, yang memungkinkan kita untuk menyaring lalu lintas yang tepat yang ingin kita lihat.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
  • Perintah Linux Dasar
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Instal Arch Linux di VMware Workstation
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Cara mengambil tangkapan layar di kali linux
  • Cara mengambil tangkapan layar di Manjaro