kaptanmikro1 1
kaptanmikro1
emirhanHCL 1
emirhanHCL
farkmt2official 1
farkmt2official
Hikaye Ekle

Tcpdump Trafik Analizi

  • Konuyu başlatan Konuyu başlatan DN Angel
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 533

Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!

[h=4]Tcpdump Trafik Analizi
star-left-on.gif
star-right-on.gif
star-left-on.gif
star-right-on.gif
star-left-on.gif
star-right-on.gif
star-left-on.gif
star-right-on.gif
star-left-on.gif
star-right-on.gif
[/h]Tcpdump Linux/UNIX sistemlerde de-fakto paket yakalama ve analiz aracıdır. Tcpdump pcap paket yakalama kütüphanesini(libpcap) kullanır ve ağ arabiriminden geçen paketleri (TCP/IP protokollerini) kaydedip, pcap destekli herhangi bir araç kullanarak kaydedilmiş paketleri okuma işine yarar.
Özellikle ağ üzerinden yakaladığı paketleri pcap formatındaki sniffer araçlarının okuyabileceği formatta kaydetme özelliği, yoğun trafiğe sahip ağlarda sorunsuz paket yakalama becerisi tcpdump’ı ağ güvenliği yöneticilerinin vazgeçilmezi kılmaktadır.
Windows için Tcpdump
Tcpdump’ın Windows işletim sistemlerindeki eşdeğeri Windump aracıdır. adresinden indirilecek ikili dosyalar sisteme kurularak tcpdump benzeri kullanım imkanı elde edilebilir.
Tcpdump Kullanımı
Tcpdump klasik Linux/UNIX araçları gibi komut satırından çalışır ve tüm özelliklerini parametre olarak alır. Parametresiz çalıştırıldığında sistemde bulduğu ilk aktif ağ arabirimini dinlemeye alır(root izni varsa*). Tcpdump’ın çeşitli amaçlarla kullanılacak onlarca parametresi vardır ve sıradan bir ağ yöneticisinin bu parametreleri ezberlemesi gereksizdir.
Bu yazı tcpdump’a ait sık kullanılan parametreleri örnekleriyle birlikte açıklayıp konuya yabancı olanlara tcpdump’a giriş niteliğinde bir belge sunmayı amaçlamaktadır.
Tcpdump kullanmaya başilamadan sistem hakkında bilinmesi gereken bir iki husus vardır. Bunlar;
Promiscious mod
Bir makinenin hedefi kendisi olmayan paketleri alabilmesi için ağ arabiriminin promiscious modda olması gerekir. Tüm snifferlar otomatik olarak ağ arabirimini promiscious moda geçirir ve sniffer durdurulduğunda tekrar arabirimi normal moda döndürür.
Arabirimin prosmic modda olup olmadığı ifconfig komutu çıktısında gözükecektir.
# ifconfig
bce0: flags=28902<BROADCAST,PROMISC,SIMPLEX,MULTICAST,PPROMISC> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
Tcpdump komutu çalıştırıldığında ağ arabirimini otomatik olarak promisc moda geçirir ve tcpdump'ı sonlandırdığınızda yine ağ arabirimini promisc moddan çıkarır.
Yetki
Linux/UNIX altında tcpdump programını kullanabilmek için ya root haklarına sahip olmak lazım ya da tcpdump programının suid olarak çalışması lazım
Tcpdump, paketleri kernel'a giriş-çıkış yapmadan yakalar bu sebeple iptables(Linux için) ile yazdığınız kurallar tcpdump'ı etkilemez.
Tcpdump'ın en basit kullanımı parametresiz kullanımdır.

Tcpdump çıktısı ilk bakışta anlaşılır gelmese de çıktıları oluşturan bileşenler tanındıkça çıktılar da anlaşılır olacaktır.
Aşağıda tcpdump için TCP, UDP ve ICMP protokollerine ait çıktılarının bileşenleri açıklanmıştır.
Tcpdump TCP Paket Formatı
Değer
Açıklaması
16:21:24.174
Zaman Damgası
192.168.60.3
Kaynak IP Adresi
34720
Kaynak Port numarası
>
Yön Belirteci
10.10.10.3
Hedef IP Adresi
3389
Hedef Port Numarası
S
TCP Bayrağı (SYN Bayrağı set edilmiş)
2354677536
TCP başlangıç seri numarası (ISN)
2354677536
Bir sonraki byte icin beklenen sıra numarası
(0)
Bu segmentin içerdiği uygulama verisi hesabı
win 5840
Byte cinsinden Window size.
mss 1460
Maximum Segment Size (MSS)
sackOK
Selective acknowledgement
(DF)
Paketin DF(Parçalanmaması) özelliğinde olduğunu

[TD="colspan: 2"][/TD]
Tcpdump UDP Paket Formatı
Değer
Açıklaması
10:20:21.17
Zaman Damgası
172.27.20.4
Kaynak IP Adresi
41197
Source port
>
Yön Belirteci
192.168.60.5
Hedef IP
24
Destination port
udp 300
Byte cinsinden udp datagram boyutu

[TD="colspan: 2"][/TD]
Tcpdump ICMP Paket Formatı
Değer
Açıklaması
10:20:04.92
Zaman Damgası
172.27.20.4
Kaynak IP Adresi
>
Yön Belirteci
192.168.60.3
Hedef IP
icmp: echo request
ICMP mesaj tipi

[TD="colspan: 2"][/TD]
Sık Kullanılan Parametreler
Arabirim Seçimi( -i )
Sistemimizde birden fazla arabirim varsa ve biz hangi arabirimini dinlemesini belirtmezsek tcpdump aktif olan ağ arabirimleri arasında numarası en düşük olanını dinlemeye alır, mesela 3 adet aktif Ethernet ağ arabirimimiz var; eth0, eth1, eth2[Linux için geçerlidir,diğer unix çeşitlerinde farklıdır, şeklinde biz bu makinede tcpdump komutunu yalın olarak kullanırsak tcpdump eth0 arabirimini dinlemeye alacaktır.
Eğer ilk arabirimi değilde istediğimiz bir arabirimi dinlemek istiyorsak -i parametresi ile bunu belirtebiliriz
# tcpdump -i eth2
komutu ile sistemimizdeki 3.Ethernet kartını dinlemeye alıyoruz.
Sistemde bulunan ve tcpdump tarafından dinlemeye alınabilecek arabirimlerin listesini almak için –D parametresi kullanılabilir.

İsim Çözümleme ( -n )
Eğer tcpdump ile yakalanan paketlerin dns isimlerinin çözülmesi istenmiyorsa -n parametresini kullanılabilir. Özellikle yoğun ağlarda tcpdump her gördüğü ip adresi-isim için dns sorgusu göndermeye çalışıp gelen cevabı bekleyeceği için ciddi yavaşlık hissedilir.

burada huzeyfe makinesi 192.168.0.100, erhan makinesi 192.168.0.1 IP adresine sahiptir. İsimlerin yanında protocol ve port numaralarınında isimlere çevrimi de istenmiyorsa -nn parametresini kullanılabilir.
# tcpdump -nn
yukarıda (-n için)verdiğimiz örnekte -n yerine -nn koyarsanız hem isim hemde port çözümlemesi yapılmayacaktır,yani telnet yerine 23 yazacaktır.
-Zaman Damgası Gösterimi ( -t )
Eğer tcpdump'ın daha sade bir çıktı vermesini isteniyorsa ekrana bastığı satırların başındaki timestamp(zaman damgası, hangi paketin hangi zaman aralığında yakalandığını belirtir) kısmı iptal edilebilir.
Çıktılarda timestamp[zaman damgası]leri istenmiyorsa -t parametresi kullanılabilir.
Timestamp li çıktı

Timestamp(Zaman damgası)sız çıktı

Yakalanan Paketleri Kaydetme ( -w )
Tcpdump'ın yakaladığı paketleri ekradan değilde sonradan incelemek üzere bir uygun bir şekilde dosyaya yazması istenirse -w parametresi kullanılabilir. Kaydedilen dosya cap uyumlu olduğu için sadece tcpdump ile değil birçok network snifferi tarafından okunup analiz edilebilir.
# tcpdump -w dosya_ismi
-r /Kaydedilmiş Paketleri Okuma
-w ile kaydedilen paketler -r parametresi kullanılarak okunabilir.
# tcpdump -r dosya_ismi
Not! -w ile herhangi bir dosyaya kaydederken filtreleme yapılabilir. Mesela sadece şu tip paketleri kaydet ya da timestampleri kaydetme gibi, aynı şekilde -r ile paketlerie okurken filtre belirtebiliriz. Bu filtrenin -w ile belirtilen filtre ile aynı olma zorunluluğu yoktur.

Yakalanacak Paket Sayısını Belirleme ( -c )
tcpdump'a -c parametresini vererek ne kadar paket yakalayıp duracağını söyleriz.

Tcpdump, -c sayı ile belirtilen değer kadar paket yakaladıktan sonra çalışmasını durduracaktır.
Yakalanacak Paket Boyutunu Belirleme ( -s )
-s parametresi ile yakalancak paketlerin boyutunu byte olarak belirtilebilir.
#tcpdump –s 1500 gibi. Öntanımlı olarak 96 byte kaydetmektedir.
# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
Detaylı Loglama (-v)
-v parametresi ile tcpump'dan biraz daha detaylı loglama yapmasını istenebilir. Mesela bu parametre ile tcpdump çıktılarını TTL ve ID değerleri ile birlikte edinebilir.

Promisc Moddan Kaçış ( -p )
-p parametresi ile de sniff yaptığımız arabirimin promisc moddan çıkmasını sağlanabilir.
Promisc moddan çıkmak ne sağlar?
Promisc moddan çıkmakla sadece o arabirime gelen ve o arabirimi ilgilendiren paketler işlenir ki bu paketlerde ya broadcast ya da direct o arabirimin adresi olması demektir. Daha çok tcpdump'ın çalıştığı makineye ait bir paket analizi yapmak istediğimiz zaman kullanılabilecek türden bir parametredir.
# tcpdump -p -i eth0
Layer 2 Başlıklarını Yakalama ( -e )
Tcpdump kullanarak ethernet başlık bilgileri de yakalanabilir. Özellikle yerel ağlarda yapılan trafik analizlerinde MAC adresleri önemli bilgiler vermektedir.

BPF(Berkley Packet Filter)
Tcpdump ile gelişmiş paket yakalama için BPF kullanılabilir(sadece X hostunun Y portundan gelen paketleri yakala gibi).
BPF üç ana kısımdan oluşur
Type
Host, net, port parametreleri.
Direction
Src, dst parametreleri.
Protocol
Ether, fddi, wlan, ip, ip6, arp, rarp parametreleri.
Host Parametresi
Sadece belli bir host a ait paketlerin izlenmesini isteniyorsa host parametresi kullanılabilir.
# tcpdump host 10.0.0.21
bu komutla kaynak ya da hedef ip adresi 10.0.0.21 olan paketlerin alınmasını istiyoruz.
dst host (Hedef Host Belirtimi)
dst host ;hedef host olarak belirtilen adrese ait paketleri yakalar,
# tcpdump -i eth0 dst host 10.0.0.1
yukarıdaki komutla makinemizin eth0 arabirimine gelen ve hedefi 10.0.0.1 olan tüm paketler yakalanacaktır.
# tcpdump -i eth0 dst host 10.0.0.1
tcpdump: listening on eth0
10:47:20.526325 10.0.0.21 > 10.0.0.1: icmp: echo request
ile de hedef ip si 10.0.0.1 olan ip adreslerini izlemiş oluyoruz.
src host (Kaynak Host Belirtimi)
src host tanımı ilede kaynak hostu belirterek dinleme yapabiliriz, mesela kaynak hostu 10.0.0.21 olan paketleri (10.0.0.21 makinesinde )dinlemeye alalim.

sadece ip adresi değil host ismide belirtilebilir.
# tcpdump host hotmail.com
dst ve src i aynı komuttada kullanabiliriz.
Örnek:
kaynak ip si 10.1.0.59 hedef hostu 10.1.0.1 olan paketleri izlemek istersek
# tcpdump src host 10.1.0.59 and dst host 10.1.0.1
komutunu verebiliriz.
burada dikkatimizi çeken ufak bir değişiklik oldu. src host ve dst host arasına 'and' geldi, evet tcpdump ile kompleks kurallar yazarken sıkça kullanacağımız kelimelerden biri de 'and' dir, ilerleyen bölümlerde 'and' in yerine hangi dizimler gelebilir onlarıda göreceğiz.
Host parametresi ile de aynı şekilde bir sonuca ulaşabiliriz host parametresi ile kaynak ya da hedef hosttan herhangi biri uygunsa paket yakalanır.
port Parametresi (Port Belirtimi)
Belirli bir portu dinlemek istediğimizde kullanacağımız parametredir. Host gibi src ve dst ön ek alabilir.
src ile kaynak portu dst ile hedef portu belirtilir. dst ya da src ön eki kullanılmazsa hem kaynak hemde hedef portu verilmiş olur.
# tcpdump port 23 ile
Kaynak veya hedef portu 23 olan paketler
# tcpdump dst port 23 ile hedef portu 23 olanlar
# tcpdump src port 23 ile de kaynak portu 23 olan paketler izlemeye alınır.
Aşağıdaki örnekte belirli ip ve belirli port numaralarını içeren paketleri port ve isim çözümleme yapmamasını(-nn)söylüyoruz.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst