
Analiz yöntemlerinin temelinde pcap verisi yer almaktadır. 1987 yılında Lawrence Berkeley National Laboratory tarafından ortaya konulan bu format, bir çok farklı ağ tabanlı uygulama tarafından okunabilmekte/yazılabilmektedir.
Sistem üzerinde tcpdump bulunmuyorsa
# apt-get install tcpdump
komutu ile kurulum gerçekleştirilebilir.
Tcpdump çıktısının temel olarak yapısı aşağıdaki gibidir:
[zaman_damgası] [protokol] [kaynak IP].[kaynak port] > [hedef IP].[hedef port]
-w parametresi ile dosyaya yazmak için
# tcpdump -w kayit.pcap
Görsel gösterim için Wireshark'tan yararlanılabilir.
Pcap dosyası içindeki paket sayısını bulmak için:
# tcpdump -nn -r kayit.pcap | wc -l
I/O yönlendirme ile cut aracı ile dosya içerisindeki kaynak IP adresi ve portu aşağıdaki gibi süzülebilir:
# tcpdump -nn -r kayit.pcap | cut -d " " -f3
Çıktıdan 2.katman trafiğini hariç tutmak için tcpdump'a protokol süzgeci girilebilir.
# tcpdump -nn -r kayit.pcap 'tcp or udp' | cut -d " " -f3
Port bilgisini de hariç tutarak sadece IP adresini görmek için
# tcpdump -nn -r kayit.pcap 'tcp or udp' | cut -d " " -f3 | cut -d "." -f1-4
Bu noktada sadece IP adreslerini süzmek için aşağıdaki gibi bir düzenli ifade ile grep komutu kullanılabilir:
grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
Çıktıdaki birbirini tekrar eden kayıtları gözardı etmek ve sıralamak için sort ve uniq komutları kullanılabilir.
# tcpdump -nn -r kayit.pcap 'tcp or udp' | cut -d " " -f3 | cut -d "." -f1-4 | sort | uniq
sort komutu -u parametresi ile uniq'in yaptığı işlevi görebilmektedir.
Belirlenen IP adreslerine dair kaç adet kayıt bulunduğunu görmek için -c parametresi ile uniq komutu çalıştırılır ve çıktı büyükten küçüğe tekrar sıralanır.
# tcpdump -nn -r kayit.pcap 'tcp or udp' | cut -d " " -f3 | cut -d "." -f1-4 | sort | uniq -c | sort -nr
Sadece bağlantı kurmaya çalışan (SYN bayrağı ayarlanmış) IP adreslerinin hedef aldığı portların belirlenmesi için tcp[13]=2 filtresinden yararlanılabilir:
# tcpdump -nn -r kayit.pcap 'tcp[13]=2' | cut -d " " -f5 | cut -d "." -f5 | sort | uniq -c | sort -nr
SMTP, FTP, DNS gibi yükünü düz metin olarak ileten protokollerin içeriklerinin gösterimi için -A parametresi kullanılabilir.
# tcpdump -Ann -r kayit.pcap 'dst port 21 or dst port 25 or dst port 53 or dst port 80'
Çıktı üzerinden istenilen içerik grep ile aranabilir. Örneğin 80.port süzüldükten sonra
grep -Ei 'user-agent | sort | uniq -c | sort -nr | head 10
komutuna yönlendirilirse en fazla GET isteğinde bulunan 10 User-Agent'ı görülebilir.
Bazı sık kullanılan tcpdump filtreleri
# tcpdump net 1.2.3.0/24
# tcpdump icmp
# tcpdump port 3389
# tcpdump udp and src port 53 //udp port 53 filtrele
# tcpdump 'src 10.0.2.4 and (dst port 3389 or 22)'
# tcpdump -ni eth1 -w file.cap not port 22
# tcpdump -ni eth1 -s 150 -c 10 not port 22
# tcpdump -r file.cap
# tcpdump -e -n not port 22 //Ethernet başlığını görüntüle
Tcpdump için faydalı bir cheatsheet bağlantıdan temin edilebilir.
0 comments:
Post a Comment