Setelah memperoleh file log offline, Anda dapat menggunakan antarmuka baris perintah (CLI) untuk mengurai file log dan mengekstrak 10 alamat IP teratas, header User-Agent, serta header Referer dari kunjungan. Topik ini menjelaskan cara menggunakan CLI untuk menganalisis log offline Alibaba Cloud CDN di lingkungan Linux.
Prasyarat
Log offline telah diunduh. Untuk informasi lebih lanjut, lihat Unduh log offline.
Catatan penggunaan
Aturan penamaan untuk file log: Nama domain yang dipercepat_tahun_bulan_hari_waktu mulai_waktu akhir[bidang ekstensi].gz. Bidang ekstensi dimulai dengan garis bawah (_). Contoh:
aliyundoc.com_2018_10_30_000000_010000_xx.gz.CatatanNama file log tertentu mungkin tidak berisi bidang ekstensi. Contoh:
aliyundoc.com_2018_10_30_000000_010000.gz.Contoh entri log:
[9/Jun/2015:01:58:09 +0800] 10.10.10.10 - 1542 "-" "GET http://www.aliyun.com/index.html" 200 191 2830 MISS "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)" "text/html"
Mengurai log
Kumpulkan dan siapkan data log
Unduh file log terkompresi
aliyundoc.com_2018_10_30_000000_010000.gz. Untuk informasi lebih lanjut, lihat Unduh log offline.Unggah file log ke Server Linux lokal.
Masuk ke Server Linux lokal dan jalankan perintah berikut untuk mendekompresi file log:
gzip -d aliyundoc.com_2018_10_30_000000_010000.gzSetelah mendekompresi file log, file
aliyundoc.com_2018_10_30_000000_010000akan ditampilkan.
Identifikasi dan filter perilaku abnormal
Periksa permintaan
Anda dapat mengidentifikasi permintaan abnormal dengan menganalisis jumlah permintaan dari alamat IP dalam data log offline. Dalam banyak kasus, permintaan abnormal memiliki karakteristik berikut:
Volume permintaan sangat tinggi secara abnormal: Anda dapat menganalisis frekuensi akses dari satu IP sumber. Jika jumlah permintaan dari alamat IP dalam periode waktu tertentu menyimpang signifikan dari nilai normal, kemungkinan terjadi penyalahgunaan transmisi data.
Sejumlah besar permintaan dalam waktu singkat: Anda dapat memeriksa apakah ada lonjakan lalu lintas mendadak atau permintaan periodik abnormal.
Kumpulkan 10 IP teratas yang memulai permintaan paling banyak.
cat [$Log_Txt] | awk '{print $3}' |sort|uniq -c|sort -nr |head -10Catatanawk '{print $3}': mengekstrak kolom ketiga dari file log, yaitu alamat IP. Nilai dipisahkan oleh spasi.sort: mengurutkan alamat IP.uniq -c: menghitung jumlah setiap alamat IP.sort -nr: mengurutkan hasil berdasarkan hitungan dalam urutan menurun.head -n 10: mendapatkan 10 alamat IP teratas yang memulai permintaan paling banyak.[$Log_Txt]: mengganti nama file log. Contoh:aliyundoc.com_xxxxxxx.
Analisis agen pengguna
Anda dapat mengidentifikasi permintaan abnormal dengan menganalisis header User-Agent dalam data log offline. Dalam banyak kasus, header User-Agent abnormal memiliki karakteristik berikut:
Header User-Agent abnormal atau dipalsukan: Banyak alat penyalahgunaan transmisi data menggunakan header User-Agent default atau yang dipalsukan. Anda dapat menyaring header User-Agent yang tidak biasa, mencurigakan, atau kosong untuk dianalisis.
Ekstrak dan kumpulkan header User-Agent.
grep -o '"Mozilla[^"]*' [$Log_Txt] | cut -d'"' -f2 | sort | uniq -c | sort -nr | head -n 10Filter header User-Agent mencurigakan dengan menghapus header User-Agent umum.
grep -v -E "Firefox|Chrome|Safari|Edge" [$Log_Txt]Hitung jumlah baris tempat header User-Agent kosong, yang merupakan jumlah kunjungan.
awk '!/Mozilla/' [$Log_Txt] | wc -lCatatangrep -o: hanya menampilkan konten yang cocok.grep -v -E: menampilkan karakter yang memenuhi kondisi.wc -l: menghitung jumlah kunjungan.
Analisis mode permintaan
Anda dapat mengidentifikasi permintaan abnormal dengan menganalisis jumlah URL permintaan dalam data log offline. Dalam banyak kasus, URL permintaan abnormal memiliki karakteristik berikut:
Kemiripan URL tinggi: Dalam banyak kasus, penyalahgunaan transmisi data melibatkan sejumlah besar URL serupa atau identik. Anda dapat menganalisis URL untuk mengidentifikasi permintaan abnormal.
Persentase tinggi kunjungan ke jenis sumber daya tertentu: Anda dapat menganalisis sumber daya yang sering dikunjungi, seperti gambar, file CSS, dan file JavaScript. Jika ada sejumlah besar kunjungan abnormal ke sumber daya tertentu, kemungkinan terjadi penyalahgunaan transmisi data.
Hitung 10 URL yang paling banyak dikunjungi.
grep -oP '"https?://[^"]+"' [$Log_Txt] | sort | uniq -c | sort -nr | head -n 10
Analisis kode status HTTP
Anda dapat mengidentifikasi permintaan abnormal dengan menganalisis kode status HTTP dalam data log offline. Dalam banyak kasus, kode status HTTP untuk permintaan abnormal memiliki karakteristik berikut:
Persentase tinggi kode status HTTP 4xx atau 5xx: Jika sejumlah besar kode status HTTP 4xx atau 5xx dikembalikan ke alamat IP, alamat IP tersebut mungkin digunakan untuk merayapi konten.
Hitung jumlah setiap kode status HTTP.
awk '{print $9}' [$Log_Txt] | sort | uniq -c | sort -nrKumpulkan 10 alamat IP teratas yang dikembalikan kode status HTTP 400.
grep ' 400 ' [$Log_Txt] | awk '{print $3}' | sort | uniq -c | sort -nr | head -n 10