Cara menggunakan perintah tcpdump di linux

- 4797
- 583
- Enrique Purdy
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

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
CATATANSemua 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
- « Cara membaca dan mengubah nilai parameter kernel menggunakan sysctl
- Bagaimana bekerja dengan WooCommerce Rest API dengan Python »