original in de Mario M. Knopf
de to en Mario M.Knopf
en to tr Ceyhun Elmas
Mario Linux ile meşgul olmaktan hoşlanır. Özellikle ağ ve güvenlik konularıyla ilgilenir.
"darkstat" [1] bir ağ izleme aracıdır. Bu program ile ağ tarfik analizi yapabilir ve çıkan istatistiki verileri bir html dosyasına aktarabilirsiniz. Bu şekilde sonuçları bir web tarayıcı program (browser) üzerinden inceleyebilirsiniz. Bu aşamada programın yazarı Emil Mikulic, uzun zamandır "ntop" [2] kullanıyor. Fakat bu programın henüz eksikleri var ve bellek kullanımı oldukça kötü. Bu nedenle "darkstat"'ı geliştirmeye karar veriyor. Adreslenmiş istatistikler konaklar arasındaki iletişimi , trafiğin kaynaklarını ve çözümlenmiş iletişim protokllerine alternetif olarak da port numaralarını kullanıyor. Program ile İleri düzeyde diagram ve zaman aralıklarıyla toplanmış analiz edilmiş paketler elde etmek olanaklı.
Programı [3] altında bulabilirsiniz. Bir diğer yol da yansı yöreleri kullanmanız : [4] ve [5]. Eğer Debian için arıyorsanız [6]'ya bakın.
"darkstat" da diğer ağ izleme araçları gibi "libpcap"- [7] dosyasına gerek duyar. Bu paketlerin yakalanmasında ağ aygıtları tarafından analiz edilmesinde kullanılan bir kitaplıktır. "darkstat" yüklemek için bu kitaplığa gerek duyuyoruz. library.
Sonra bilinen üçlü sıryla derleyin : "./configure && make && make install". Burada önemli olan bu son komutun root yetkileriyle verilmesi.
"darkstat" açılışta bazı parametreler sorar. Bununla birlikte herhangi bir seçenek belirlemeden de başlanabilir. Programın çalışabilmesi için root olarak ya da "sudo"-yetkileriyle başlatılmalıdır [8]:
neo5k@proteus> sudo /usr/local/sbin/darkstat Eminiz ki bağlı olduğunuz sistem yöneticisinden iki konuda şu önemli uyarıyı almışsınızdır : #1) Diğer kullanıcıların haklarına saygı. #2) Bir komut vermeden önce birkez daha düşünmek. Password:
kullanıcı adı ve şifre girdikten sonra , "darkstat" bir takım mesajlar vererek açılır:
darkstat v2.6 using libpcap v2.4 (i686-pc-linux-gnu) Firing up threads... Sniffing on device eth0, local IP is 192.168.1.1 DNS: Thread is awake. WWW: Thread is awake and awaiting connections. WWW: You are using the English language version. GRAPH: Starting at 8 secs, 51 mins, 22hrs, 30 days. Can't load db from darkstat.db, starting from scratch. ACCT: Capturing traffic... Point your browser at http://localhost:666/ to see the stats.
Bu şekilde açıldıktan sonra açılış parametrelerine göz atabiliriz .
Başta söylediğimiz gibi "darkstat" açılışda bazı seçenekler sunar :
"-i" seçeneğiyle izlecek aygıtı girebilirsiniz.
darkstat -i eth1
Ayrı bir değer vermezseniz "darkstat" 666 portunu kullanır. Bunu "-p" komutuyla değiştirebilirsiniz:
darkstat -p 8080
Belli bir portu bir arayüze bağlamak için "-b" seçeneği kullanılabilir. Örnkte lokal adres kullanılıyor :
darkstat -b 127.0.0.1
DNS-çözme "-n" parametresi ile sağlanır. Dışarıya açık bir hatta bulunmayan kullanıcalar için bu faydalı olabilir.
darkstat -n
"-P" ile "darkstat" 'ı "promiscuous mode" arayüzü içine konulmasını sağlayabilirsiniz. Bununla birlikte bu durum tavsiye edilmez çünkü "darkstat" yalnızca izlenen ağ aygıtlarının MAC'larına adreslenmiş paketleri yakalar ve analiz eder. Diğer tüm paketler geri çevrilir.
darkstat -P
"-l" parametresi yerel ağ'da SNAT'i etkin kılmaktadır. SNAT kaynak ağ adresinin dönüştürülmesi anlamına gelmekte ve router'in, istemcinin yerel IP'sini kendi dişarıya açık veya dışarıda bilinen (tanınan) IP'si ile değiştirmesi anlamına gelmektedir. Böylece, ağ paketlerini sanki kendisi gonderiyormuş gibi davranmaktadır.
darkstat -l 192.168.1.0/255.255.255.0
"-e parametresi ile belli periyotlarla toplanmış ve program çalıştırıdığı andan itibaren analiz edilmiş paketlerle ilgili açıklamalar ayrıca sizin uygulayacağınız filitrelerle daha gelişmiş diyagramlar elde edebilirisiniz.
darkstat -e "port not 22"
2.5 sürümü ile "darkstat" açılış terminalinden ayırabilirisiniz böylelikle bir daemon gibi çalışır.
darkstat --detach
"-d" ile veritabanı sizin beirlediğiniz dizine oluşturulur.
darkstat -d /directory
"-v" parametresi "verbose mode" içindir :
darkstat -v
Eğer "darkstat"'ın sürümüyle ilgileniyorsanız bu parametreyi deneyin : "-h".
darkstat -h
"darkstat"'ı başlattıktan sonra "http://localhost:666/" adresine baktığınızda bazı istatistikleri ve grafikleri göreceksiniz :
"hosts" kısımında iletişimdeki tüm konakları görebilirsiniz. Bu makineler oluşturdukları ağ trafiğine ya da IP adreslerine göre sıralanırlar bu sayede hangi makinanın en fazla trafiğe yol açtığını kolayca belirleyebilirsiniz. Burada sorumlu olan sistem yöneticisi kolayca problemi belirleyebilir aşağıdaki resimde IP adresi "192.168.1.203" olan bir konak görünüyor.
Illustration 2: darkstat hosts
3. resimde istemci ve sunak arasındaki uygulamalar tarafından kullanılan port numaralarını görebilirsiniz. Aşağıdaki port numaralarından ilgili uygulamarı kolayca tanıyabilirisiniz : : 21 (FTP), 22 (SSH), 139 (Samba), 631 (CUPS), 666 (darkstat), 3128 (Squid). Bununla birlikte "dhcpd" ve "dnsmasq" görünür değildir çünkü bu servisler "UDP" kullanır. 1024'den daha büyük olan diğer portlar istemci uygulamalar tarafından kullanılır. Proxy sunucusu "squid" ayrı tutulur çünkü benimsenmiş değer olarak 3128 kullanır. Tüm portları IANA [9] üzerinden listeleyebilirisiniz ya da , "/etc/services" dosyasına bakabilirsiniz.
Illustration 3: darkstat ports
Aşağıdaki resimde dosya iletim işlemi için kullanılan "ICMP", "TCP" ve "UDP" protokollerini görüyorsunuz. Eğer protokollere ilgi duyuyorsanız bu RFC'ler faydalı olacaktır [10], [11] ve [12].
Illustration 4: darkstat protocols
Son resimde toplanmış olan zaman aralıkları ve grafikler görüyorsunuz :
Illustration 5: darkstat graphs
Burada "darkstat" 2.6 sürümü ele alındı. Bu sürüm ne yazıkki "pthreads"'e bağımlı. Bu yüzden diğer ortamlarda problemler olabiliyor (ör. NetBSD) Bu nedenle program yazarı Emil Mikulic bu sürümü daha fazla geliştirmemeye karar verdi ve sürüm 3.x üzerine çalışmaya başladı.
Yeni sürümde paketlerin çoklu arayüzlerden yakalanması, yapılandırma dosyası oluşturma, diagramların geliştirilmesi, (RRDtool ile [13]), değiştirilebilinir CSS-file, admin login ve veritabanının web arayüzüne göre düzenlenmesi gibi özellikler yer alıyor.
"darkstat" özellikle sunucu tabanlı sistemlerdeki ağ trafik analizi için hızlı ve kullanışlı bir programdır. Genelde problemsiz olarak çalışır. Yeni sürümüde bir çok yeni özellik geliştiriliyor.
[1] http://purl.org/net/darkstat [Home of darkstat]
[2] http://www.ntop.org/ [Home of ntop]
[3] http://dmr.ath.cx/net/darkstat/darkstat-2.6.tar.gz
[Download]
[4] http://yallara.cs.rmit.edu.au/~emikulic/_/darkstat-2.6.tar.gz
[Download Mirror #1]
[5] http://neo5k.de/downloads/files/darkstat-2.6.tar.gz
[Download Mirror #2]
[6] http://ftp.debian.org/debian/pool/main/d/darkstat/
[Debian Packages]
[7] http://www.tcpdump.org/ [Home of libpcap]
[8] http://www.courtesan.com/sudo/ [Home of sudo]
[9] http://www.iana.org/assignments/port-numbers
[IANA Port-Numbers]
[10] ftp://ftp.rfc-editor.org/in-notes/rfc792.txt
[RFC 792 - ICMP]
[11] ftp://ftp.rfc-editor.org/in-notes/rfc793.txt
[RFC 793 - TCP]
[12] ftp://ftp.rfc-editor.org/in-notes/rfc768.txt
[RFC 768 - UDP]
[13] http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
[Home of RRDtool]