Cara Mengekstrak Alamat IP Unik dari Fail Log Apache di Linux

Cara Mengekstrak Alamat IP Unik dari Fail Log Apache di Linux

Soalan

Bagaimana saya mengekstrak semua alamat IP dari log httpd saya. Saya hanya perlu mengeluarkan alamat IP unik dari fail log Apache saya.

Berikut adalah entri log Apache sampel saya:

Xxx.64.70.Xxx - - [26/mar/2011: 00: 28: 23 -0700] "Dapatkan/http/1.1 "403 4609"-"" Mozilla/5.0 (x11; u; linux i686; en-us) applewebkit/534.16 (khtml, seperti tokek) krom/10.0.648.204 Safari/534.16 " 

Jawapan

Setelah format entri log Apache yang telah anda sediakan, cara paling mudah untuk mengekstrak di alamat IP dari entri log Apache seperti ini adalah menggunakan kombinasi perintah AWK, Susun dan Uniq. Pertama kita perlu mendapatkan senarai panjang alamat IP. Ini boleh dilakukan dengan perintah awk:

$ awk 'cetak $ 1' apache_log 

Langkah seterusnya ialah menyusun alamat IP dengan arahan jenis:

$ AWK 'Print $ 1' APACHE_LOG | menyusun 

Dan akhirnya kita hanya mendapat alamat IP yang unik dengan mengalirkan output perintah di atas ke Uniq:

$ AWK 'Print $ 1' APACHE_LOG | Susun | uniq 

Ini akan membuat senarai panjang alamat IP pendek, masing -masing pada baris berasingan. Sekiranya anda berhasrat untuk mengira pelawat unik di laman web anda, hanya akan mengalihkan output ke WC -L.

$ AWK 'Print $ 1' APACHE_LOG | Susun | Uniq | WC -L 

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Panduan Penyelesaian Masalah Umum GNU/Linux untuk Pemula
  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 2
  • Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 1
  • Skrip bash: Operasi aritmetik
  • Cara Mengkonfigurasi Samba Server Kongsi di Ubuntu 22.04 Jammy ..
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Cara memformat cakera di linux
  • Fail Konfigurasi Linux: 30 teratas yang paling penting