KULLANICI ADI : ŞİFRE Şifremi Unuttum*

Anasayfa İLLEG4L BANK KREDİ SATIN AL İLLEG4LİZM RAP Sub Domain Bulucu Arama Yap Yeni Konular Bugünki Konular

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Standart "httpd.conf" Dosyasının Parse Edilmesi
Konu : Standart "httpd.conf" Dosyasının Parse Edilmesi - 04.06.2016, 23:15
Mesaj: #1
AWK ile "httpd.conf" Dosyasının Parse Edilmesi

Bu tutorial'da, sunucuda barınan sitelerin domainleri, web root yolları hakkında veriler içeren httpd.conf dosyasını parse edip daha temiz bir veri elde etmek için AWK aracının kullanımını anlatacağım.


AWK nedir? Nasıl çalışır?

Tanımıyla başlayalım:

AWK, genellikle bir veri içerisinde istediğiniz verileri ayıklayıp istediğiniz formatta düzenlemek için kullanılır.

AWK girdileri bir "veri tablosu" olarak kabul eder. Bu yüzden, bir dosyadaki her bir satırı bir "tablo satırı", her kolonu bir "veri hücresi" olarak düşebiliriz. "Fields Seperators" (FS) kolonları veri hücrelerine ayırmak için kullanılır. Aksini belirtmedikçe bu karakter "beyaz boşluk"tur. 

Örneğin parse edilecek bir çıktı elde edelim: "ls -l"

Kod:
# ls -l
total 6
-rw-r--r-- 1 ryland wheel 767 Jun 6 00:04 .cshrc
-rw------- 1 ryland wheel 276 Nov 23 10:16 .history
-rw-r--r-- 1 ryland wheel 248 Jun 6 00:04 .login
If we use that result in AWK as input, we analyze a data-table that has 4 rows. 
Eğer bu veriyi AWK'ye verirseniz, 4 satırlı bir veri tablosu olarak analiz eder.

AWK kullanırken, her satırda "Number of Fields" (NS) tekrar hesaplanır. Yani bu örnekte, ilk satırda "Number of Row" (NR) 1 iken, NF 2'dir. (Boşluk ile ayrıldığını hatırlayın.)

NOT: Numaralama 1'den başlar, 0'dan değil.

Yani:

NR = 1, NF = 2
NR = 2, NF = 9

AWK Kullanımı:

AWK'yi iki şekilde kullanabiliriz.

İlki "command-line" üzerinde kulanımıdır. "cat 1.txt | awk '{print $1}' " gibi. Bu 1.txt'deki her satırın ilk kolonunu verir.

İkinci kullanım ise AWK kodlarını bir dosya içerisine koymaktır. Bu daha okunabilir bir kodlama sağlar.

Örneğin, aşağıdaki kodları "hc.awk" dosyasına koyun.

Kod:
{
print $1
}
Sonra şu şekilde çalıştırın: "cat 1.txt | awk -f hc.awk".

Göreceğiniz gibi çıktı ilki ile aynı olacak.

"httpd.conf" dosyası

Bu dosya Apache serverının ayarlarını tutar. Bu yüzden sunucuda barınan siteler bu dosya altında "Virtual Host" tagleri arasında görülebilir.

"httpd.conf" Örneği

Kod:
<VirtualHost 13.1.1.30>
ServerName foo.net
ServerAdmin [email protected]
DocumentRoot "/webspace/hc8resadmin/foo/foo.net/www/html"
ServerAlias http://www.foo.net
ErrorLog /webspace/hc8resadmin/foo/foo.net/log/httpd/error_log
CustomLog /webspace/hc8resadmin/foo/foo.net/log/httpd/access_log combined
<IfModule mod_php5.c>
AddHandler application/x-httpd-php .php
</IfModule>
<Directory "/webspace/hc8resadmin/foo/foo.net">
AllowOverride All
php_admin_value open_basedir "/webspace/hc8resadmin/foo/foo.net/:/tmp/"
</Directory>
<Directory "/webspace/hc8resadmin/foo/foo.net/www">
</Directory>
<Directory "/webspace/hc8resadmin/foo/foo.net/www/html">
AddHandler cgi-script cgi pl
Order Allow,Deny
Allow from "All"
Options -Indexes +ExecCGI
</Directory>
<Directory "/webspace/hc8resadmin/foo/foo.net/www/cgi-bin/">
AddHandler cgi-script cgi pl
Order Allow,Deny
Allow from "All"
Options -Indexes +ExecCGI
</Directory>
ScriptAlias /cgi-bin/ "/webspace/hc8resadmin/foo/foo.net/www/cgi-bin/"
DirectoryIndex index.php default.html default.htm default.asp default.aspx index.htm index.html index.cfm index.asp index.aspx awstats.pl
Redirect "/admin" "http://202.88.238.242:8787"
<Directory "/webspace/hc8resadmin/foo/foo.net/special/phpMyAdmin">
AddHandler cgi-script cgi pl
Order Allow,Deny
Allow from "All"
Options -Indexes +ExecCGI
</Directory>
Alias /MySQLAdmin "/webspace/hc8resadmin/foo/foo.net/special/phpMyAdmin"
</VirtualHost>
"DocumentRoot" web-root yoluna, "Server Alias" ise domain ismine referans eder.

"httpd.conf" Dosyasının Parse Edilmesi:

"httpd.conf" dosyasındaki tüm sitelerin web-root yollarını almak istiyoruz. AWK kullanmadan önce, "Document Root" içeren satırları bulmak için "grep" komutunu kullanabiliriz. Ben "httpd.conf" dosyasını "1.txt" olarak kopyaladım.

Deneyelim:

Kod:
[email protected] ~/JoaK/Temp $ cat 1.txt | grep DocumentRoot | head -10
DocumentRoot "/var/www/html"
DocumentRoot "/asianet/www/html"
DocumentRoot "/webspace/hc8resadmin/bl**/st**.in/www/html"
DocumentRoot "/webspace/hc8resadmin/ra**/ra**.com/www/html"
DocumentRoot "/webspace/hc8resadmin/ka**/ka**.edu.in/www/html"
DocumentRoot "/webspace/hc8resadmin/jo**/di**.net/www/html"
DocumentRoot "/webspace/hc8resadmin/bl**/fo**.in/www/html"
DocumentRoot "/webspace/hc8resadmin/bi**/k*.biz/www/html"
DocumentRoot "/webspace/hc8resadmin/ma**/pi**.org/www/html"
DocumentRoot "/webspace/hc8resadmin/ja**/sa**.com/www/html"
Bu komutu açıklayalım:

Öncelikle "cat 1.txt" ile dosyayı okuduk ve "grep DocumentRoot" ile gereksiz satırları eledik. Son komutu ise çok uzamasın diye çıktıyı 10 satıra indirgemek için kullandım.

"|" işareti önceki komutun çıktısını bir sonrakine aktarmak için kullanılır.

Evet, henüz AWK kullanmadık. Web-root yollarını elde etmek için kullanacağız.

Our new commands:

Kod:
[email protected] ~/JoaK/Temp $ grep DocumentRoot 1.txt | head -10 | awk '{print $2}'
"/var/www/html"
"/asianet/www/html"
"/webspace/hc8resadmin/bl**/st**.in/www/html"
"/webspace/hc8resadmin/ra**/ra**.com/www/html"
"/webspace/hc8resadmin/ka**/ka**.edu.in/www/html"
"/webspace/hc8resadmin/jo**/di**.net/www/html"
"/webspace/hc8resadmin/bl**/fo**.in/www/html"
"/webspace/hc8resadmin/bi**/k*.biz/www/html"
"/webspace/hc8resadmin/ma**/pi**.org/www/html"
"/webspace/hc8resadmin/ja**/sa**.com/www/html"
" awk '{print $2}' ": AWK'nin ikinci kolonu yazdırmasını sağladık yani "web-root yollarını".

Dizinleri çektik. Tırnakları editörle veya "sed" komutuyla temizleyebiliriz:

Kod:
grep DocumentRoot 1.txt | head -10 | awk '{print $2}' | sed -e 's/"//g'

Bu dizinleri de indexleri kopyalayacak bir bash, perl veya python betiği oluşturmak için kullanabilirsiniz.

WWW Alıntı ile Cevapla


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
hd porno antalya escort türk ifşa porno izle türk ifşa porno samsun escort izmir escort ataşehir escort türk ifşa hd porno