Tshark İle Network Üzerinden Adli Analiz

Tshark İle Network Üzerinden Adli Analiz
[EXHIBIT_A] Featured evidence

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.

DATA_TABLE
Ethernet adresi 00:08:15:00:08:15 olan bilgisayara ait paketlereth.addr == 00:08:15:00:08:15
ARP protokolüne ait paketlereth.type == 0×0806
Ethernet ağlardaki broadcast paketlereth.addr == ff:ff:ff:ff:ff:ff
ARP haricindeki diğer protokollernot arp
Sadece IP paketleriip
192.168.0.1 IP’sine sahip bilgisayara ait paketlerip.addr == 192.168.0.1
192.168.0.1haricindeki bütün IP adresleri!(ip.addr == 192.168.0.1)
Sadece IPX paketleriipx
Sadece TCP trafiğitcp
Sadece UDP trafiğiudp
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 paketlertcp.port == 80 || udp.port == 80
Sadece HTTP trafiğihttp
ARP ve DNS trafiğinin haricindeki bütün trafiklernot 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 trafiknot (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.

exhibit_viewer.exe
tshark-01
[EXHIBIT] tshark-01

exhibit_viewer.exe
tshark-02
[EXHIBIT] tshark-02

exhibit_viewer.exe
tshark-03
[EXHIBIT] tshark-03

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.

exhibit_viewer.exe
tshark-04
[EXHIBIT] tshark-04

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

exhibit_viewer.exe
tshark-05
[EXHIBIT] tshark-05

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.

AUTHOR
Halil Öztürkci

Halil Öztürkci

Cybersecurity expert with 25 years of hands-on experience across the full attack-defense spectrum.

I've spent my career on both sides of the battlefield—investigating breaches through digital forensics, hunting APT groups through threat intelligence, building and leading security operations, dissecting malware, and executing red team engagements. Now I'm focused on the next frontier: LLM security, AI red teaming, and building secure AI/ML pipelines.

From incident response to adversary simulation, from SOC architecture to AI-powered threat detection—I decode complex security challenges and translate them into actionable defense.

enjoyed this? get more like it.