Cara Menggunakan Perintah TCPDUMP di Linux

- 900
- 278
- Dale Harris II
The tcpdump
Perintah boleh digunakan untuk menangkap trafik rangkaian pada sistem linux. Ini adalah utiliti baris perintah yang serba boleh yang pentadbir rangkaian sering bergantung pada penyelesaian masalah.
Apa yang anda akan dapati ialah jumlah trafik rangkaian yang ditangkap di antara muka boleh dengan mudah menggembirakan. tcmpdump
menjadikan pekerjaan kami sedikit lebih mudah dengan membenarkan kami mengasingkan hanya lalu lintas yang kami minati. Sudah tentu, untuk melakukan ini, anda perlu mengenali pelbagai bendera dan tetapan yang disertai dengan arahan.
Dalam panduan ini, anda akan melihat cara menggunakan tcpdump
melalui contoh dan penjelasan. Ikuti sistem anda sendiri jika anda ingin belajar menangkap trafik rangkaian dan menguasai tcpdump
perintah.
Dalam tutorial ini anda akan belajar:
- Cara Memasang TCPDUMP pada Distro Linux Utama
- Contoh perintah TCPDUMP
- Cara Menapis Trafik TCPDump oleh Port, Protokol, Sumber, dan Destinasi
- Cara Menulis Tcpdump Tangkap ke Fail
- Cara mentafsirkan output arahan tcpdump

Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Mana -mana distro Linux |
Perisian | tcpdump |
Yang lain | Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah. |
Konvensyen | # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak |
Pasang TCPDUMP pada distro utama Linux
Ada peluang yang baik bahawa distro linux anda sudah ada tcpdump
dipasang secara lalai, terutamanya jika anda menjalankan distro yang ditujukan kepada pelayan. Sekiranya ia belum dipasang, anda boleh menggunakan arahan yang sesuai di bawah untuk memasangnya melalui pengurus pakej sistem anda.
Untuk memasang TCPDUMP di Ubuntu, Debian, dan Linux Mint:
$ sudo apt pasang tcpdump
Untuk memasang TCPDUMP di CentOS, Fedora, Almalinux, dan Red Hat:
$ sudo dnf memasang tcpdump
Untuk memasang TCPDUMP di Arch Linux dan Manjaro:
$ sudo pacman -s tcpdump
Contoh perintah TCPDUMP
CATATANSemua anda
tcpdump
Perintah mesti dilaksanakan dengan akaun pengguna root atau dengan sudo
. Utiliti memerlukan keistimewaan pentadbir untuk dijalankan. Bentuk perintah yang paling mudah adalah menggunakan utiliti tanpa pilihan tambahan, seperti ini:
# tcpdump
Sekiranya anda tidak menentukan antara muka rangkaian mana yang anda ingin menangkap trafik dari, seperti dalam perintah di atas, maka tcpdump
akan memilih antara muka untuk anda.
Ia akan terus "membuang" lalu lintas yang ditangkap ke terminal anda sehingga anda mengganggu arahan. Cara paling mudah untuk melakukan ini adalah dengan Ctrl + c
.
Sekiranya anda mempunyai lebih daripada satu antara muka rangkaian, maka sebaiknya menentukan antara muka yang anda cuba dapatkan trafik, sejak itu tcpdump
mungkin tidak memilih yang anda mahukan secara lalai. Menggunakan -D
pilihan untuk mencetak senarai antara muka rangkaian yang tcpdump
boleh digunakan.
# tcpdump -d 1.ENP0S3 [naik, berjalan] 2.LO [UP, Running, Loopback] 3.Mana-mana (peranti pseudo yang menangkap semua antara muka) [naik, berjalan] 4.Monitor Bluetooth (Bluetooth Linux Monitor) [Tiada] 5.NFLOG (Linux Netfilter Log (NFLOG) antara muka) [NONE] 6.NFQUEUE (LINUX NETFILTER GIRTION (NFQUEU) antara muka) [NONE]
Kita mempunyai beberapa antara muka yang berbeza yang boleh kita gunakan. Sebagai alternatif, kita mempunyai Mana -mana
pilihan yang tersedia yang akan membolehkan kita menangkap lalu lintas di semua antara muka rangkaian secara serentak. Sekiranya kita mahu menangkap lalu lintas rangkaian di ENP0S3
antara muka, kami akan menggunakan sintaks perintah berikut.
# tcpdump -i enp0s3
Anda boleh menggunakan -v
pilihan untuk meningkatkan kelebihan output, atau -vv
dan -vvv
untuk meningkatkannya lebih jauh.
# tcpdump -i enp0s3 -vv
Sekiranya anda tidak mahu tcpdump
untuk mengeluarkan data tanpa henti ke terminal anda, anda boleh menggunakan -c
pilihan untuk menentukan berapa banyak paket yang anda mahukan utiliti untuk ditangkap. tcpdump
akan berhenti melaksanakan arahan selepas ambang telah dicapai, dan bukannya menunggu anda mengganggu. Perintah berikut akan membolehkan kami menangkap hanya 15 paket pertama.
# tcpdump -c 15
Sekiranya anda tidak mahu tcpdump
Untuk melaksanakan resolusi DNS pada alamat rangkaian dalam output, anda boleh menggunakan -n
pilihan dalam arahan anda. Ini akan memaparkan semua alamat rangkaian sebagai alamat IP, dan bukannya menyelesaikannya ke nama domain.
# tcpdump -n
Sekiranya anda lebih suka menyimpan output lalu lintas rangkaian ke fail, bukannya disenaraikan di skrin anda, anda sentiasa boleh mengalihkan tcpdump
output dengan biasa >
dan >>
pengendali.
# tcpdump> trafik.txt
Pilihan lain ialah menulis penangkapan rangkaian ke fail. Fail -fail ini biasanya mempunyai .PCAP
Pelanjutan fail, dan tidak dapat dibaca oleh editor teks biasa.
# TCPDUMP -N -W Trafik.PCAP
Untuk membuka fail untuk analisis kemudian, gunakan -r
pilihan dan nama fail anda.
# TCPDUMP -R Trafik.PCAP
Mentafsirkan output arahan tcpdump
Setiap paket itu tcpdump
Tangkapan ditulis sebagai garis individu. Salah satu baris itu akan kelihatan seperti ini:
14:21:46.134249 IP 10.0.2.15.54000> 104.16.168.35.443: Bendera [.], ACK 2915, menang 63000, panjang 0
Inilah cara mentafsirkan garis data:
14:21:46.134249
- Cap waktu ketika paket ditangkap.IP 10.0.2.15.54000
- IP dan Nombor Port Sumber Host.104.16.168.35.443
- IP dan nombor port hos destinasi.Bendera [.]
- Bendera TCP (SYN, ACK, PSH, dll).[.]
bermaksud ACK.ACK 2915
- Nombor pengakuan.menang 63000
- Nombor tetingkap (bait dalam penampan menerima).panjang 0
- Panjang data muatan.
Penapis trafik tcpdump
Salah satu ciri terbaik dari tcpdump
adakah kita dapat menyaring dengan tepat lalu lintas yang ingin kita lihat. Tanpa menapis trafik oleh penyesuai (seperti yang dilihat di atas), nombor port, dan protokol paket, jumlah lalu lintas yang ditangkap dapat dengan cepat menjadi luar biasa dan hampir mustahil untuk menyaring melalui.
Walaupun namanya tcpdump
, Kita boleh menggunakan alat ini untuk menyaring semua jenis lalu lintas, bukan hanya TCP. Contohnya, gunakan sintaks berikut untuk menyaring trafik yang menggunakan UDP.
# tcpdump -n udp
Atau contoh berikut yang menapis ICMP:
# tcpdump -n icmp
Anda juga boleh menggunakan nombor protokol yang sepadan untuk menapis protokol tertentu. Sebagai contoh, ICMP adalah protokol nombor 1, jadi sintaks berikut akan melakukan perkara yang sama seperti contoh sebelumnya.
# tcpdump -n proto 1
Untuk melihat senarai lengkap protokol rangkaian dan nombor yang sepadan, lihat senarai nombor protokol IP di Wikipedia.
Untuk menapis trafik dengan alamat IP destinasi atau sumber tertentu, kami boleh menggunakan Tuan rumah
Qualifer dengan -n
pilihan. Contohnya, untuk menapis trafik yang berkaitan dengan tuan rumah di alamat IP 10.10.150.20
:
# TCPDUMP -N HOST 10.10.150.20
Sebagai alternatif, gunakan jaring
Qualifer jika anda ingin menapis lalu lintas ke atau dari seluruh rangkaian. Contohnya, arahan berikut akan menapis lalu lintas yang berkaitan dengan 192.168.1.0/24
rangkaian.
# tcpdump -n net 192.168.1
Menggunakan pelabuhan
dan Portrange
kualifikasi untuk menapis paket yang berkaitan dengan julat port atau port tertentu, masing -masing. Sebagai contoh, arahan berikut akan menapis trafik kami yang berkaitan dengan port 80 (http).
# tcpdump -n port 80
Atau, untuk menapis trafik dari port 20-30, arahan berikut akan digunakan.
# TCPDUMP -n Portrange 20-30
Tambah dst
, SRC
, SRC dan DST
, dan SRC atau DST
kualifikasi jika anda ingin menapis berdasarkan alamat sumber dan/atau destinasi atau pelabuhan paket. Sebagai contoh, arahan berikut akan menyaring paket yang mempunyai alamat IP sumber 10.10.150.20
.
# TCPDUMP -N SRC HOST 10.10.150.20
Atau dalam contoh ini, kami menyaring paket yang ditakdirkan untuk port SSH (port 22).
# tcpdump -n dst port 22
Menggabungkan penapis
Kita dapat menggabungkan pelbagai penapis yang dilindungi di atas dengan menggunakan dan
(&&
), atau
(||
), dan tidak
(!
) pengendali di kami tcpdump
perintah.
Contohnya, arahan berikut akan menangkap lalu lintas yang ditakdirkan 10.10.150.20
di port 80 (http).
# TCPDUMP -N DST HOST 10.10.150.20 dan port TCP 80
Atau membuat lebih banyak penapis berbutir dengan menggabungkan peraturan selanjutnya di dalam kurungan. Sebagai contoh, arahan ini akan melakukan perkara yang sama seperti sebelumnya, tetapi juga menangkap port 443 (https).
# TCPDUMP -N 'DST HOST 10.10.150.20 dan (port TCP 80 atau port TCP 443) '
Pemikiran penutupan
Dalam panduan ini, kita melihat cara menggunakan tcpdump
utiliti baris arahan untuk menangkap trafik rangkaian pada sistem linux. Seperti yang kita lihat dalam tutorial ini, arahan boleh menjadi agak kompleks dan menerima input yang sangat berbutir, yang membolehkan kita menapis trafik yang tepat yang kita mahu lihat.
Tutorial Linux Berkaitan:
- Perkara yang hendak dipasang di Ubuntu 20.04
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..
- Perintah Linux Asas
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Pasang Arch Linux di Workstation VMware
- Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
- Perkara yang perlu dipasang di Ubuntu 22.04
- Cara mengambil tangkapan skrin di Kali Linux
- Cara mengambil tangkapan skrin di Manjaro
- « Cara Membaca dan Mengubah Nilai Parameter Kernel Menggunakan SYSCTL
- Cara Bekerja Dengan API Rest WooCommerce dengan Python »