Ağ trafiği üzerinden gerçekleştirilebilecek adli bilişim incelemelerinde kullanılabilecek uygulamalardan biri olarak daha önce tcpdump’ı ele almış ve bu uygulama üzerinden belirli kriterlere uyan ağ trafiğinin nasıl yakalanacağına değinmiştik. İlgili makaleyi merak edenler veya yeniden okumak isteyenler “Network Forensics’de Tcpdump Kullanımı” başlıklı bu yazıyı http://halilozturkci.com/network-forensicsde-tcpdump-kullanimi/ adresinden okuyabilirsiniz. Şimdiki makalemizde ise yakalanan bu ağ trafiği üzerinde temel manada analizler yapmamıza imkan tanıyan Tshark uygulamasına değineceğiz.
Wireshark’ı geliştiren ekip bir çok yardımcı uygulama da geliştirerek bizlerin hizmetine sunmuştur ve bu uygulamaların başında tshark gelir. Tshark için Wireshark’ın terminal ekranından çalıştırılan versiyonudur diyebiliriz. Wireshark’ın grafik arayüzüne ihtiyaç duyulmayan durumlarda yada böyle bir imkanın olmadığı durumlarda adli analiz için sorunsuzca kullanılabilir.
Tshark da aynen tcpdump gibi paketleri libpcap formatında yakalar. http://www.wireshark.org/docs/man-pages/tshark.html adresinden TShark kullanımının detaylarına ulaşılabilir. Aşağıda Tshark’ın örnek bir kaç kullanımını görebilirsiniz.
FIN yada SYN bitleri set edilmiş TCP paketlerini yakalamak için;
#tshark –i eth0 -f “tcp[13] = 0x02 or tcp[13] = 0x01″
1812 nolu UDP portuna ait paketleri yakalamak için;
#tshark -f “udp port 1812″ –i eth0 -w /tmp/capture.cap
Display filter kullanarak daha önceden yakalanan ve bir pcap dosyasına kaydedilmiş paketlerin içinden 192.168.0.1’e gelen ve giden paketleri görüntülemek için
#tshark -R “ip.addr == 192.168.0.1” -r /tmp/capture.cap
Tshark’da kullanabileceğiniz filtre tanımlarına örnek alarak aşağıdaki tabloda yer alan tanımları görebilirsiniz.
| Ethernet adresi 00:08:15:00:08:15 olan bilgisayara ait paketler | eth.addr == 00:08:15:00:08:15 |
| ARP protokolüne ait paketler | eth.type == 0×0806 |
| Ethernet ağlardaki broadcast paketler | eth.addr == ff:ff:ff:ff:ff:ff |
| ARP haricindeki diğer protokoller | not arp |
| Sadece IP paketleri | ip |
| 192.168.0.1 IP’sine sahip bilgisayara ait paketler | ip.addr == 192.168.0.1 |
| 192.168.0.1haricindeki bütün IP adresleri | !(ip.addr == 192.168.0.1) |
| Sadece IPX paketleri | ipx |
| Sadece TCP trafiği | tcp |
| Sadece UDP trafiği | udp |
| 53 numaralı UDP portunu kullanan trafiğin haricindeki bütün trafik | !(tcp.port == 53) |
| “TCP veya UDP protokolünü kullanan ve portu 80 olan paketler | tcp.port == 80 || udp.port == 80 |
| Sadece HTTP trafiği | http |
| ARP ve DNS trafiğinin haricindeki bütün trafikler | not arp and not (udp.port == 53) |
| 192.168.0.1’e gelen veya 192.168.0.1’den giden HTTP veya SMTP olmayan bütün trafik | not (tcp.port == 80) and not (tcp.port == 25) and ip.addr == 192.168.0.1 |
Tshark bize ağ trafiği üzerinde bir takım istatistiki bilgileri elde etmek adına analiz yapma imkanı da sunar. Tcpdump’dan farklı olarak statefull çalışan tshark canlı trafik hakkında yada daha önceden yakalanmış trafik hakkında istatistiki bilgileri elde etmemize yarayan parametreleri de vardır. Örnek parametreler aşağıda gösterilmiştir.
istatistik (-z …)
- protokol dağılımı (-qz io,phs)
- bağlantı detayları (conversations) (-qz conv,eth , -qz conv,tcp)
- i/o istatistikleri (-qz io,stat,10,ip,icmp,udp,tcp)
Aşağıdaki ekran görüntülerinde bu parametrelerin kullanımına ilişkin örnek çıktılar yer almaktadır.



Yukarıdaki örneklerin haricinde Tshark ile detaylı filtreler yardımıyla çok daha spesifik ağ trafiklerini elde etme&analiz etme imkanına sahibiz. Aşağıdaki iki örnek sanırım bu konuda oldukça zihin açıcı olacaktır. İlk örnekte elimizdeki pcap dosyası içinde yer alan trafiği analiz ederek en çok ziyaret edilen 10 URL’in hangileri olduğunu bulmaya çalışacağız. Kullanacağımız filtre şu şekilde olacaktır.
- tshark -r capture.pcap http.request -T fields -e http.host -e http.request.uri | sed -e ‘s/?.*$//’ | sed -e ‘s#^\(.*\)\t\(.*\)$#http://\1\2#’ | sort | uniq –c | sort -rn | head
Bu filtrenin sonucunda elde edeceğimiz çıktıya ilişkin örnek bir ekran görüntüsü aşağıda yer almaktadır.

Örnek olarak kullanabileceğimiz ikinci gelişmiş filtre ile elimizdeki pcap dosyası içinde yer alan HTTP Response kodlarını ve bunların adetlerini tespit etmeye çalışacağız. Bunun için kullanacağımız filtre şu şekilde olacaktır.
- tshark -r capture.pcap -T fields -e http.response.code “http.response” | sort | uniq –c
Bu filtrenin kullanımı sonucunda karşılacağımız çıktıya ilişkin örnek ekran görüntüsü aşağıda yer almaktadır.

Yukarıda temel kullanım şekillerini ele aldığımız tshark uygulaması ağ üzerinden adli bilişim incelemesi gerçekleştirecek bütün uzmanların alet çantasında mutlaka yer alması gereken bir uygulamadır ve adli bilişim uzmanları tarafından bütün özellikleriyle kullanılabilecek derecede iyi bilinmesini şiddetle tavsiye ediyoruz.



