Pengenalan kepada Tcpdump

Sekiranya anda menjalankan pelayan, anda pasti akan sampai ke titik di mana anda perlu menyelesaikan beberapa masalah yang berkaitan dengan rangkaian. Sudah tentu mudah untuk menghantar surat ke bahagian sokongan, tetapi kadang-kadang anda perlu membuat tangan anda kotor. Dalam kes ini, tcpdumpadakah alat untuk pekerjaan itu. Tcpdump adalah penganalisis paket rangkaian yang berjalan di bawah baris arahan.

Artikel ini akan dibahagikan kepada tiga bahagian:

  • Ciri-ciri asas.
  • Penapisan berdasarkan ciri lalu lintas tertentu.
  • Coretan pendek dari ciri yang lebih maju (seperti ungkapan logik, penapisan oleh bendera TCP).

Oleh kerana tcpdump tidak disertakan dengan kebanyakan sistem asas, anda perlu memasangnya. Walau bagaimanapun, hampir semua pengedaran Linux mempunyai tcpdump di repositori teras mereka. Untuk pengedaran berasaskan Debian, arahan untuk memasang tcpdump adalah:

apt-get install tcpdump

Untuk CentOS / RedHat, gunakan arahan berikut:

yum install tcpdump

FreeBSD menawarkan pakej pra-binaan yang dapat dipasang dengan mengeluarkan:

pkg install tcpdump

Terdapat juga port yang tersedia, net/tcpdumpyang boleh dipasang melalui:

cd /usr/ports/net/tcpdump
make install clean

Sekiranya anda berlari tcpdumptanpa sebarang hujah, anda akan dipukul dengan keputusan. Menjalankannya pada contoh yang baru diputar di sini di Vultr kurang dari lima saat memberikan hasil berikut:

2661 packets captured
2663 packets received by filter
0 packets dropped by kernel

Sebelum menerangkan lebih terperinci mengenai cara menyaring input, anda harus melihat beberapa parameter yang dapat diteruskan ke tcpdump:

  • -i- Menentukan antara muka yang anda hendak dengar pada, sebagai contoh: tcpdump -i eth0.
  • -n- Jangan cuba melakukan carian terbalik pada alamat IP, misalnya: tcpdump -n(jika anda menambahkan ntcpdump lain akan menunjukkan nombor port dan bukannya nama).
  • -X- Tunjukkan kandungan paket yang dikumpul: tcpdump -X.
  • -c- Hanya menangkap xpaket, xmenjadi nombor sewenang-wenang, misalnya tcpdump -c 10menangkap tepat 10 paket.
  • -v- Menambah jumlah maklumat paket yang anda tunjukkan, lebih banyak vmenambah lebih banyak ketajaman.

Setiap parameter yang disebutkan di sini dapat digabungkan bersama. Sekiranya anda ingin menangkap 100 paket, tetapi hanya pada antarmuka VPN anda tun0, maka perintah tcpdump akan kelihatan seperti ini:

tcpdump -i tun0 -c 100 -X

Terdapat berpuluh-puluh (jika tidak beratus-ratus) pilihan selain beberapa pilihan, tetapi mereka adalah pilihan yang paling biasa. Jangan ragu untuk membaca halaman utama tcpdump di sistem anda.

Sekarang setelah anda memahami asas tcpdump, inilah masanya untuk melihat salah satu ciri tcpdump yang paling hebat: ungkapan. Ungkapan akan menjadikan hidup anda lebih mudah. Mereka juga dikenali sebagai BPF atau Berkeley Packet Filters. Menggunakan ungkapan membolehkan anda memaparkan (atau mengabaikan) paket secara selektif berdasarkan ciri tertentu - seperti asal, tujuan, ukuran, atau bahkan nombor urutan TCP.

Setakat ini anda berjaya mengehadkan carian anda ke sebilangan paket pada antara muka tertentu, tetapi mari kita jujur ​​di sini: yang masih terlalu banyak membisingkan latar belakang untuk berfungsi dengan berkesan dengan data yang dikumpulkan. Di situlah ungkapan dimainkan. Konsepnya cukup mudah, jadi kami akan meninggalkan teori kering di sini dan menyokong pemahaman dengan beberapa contoh praktikal.

Ungkapan yang mungkin paling sering anda gunakan ialah:

  • host - Cari lalu lintas berdasarkan nama host atau alamat IP.
  • srcatau dst- Cari lalu lintas dari atau ke hos tertentu.
  • proto- Cari trafik protokol tertentu. Berfungsi untuk tcp, udp, icmp, dan lain-lain. Menghilangkan protokata kunci juga mungkin.
  • net - Cari lalu lintas ke / dari pelbagai alamat IP tertentu.
  • port - Cari lalu lintas ke / dari pelabuhan tertentu.
  • greateratau less- Cari lalu lintas yang lebih besar atau lebih kecil daripada jumlah bait tertentu.

Walaupun halaman utama tcpdumphanya mengandungi beberapa contoh, halaman pcap-filterini mempunyai penjelasan yang sangat terperinci mengenai bagaimana setiap saringan berfungsi dan dapat digunakan.

Sekiranya anda ingin melihat bagaimana komunikasi anda dengan pelayan tertentu berjalan, maka anda boleh menggunakan hostkata kunci, misalnya (termasuk beberapa parameter dari atas):

tcpdump -i eth0 host vultr.com

Kadang-kadang ada komputer di rangkaian yang tidak menghormati MTU atau menghantar spam dengan paket besar kepada anda; menyaringnya kadang-kadang sukar. Ungkapan membolehkan anda menyaring pakej yang lebih besar atau lebih kecil daripada sebilangan bait tertentu:

tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32

Mungkin hanya pelabuhan tertentu yang menarik untuk anda. Dalam kes ini, gunakan portungkapan:

tcpdump -i eth0 -X port 21

Anda juga boleh melihat julat port:

tcdump -i eth0 -X portrange 22-25

Oleh kerana gerbang NAT cukup umum, anda mungkin hanya mencari port tujuan:

tcpdump dst port 80

Sekiranya anda melihat lalu lintas ke pelayan web anda, anda mungkin hanya ingin melihat lalu lintas TCP ke port 80:

tcpdump tcp and dst port 80

Anda mungkin bertanya pada diri sendiri apa kata kunci andyang dilakukan di sana. Soalan yang baik. Itu membawa kita ke bahagian terakhir artikel ini.

tcpdump menawarkan sokongan asas untuk ungkapan logik, lebih khusus:

  • and/ &&- Logik "dan".
  • or/ ||- Logik "atau".
  • not/ !- Logik "tidak".

Bersama dengan kemampuan untuk mengumpulkan ungkapan bersama, ini membolehkan anda membuat carian yang sangat hebat untuk lalu lintas masuk dan keluar. Oleh itu, mari saring lalu lintas yang datang dari vultr.com di port 22 atau 443:

tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)

Menjalankan ini pada baris arahan akan memberi anda ralat berikut:

bash: syntax error near unexpected token `('

Itu kerana ada peringatan: bashcuba menilai setiap watak yang dimilikinya. Ini merangkumi (dan )watak. Untuk mengelakkan kesalahan itu, anda harus menggunakan tanda petik tunggal di sekitar ungkapan gabungan:

tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'

Contoh berguna lain: Semasa menyahpepijat masalah SSH dengan salah satu pengguna anda, anda mungkin ingin mengabaikan semua yang berkaitan dengan sesi SSH anda:

tcpdump '!(host $youripaddress) && port 22)'

Sekali lagi, kes penggunaannya tidak berkesudahan, dan anda boleh menentukan sejauh mana jenis lalu lintas yang anda mahu lihat. Perintah berikut akan menunjukkan hanya paket SYNACK jabat tangan TCP:

tcpdump -i eth0 'tcp[13]=18'

Ini berfungsi dengan melihat offset ketiga belas tajuk TCP dan bait kelapan belas di dalamnya.

Sekiranya anda berjaya sampai ke sini, maka anda sudah bersedia untuk kebanyakan kes penggunaan yang akan timbul. Saya hampir tidak dapat menyentuh permukaan tanpa terlalu terperinci. Saya sangat mengesyorkan agar anda bereksperimen dengan pilihan dan ungkapan yang berbeza sedikit; dan seperti biasa: rujuk halaman utama apabila anda tersesat.

Akhir sekali - melihat kembali dengan pantas. Ingat awal artikel ini? Dengan ribuan paket yang ditangkap dalam masa beberapa saat? Kekuatan tcpdumpdapat mengurangkannya:

tcpdump -i eth0 tcp port 22

Hasilnya sekarang:

81 packets captured
114 packets received by filter
0 packets dropped by kerne

Ini jauh lebih sihat dan lebih senang untuk debug. Selamat membuat rangkaian!



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut