darkstat - bir ağ trafik analisti

ArticleCategory: [Choose a category, translators: do not translate this, see list below for available categories]

System Administration

AuthorImage: [Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in de Mario M. Knopf

de to en Mario M.Knopf

en to tr Ceyhun Elmas 

AboutTheAuthor:[A small biography about the author]

Mario Linux ile meşgul olmaktan hoşlanır. Özellikle ağ ve güvenlik konularıyla ilgilenir.

Abstract:[Here you write a little summary]

Bu yazı bir ağ trafik analiz programı "darkstat" 'ı anlatıyor ve programın yüklenmesi ve kullanımıyla ilgili bilgiler veriyor.

ArticleIllustration:[One image that will end up at the top of the article]

[Illustration]

ArticleBody:[The main part of the article]

Giriş

"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ı.

Yükleme

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.

Başlatma

"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 .

Açılış seçenekleri

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

Kullanım

"darkstat"'ı başlattıktan sonra "http://localhost:666/" adresine baktığınızda bazı istatistikleri ve grafikleri göreceksiniz :

darkstat main
Illustration 1: darkstat main

"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.

darkstat hosts
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.

darkstat ports
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].

darkstat protocols
Illustration 4: darkstat protocols

Son resimde toplanmış olan zaman aralıkları ve grafikler görüyorsunuz :

darkstat graphs
Illustration 5: darkstat graphs

Gelen Yenilikler

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.

Sonuç

"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.

Bağlantılar

[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]