Ağ Trafiği Analizi
Yağız Eren Kotan · @yagizdll
Bedirhan İhtiyar · @acegladd
Giriş
Ağ trafiği analizi; siber saldırıları, kötü amaçlı yazılımları ve yetkisiz erişim girişimlerini tespit etmek açısından ağ güvenliğinde önemli bir yere sahiptir. Ağ üzerindeki veri akışının incelenmesi sayesinde şüpheli davranışlar ve olası güvenlik tehditleri daha erken fark edilebilir. Bunun yanında ağ trafiği analizi yalnızca güvenlik amacıyla değil, performans sorunlarının tespit edilmesi için de kullanılır. Ağdaki yoğunluklar, veri darboğazları, gecikmeler ve bağlantı problemleri analiz edilerek sistem yöneticilerine ağın genel durumu hakkında görünürlük sağlanır. Bu sayede hem ağ performansının iyileştirilmesi hem de olası veri sızıntıları ve güvenlik ihlallerine karşı daha güçlü bir savunma oluşturulması mümkün olur.
Temel Ağ Protokolleri
DHCP (Dynamic Host Configuration Protocol)
DHCP, bir ağa bağlanan cihazlara otomatik olarak IP adresi ve temel ağ ayarlarını atayan protokoldür. Bu sayede IP adresi, ağ geçidi veya DNS sunucusu gibi bilgilerin her cihaz için manuel olarak yapılandırılması gerekmez.
Bir cihaz ağa bağlandığında DHCP sunucusu genellikle şu bilgileri sağlar:
- IP Address: Cihazın ağ üzerindeki adresidir.
- Subnet Mask: Cihazın hangi ağda bulunduğunu ve ağ sınırlarını belirler.
- Default Gateway: Cihazın yerel ağ dışındaki ağlara ulaşmak için kullandığı ağ geçididir.
- DNS Server: Alan adlarının IP adreslerine çevrilmesini sağlayan DNS sunucusudur.
DHCP Nasıl Çalışır?
DHCP işlemi genellikle DORA olarak adlandırılan dört temel adımda gerçekleşir:
- DISCOVER: Cihaz ağa bağlandığında DHCP sunucusu aramak için yayın mesajı gönderir.
- OFFER: DHCP sunucusu, cihaza kullanabileceği bir IP adresi ve diğer ağ ayarlarını teklif eder.
- REQUEST: Cihaz, sunucunun teklif ettiği IP adresini kullanmak istediğini bildirir.
- ACK: DHCP sunucusu isteği onaylar ve IP adresini cihaza tahsis eder.

ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol), yerel ağ içerisinde bir IP adresine karşılık gelen MAC adresini bulmak için kullanılan protokoldür. Bir cihaz, aynı ağdaki başka bir cihaza veri göndermek istediğinde hedefin IP adresini bilse bile Ethernet üzerinden iletişim kurabilmek için MAC adresine de ihtiyaç duyar. ARP, IP adresi ile MAC adresi arasındaki eşleşmeyi sağlar.
ARP Nasıl Çalışır?
- Cihaz, hedef IP adresine veri göndermek ister ancak hedefin MAC adresini bilmez.
- Ağ üzerinde bir ARP Request mesajı broadcast olarak gönderilir. Örneğin:
192.168.1.5 adresi kimde? - Bu IP adresine sahip cihaz bir ARP Reply göndererek kendi MAC adresini bildirir.
- Gönderen cihaz, öğrendiği IP-MAC eşleşmesini ARP önbelleğine (ARP cache) kaydeder.
- Sonraki iletişimlerde aynı eşleşme tekrar gerektiğinde doğrudan bu kayıt kullanılabilir.
Her iletişim öncesinde ARP sorgusu yapmak gereksiz ağ trafiği oluşturacağından, cihazlar öğrendikleri IP-MAC eşleşmelerini belirli bir süre boyunca ARP tablosunda saklar.
ARP tablosunu görüntülemek için komut satırında aşağıdaki komut kullanılabilir:
arp -aDNS (Domain Name System)
DNS (Domain Name System), internet üzerindeki alan adlarını IP adreslerine çeviren dağıtık bir isim çözümleme sistemidir. Bu sayede kullanıcılar, hatırlanması zor IP adresleri yerine google.com gibi daha kolay hatırlanabilir alan adlarını kullanabilir.
DNS Bileşenleri
- DNS Resolver: Kullanıcının gönderdiği alan adı sorgusunu alır ve gerekli DNS sunucularıyla iletişim kurarak IP adresini bulmaya çalışır.
- Root Name Server: DNS hiyerarşisinin en üst seviyesinde yer alır. İstenen alan adının hangi TLD sunucusuna yönlendirilmesi gerektiğini belirtir.
- TLD Name Server:
.com,.net,.orgveya.trgibi üst seviye alan adlarından sorumludur. Sorgulanan alan adının yetkili DNS sunucusunun nerede olduğunu bildirir. - Authoritative Name Server: Alan adına ait gerçek DNS kayıtlarını tutan yetkili sunucudur. Örneğin alan adının hangi IP adresine karşılık geldiğini kesin olarak bu sunucu bildirir.
- DNS Cache: Daha önce yapılan DNS sorgularının sonuçlarının belirli bir süre boyunca saklandığı önbellektir. Bu sayede aynı alan adı tekrar sorgulandığında çözümleme işlemi daha hızlı gerçekleştirilebilir.

DNS Saldırıları
DNS altyapısı, alan adlarının IP adreslerine çözümlenmesinde kritik bir rol oynadığı için saldırganların sıkça hedef aldığı yapılardan biridir. DNS'e yönelik saldırılar; kullanıcıların sahte adreslere yönlendirilmesine, hizmet kesintilerine veya DNS çözümleme sürecinin manipüle edilmesine neden olabilir.
- DNS Cache Poisoning: DNS çözümleyicisinin önbelleğine sahte DNS kayıtlarının yerleştirilmesi saldırısıdır. Bu durumda kullanıcı, meşru bir alan adını sorguladığında saldırganın belirlediği sahte bir IP adresine yönlendirilebilir.
- DNS Hijacking: Kullanıcının DNS ayarlarının veya DNS trafiğinin saldırgan tarafından değiştirilerek sorguların meşru DNS sunucuları yerine saldırganın kontrolündeki DNS sunucularına yönlendirilmesidir.
- NXDOMAIN Attack: DNS sunucularına çok sayıda var olmayan alan adı veya alt alan adı sorgusu gönderilerek kaynak tüketiminin artırılmasını amaçlayan saldırı türüdür.
DNSSEC (DNS Security Extensions)
DNSSEC, DNS yanıtlarının gerçekten yetkili bir kaynaktan gelip gelmediğini doğrulamak için geliştirilmiş bir güvenlik mekanizmasıdır. DNS kayıtlarına dijital imzalar ekleyerek DNS yanıtlarının bütünlüğünün ve kaynağının doğrulanmasını sağlar.
DNSSEC, güven ilişkisini chain of trust (güven zinciri) adı verilen bir yapı üzerinden kurar:
- Root: DNS güven zincirinin başlangıç noktasıdır ve altındaki TLD bölgesine ait doğrulama bilgisini sağlar.
- TLD Name Server:
.com,.netveya.trgibi uzantılar için ilgili alan adının doğrulama bilgilerini sağlar. - Authoritative Name Server: Alan adına ait imzalı DNS kayıtlarını tutar ve sorguya yanıt verir.
Örneğin example.com alan adı sorgulandığında doğrulama zinciri genel olarak şu şekilde ilerler:
Root → .com → example.com
DNS çözümleyicisi bu zincirdeki dijital imzaları doğrular. Eğer DNS yanıtı saldırgan tarafından değiştirilmişse veya geçerli bir imzaya sahip değilse, doğrulama başarısız olur ve sahte yanıt güvenilir olarak kabul edilmez.
HTTP (Hypertext Transfer Protocol)
HTTP (Hypertext Transfer Protocol), web tarayıcıları ile web sunucuları arasında veri alışverişini sağlayan uygulama katmanı protokolüdür. Bir web sitesini ziyaret ettiğimizde tarayıcı ile sunucu arasındaki iletişim büyük ölçüde HTTP istekleri ve yanıtları üzerinden gerçekleşir.
HTTP Nasıl Çalışır?
HTTP, request-response (istek-yanıt) modeline dayanır.
- Tarayıcı, sunucuya bir HTTP Request gönderir.
- Sunucu isteği işler ve tarayıcıya bir HTTP Response döndürür.
- Tarayıcı, gelen HTML, CSS, JavaScript, görsel veya diğer içerikleri işleyerek kullanıcıya gösterir.

HTTPS (Hypertext Transfer Protocol Secure)
HTTPS, HTTP protokolünün şifrelenmiş ve daha güvenli hâlidir. HTTP ile arasındaki temel fark, iletişimin TLS kullanılarak şifrelenmesidir. Bu sayede tarayıcı ile sunucu arasında gönderilen verilerin üçüncü kişiler tarafından okunması veya değiştirilmesi zorlaştırılır.
HTTPS Nasıl Çalışır?
- Tarayıcı, sunucuya bağlantı isteği gönderir.
- Sunucu, kimliğini doğrulamak için TLS sertifikasını tarayıcıya iletir.
- Tarayıcı, sertifikanın geçerli ve güvenilir olup olmadığını kontrol eder.
- Tarayıcı ve sunucu, şifreli iletişim için gerekli anahtarları oluşturur.
- Bağlantı kurulduktan sonra HTTP verileri şifrelenmiş şekilde iletilir.
ICMP (Internet Control Message Protocol)
ICMP (Internet Control Message Protocol), ağ cihazlarının birbirlerine hata, durum ve tanılama mesajları göndermek için kullandığı protokoldür. ICMP, uygulama verisi taşımak için değil; ağ üzerindeki iletişimle ilgili bilgi vermek için kullanılır.
ICMP Ne İşe Yarar?
Bir paket hedefe ulaşamadığında, yönlendirme sırasında bir sorun oluştuğunda veya paketin yaşam süresi dolduğunda ICMP mesajları kullanılabilir:
- Destination Unreachable: Hedefe ulaşılamadığını belirtir.
- Time Exceeded: Paketin TTL değerinin tükendiğini belirtir.
- Echo Request / Echo Reply: Bir cihazın erişilebilir olup olmadığını test etmek için kullanılır.
En Bilinen ICMP Araçları
- Ping: Bir cihazın erişilebilir olup olmadığını kontrol etmek için kullanılır. Kaynak cihaz, hedefe bir ICMP Echo Request gönderir. Hedef cihaz cevap verirse ICMP Echo Reply döner. Ancak cevap gelmemesi her zaman cihazın kapalı olduğu anlamına gelmez; ICMP trafiği bir güvenlik duvarı tarafından engelleniyor olabilir.
- Traceroute: Paketlerin hedefe ulaşırken geçtiği yönlendiricileri adım adım göstermeye yardımcı olur. Bu işlem sırasında paketlerin TTL (Time to Live) değeri kontrollü şekilde artırılır. TTL değeri bir yönlendiricide sıfıra düştüğünde yönlendirici genellikle ICMP Time Exceeded mesajı gönderir. Bu sayede hedefe giden yol üzerindeki cihazlar tespit edilebilir.
TCP/IP Katman Modeli
TCP, iki cihaz arasında güvenilir ve sıralı veri iletimi sağlayan bir protokoldür. Ancak TCP tek başına bir katman değildir; TCP/IP modelinde Taşıma Katmanı'nda (Transport Layer) çalışır.
Bir veri ağ üzerinden gönderilirken TCP/IP modelindeki katmanlardan geçer ve her katman veriye kendi kontrol bilgilerini ekler. Bu işleme kapsülleme (encapsulation) adı verilir.
Veri Gönderilirken Ne Olur?
- 4. Uygulama Katmanı (Application Layer): Kullanıcının veya uygulamanın verisi burada oluşur. Örneğin bir web sayfasına yapılan HTTP isteği bu katmanda hazırlanır. Bu veri genel olarak mesaj (message) olarak adlandırılabilir.
- 3. Taşıma Katmanı (Transport Layer): TCP kullanılıyorsa veriye kaynak ve hedef port numaraları, Sequence Number, Acknowledgement Number ve diğer TCP başlık bilgileri eklenir. TCP tarafından oluşturulan veri birimine segment adı verilir.
- 2. İnternet Katmanı (Internet Layer): Segmentin başına IP başlığı eklenir. Bu başlık içerisinde kaynak ve hedef IP adresleri gibi bilgiler bulunur. Oluşan veri birimine paket (packet) adı verilir.
- 1. Ağ Erişim Katmanı (Network Access Layer): Pakete yerel ağda iletim için gerekli bağlantı katmanı bilgileri eklenir. Ethernet kullanılıyorsa kaynak ve hedef MAC adresleri Ethernet başlığında bulunur. Oluşan veri birimine frame (çerçeve) adı verilir.
Veri alıcıya ulaştığında ise bu işlem tersine gerçekleşir. Her katman kendisine ait başlık bilgilerini kaldırır ve veriyi bir üst katmana iletir. Bu işleme kapsülden çıkarma (decapsulation) adı verilir.

Karşılıklı İletişim
TCP protokolünün çalışma mantığını bir telefon konuşmasına benzetebiliriz. Birisiyle telefonda konuşmaya başlamadan önce genellikle “Sesim geliyor mu?” diye sorarız. Karşı taraf sesimizi duyduğunda bunu onaylar ve ardından kendi sesinin gelip gelmediğini sorar. Biz de sesini duyduğumuzu onayladıktan sonra konuşmaya başlarız.
TCP protokolünde de benzer bir süreç gerçekleşir. İki cihaz arasında veri alışverişi başlamadan önce bağlantının sağlıklı bir şekilde kurulup kurulmadığı kontrol edilir. Her iki taraf da iletişime hazır olduğunu onayladıktan sonra veri aktarımı başlar.
TCP Kontrol Bayrakları
TCP bayrakları, ağ üzerindeki cihazlar arasındaki TCP iletişiminin başlatılması, sürdürülmesi, yönetilmesi ve sonlandırılması sırasında kullanılan kontrol bitleridir. Bu bayraklar TCP başlığı içerisinde yer alır ve bağlantının hangi durumda olduğunu belirtir.
Temel TCP bayrakları şunlardır:
- SYN (Synchronization): İki cihaz arasında TCP bağlantısı kurulurken kullanılır. Üçlü el sıkışma (Three-Way Handshake) sürecinin başlatılmasında önemli bir rol oynar.
- ACK (Acknowledgement): Gönderilen verinin veya bağlantıyla ilgili bir isteğin başarıyla alındığını onaylamak için kullanılır.
- FIN (Finish): Mevcut TCP bağlantısının düzgün bir şekilde sonlandırılmasını talep etmek için kullanılır.
- RST (Reset): Bağlantının beklenmeyen bir durum nedeniyle hemen sonlandırılması gerektiğinde kullanılır. Geçersiz veya istenmeyen TCP bağlantılarının sıfırlanmasını sağlar.
- URG (Urgent): TCP segmenti içerisinde acil olarak işlenmesi gereken veriler bulunduğunu belirtir.
- PSH (Push): Alınan verinin daha fazla veri beklenmeden uygulama katmanına iletilmesini talep eder. Böylece verinin arabellekte gereğinden fazla beklemesinin önüne geçilir.
TCP Segment Başlığı
TCP segment başlığı, ağ üzerinden iletilen verinin başına eklenen ve verinin doğru hedefe, güvenilir ve sıralı bir şekilde ulaşabilmesi için gerekli yönetim bilgilerini içeren yapıdır. Kaynak ve hedef portlar, sıra numaraları, onay numaraları ve kontrol bayrakları gibi birçok önemli bilgi bu başlık içerisinde bulunur.

TCP başlığının uzunluğu, kullanılan seçeneklere bağlı olarak genellikle 20 ile 60 byte arasında değişir. Yukarıdaki resim üzerinden temel alanları kısaca inceleyebiliriz:
- İlk olarak Source Port ve Destination Port alanları bulunur. Bu alanlarda segmentin hangi kaynak porttan gönderildiği ve hedefte hangi porta ulaştırılacağı bilgisi tutulur.
- Ardından Sequence Number ve Acknowledgement Number alanları gelir. Bu iki alan TCP’nin güvenilir ve sıralı veri aktarımı sağlamasında önemli bir role sahiptir.
- Data Offset alanı, TCP başlığının uzunluğunu belirtir ve böylece asıl verinin segment içerisinde nereden başladığının anlaşılmasını sağlar. Bu değer 32 bitlik, yani 4 byte’lık kelimeler üzerinden ifade edilir. Örneğin Data Offset değeri 5 ise TCP başlığının uzunluğu 5 × 4 = 20 byte olarak hesaplanır. Bu durumda ilk 20 byte TCP başlığına, sonrasındaki bölüm ise taşınan veriye aittir.
- Daha sonra daha önce bahsettiğimiz TCP bayrakları gelir. SYN, ACK, FIN ve RST gibi bayraklar bu bölümde bitler hâlinde tutulur ve bağlantının yönetilmesinde kullanılır.
- Window Size alanı 2 byte uzunluğundadır ve alıcının ne kadar veriyi kabul edebileceği hakkında bilgi verir.
- Checksum alanı, TCP başlığı ve taşınan veride iletim sırasında bir bozulma meydana gelip gelmediğinin tespit edilmesinde kullanılır. Gönderici tarafından hesaplanan checksum değeri, alıcı tarafında tekrar hesaplanarak karşılaştırılır.
- Ardından Urgent Pointer alanı gelir. Bu alan, URG bayrağı aktif olduğunda kullanılır ve acil olarak işaretlenen verinin sınırının belirlenmesine yardımcı olur.
- Son olarak Options alanı bulunur. Bu alan her TCP segmentinde bulunmak zorunda değildir ve kullanıldığında TCP başlığının uzunluğunu artırır. Maximum Segment Size (MSS) ve Window Scale gibi TCP seçenekleri bu bölümde taşınabilir.
TCP Üçlü El Sıkışma Süreci

TCP protokolünde veri gönderip alabilmek için öncelikle iki cihaz arasında bağlantı kurulması gerekir. Bu bağlantı, Three-Way Handshake (Üçlü El Sıkışma) adı verilen süreç ile gerçekleştirilir.
İlk olarak bağlantıyı başlatmak isteyen cihaz, karşı tarafa SYN bayrağı aktif bir TCP segmenti gönderir. Karşı taraf bu isteği aldığında, paketin ulaştığını ACK ile onaylar ve aynı zamanda kendi bağlantı isteğini belirtmek için SYN bayrağını da aktif eder. Bu iki bayrak genellikle tek bir SYN-ACK segmenti içerisinde gönderilir.
Son olarak bağlantıyı başlatan cihaz, karşı taraftan gelen SYN-ACK segmentini ACK ile onaylar. Böylece üçlü el sıkışma tamamlanır ve iki cihaz arasında TCP bağlantısı kurulmuş olur.
Veri Transferi: SEQ ve ACK Numaraları Nasıl Çalışır?
- Sequence Number (SEQ): TCP akışı içerisindeki verilerin sırasını takip etmek için kullanılır. Sequence Number, gönderilen segmentteki ilk veri byte’ının sıra numarasını belirtir.
- Acknowledgement Number (ACK): Karşı taraftan hangi byte’a kadar verinin başarıyla alındığını belirtir ve bir sonraki beklenen Sequence Number değerini bildirir.
- TCP Payload / Data: TCP başlığı dışında kalan ve uygulama tarafından karşı tarafa gönderilmek istenen asıl veridir.

Bu kısmı yukarıdaki Wireshark çıktısı üzerinden inceleyebiliriz:
İlk olarak bilgisayarın (192.168.84.148) sunucuya (192.168.84.145) SYN bayrağı aktif bir TCP segmenti gönderdiğini görüyoruz. Bu segmentin gerçek Sequence Number değeri 3275320503 olarak görülmektedir.
Wireshark, varsayılan olarak Sequence ve Acknowledgement Number değerlerini daha kolay takip edebilmemiz için relative sequence number biçiminde gösterebilir. Bu nedenle paket listesinde başlangıç Sequence Number değeri genellikle 0 olarak görünür. İstenirse bu özellik Wireshark ayarlarından kapatılarak gerçek Sequence Number değerleri görüntülenebilir.
Burada ayrıca SYN ve FIN bayraklarının Sequence Number üzerindeki etkisini bilmemiz gerekir. SYN ve FIN segmentleri herhangi bir uygulama verisi taşımıyor olsalar bile sequence space içerisinde 1 byte tüketirler. Bu nedenle SYN segmentinin Sequence Number değeri 3275320503 ise karşı tarafın göndereceği Acknowledgement Number değeri: 3275320503 + 1 = 3275320504 olur.
38 numaralı paketi incelediğimizde ACK = 3275320504 olduğunu görüyoruz. Bu değer, karşı tarafın SYN segmentini aldığını ve bir sonraki beklediği Sequence Number değerinin 3275320504 olduğunu gösterir.
39 numaralı pakette ise SEQ = 3275320504 değerini görürüz. Böylece bağlantı kurulduktan sonra veri aktarımı bu Sequence Number üzerinden devam eder.
40 numaralı paketi incelediğimizde bilgisayarın bir HTTP GET isteği gönderdiğini görüyoruz. Bu segment içerisinde toplam 78 byte TCP payload gönderilmişse, bir sonraki beklenen Sequence Number değeri mevcut Sequence Number üzerine 78 eklenerek hesaplanır:
3275320504 + 78 = 3275320582
41 numaralı pakette sunucunun ACK = 3275320582 göndermesi, gönderilen 78 byte verinin başarıyla alındığını ve sunucunun artık 3275320582 numaralı byte’tan itibaren gelecek veriyi beklediğini ifade eder.
Akış Kontrolü ve Segment Boyutu
- Window Size: Alıcının, ACK göndermeden önce ne kadar veriyi kabul edebileceğini belirtir. Başka bir ifadeyle, göndericinin onay beklemeden iletebileceği veri miktarını sınırlar.
- Window Scale: TCP başlığındaki 16 bitlik Window Size alanının kapasitesini artırmak için kullanılan bir ölçekleme mekanizmasıdır.
- Maximum Segment Size (MSS): Bir TCP segmentinde taşınabilecek maksimum TCP payload miktarını belirtir.
Window Size ve Window Scale
TCP başlığındaki Window Size alanı 2 byte, yani 16 bit uzunluğundadır. Bu nedenle tek başına en fazla 65.535 byte değerini gösterebilir. Ancak yüksek hızlı ağlarda bu değer yetersiz kalabilir. Örneğin büyük boyutlu bir dosya indirirken her yaklaşık 64 KB veriden sonra bağlantının tamamen durup ACK beklemesi verimsiz olurdu. Bu noktada Window Scale özelliği devreye girer.
Window Scale değeri, TCP bağlantısı kurulurken gerçekleştirilen Three-Way Handshake sırasında taraflar arasında belirlenir:
Calculated Window Size = Window Size × 2^Window Scale
Maximum Segment Size (MSS)
MSS, tek bir TCP segmentinde taşınabilecek maksimum uygulama verisi miktarını belirtir. Örneğin MSS değerinin 1460 byte olduğu bir bağlantıda 4380 byte veri gönderilmek istenirse, bu veri uygun koşullarda üç TCP segmentine bölünebilir:
4380 / 1460 = 3
MSS'nin tüm IP paketinin boyutunu değil, yalnızca TCP payload kısmının maksimum boyutunu ifade ettiğini unutmamak gerekir.
TCP'de Kayıp Paketlerin Yeniden İletilmesi
TCP, güvenilir veri aktarımı sağlamak için kaybolduğu düşünülen verileri yeniden gönderebilir. Bu işleme Retransmission (Yeniden İletim) denir.
- Retransmission Timeout (RTO): Gönderilen veri için belirlenen süre içerisinde gerekli ACK alınamazsa ilgili veri yeniden gönderilir.
- Fast Retransmit: Zaman aşımı süresinin dolması beklenmeden, aynı Acknowledgement Number değerini taşıyan birden fazla Duplicate ACK alınması sonucunda eksik olduğu düşünülen veri yeniden gönderilir.
Fast Retransmit Nasıl Çalışır?
Sunucunun sırasıyla beş parça veri gönderdiğini düşünelim. İlk iki parça başarıyla ulaşmış, ancak üçüncü parça ağ üzerinde kaybolmuş olsun. Buna rağmen dördüncü ve beşinci parçalar alıcıya ulaşabilir.
TCP'de alıcı, doğrudan “3 numaralı paket kayboldu” şeklinde bir mesaj göndermez. Bunun yerine hâlâ beklediği bir sonraki byte'ı Acknowledgement Number olarak bildirmeye devam eder. Örneğin 4. ve 5. segmentler ulaşmasına rağmen 3. segment eksikse, alıcı aynı ACK değerini tekrar tekrar gönderir. Bunlara Duplicate ACK adı verilir.
Gönderici aynı ACK değerinin tekrarlanmasından arada bir verinin eksik olduğunu anlayabilir. Klasik Fast Retransmit mekanizmasında yeterli sayıda Duplicate ACK alındığında, zaman aşımı süresi beklenmeden eksik segment yeniden gönderilir.
Retransmission Timeout Nasıl Çalışır?
Eğer Fast Retransmit mekanizması devreye girmez ve gönderici belirlenen Retransmission Timeout süresi boyunca gerekli ACK'yi alamazsa, ilgili veri zaman aşımı sonucunda yeniden gönderilir.
TCP Bağlantısının Sonlandırılması

Yukarıdaki resim üzerinden TCP bağlantısının nasıl sonlandırıldığını inceleyebiliriz:
44 numaralı pakette bilgisayar, bağlantıyı sonlandırmak istediğini belirtmek için FIN bayrağı aktif bir TCP segmenti gönderir.
45 numaralı pakette sunucu bu isteği aldığını ACK ile onaylar ve aynı zamanda kendi tarafındaki bağlantıyı sonlandırmak için FIN bayrağını da gönderir. Bu nedenle segment içerisinde FIN-ACK bayrakları birlikte görülür.
Sequence Number değerine baktığımızda değerin 1 arttığını görebiliriz. Bunun sebebi, daha önce bahsettiğimiz şekilde FIN bayrağının sequence space içerisinde 1 değer tüketmesidir. Bazı kaynaklarda bu durum “phantom byte” olarak da ifade edilir.
Son olarak 46 numaralı pakette bilgisayar, sunucudan gelen FIN isteğini ACK ile onaylar. Böylece TCP bağlantısı normal ve kontrollü bir şekilde sonlandırılmış olur.
RST ile Bağlantının Sonlandırılması

Yukarıdaki resme baktığımızda, bağlantı kurulmaya çalışıldıktan hemen sonra bir RST segmenti gönderildiğini görüyoruz.
İlk olarak istemci, bağlantıyı başlatmak için SYN bayrağı aktif bir TCP segmenti gönderir. Hemen ardından karşı taraftan RST bayrağı aktif bir segment gelir. Bu durum, bağlantının normal şekilde kurulamadığını veya karşı tarafın bağlantıyı kabul etmediğini gösterir:
- Hedef port kapalı olabilir.
- Hedef sistemde o portu dinleyen bir uygulama bulunmuyor olabilir.
- Bir güvenlik duvarı bağlantıyı aktif olarak reddediyor olabilir.
- Uygulama, gelen bağlantıyı kabul etmiyor olabilir.
- TCP bağlantısında beklenmeyen veya geçersiz bir durum oluşmuş olabilir.
Bu gibi durumlarda TCP bağlantısı Three-Way Handshake tamamlanmadan sonlandırılmış olur.
UDP Protokolü
UDP protokolünü, uzak mesafedeki bir kişiye megafonla seslenmeye benzetebiliriz. Bir cümle söylediğimizde, karşı tarafa tüm kelimelerin eksiksiz ulaşıp ulaşmadığını bilemeyiz. Çünkü karşı taraftan bize herhangi bir onay gelmez.
UDP'de verinin alınıp alınmadığı doğrulanmaz ve TCP'deki gibi önceden bir bağlantı kurulmaz. Bu nedenle kaybolan veriler UDP tarafından otomatik olarak tekrar gönderilmez. Bağlantı kurulumu ve onay mekanizmalarının bulunmaması, UDP'nin TCP'ye göre daha düşük gecikmeyle çalışabilmesini sağlar.
Bu özellikleri nedeniyle UDP; çevrim içi oyunlar, canlı yayınlar, sesli ve görüntülü görüşmeler gibi düşük gecikmenin önemli olduğu alanlarda sıkça kullanılır.
TCP ve UDP Protokolleri Arasındaki Farklar
| Özellik | TCP | UDP |
|---|---|---|
| Bağlantı Yapısı | Bağlantı yönelimli | Bağlantısız |
| Durum Takibi | Durum bilgisi tutulur | Durumsuzdur |
| Veri Yapısı | Bayt akışı | Datagram |
| Veri Sırası | Sıralı iletim sağlar | Sıra garantisi yoktur |
| Güvenilirlik | Güvenilir iletim sağlar | Teslim garantisi yoktur |
| Kayıp Veri | Yeniden iletim yapılabilir | UDP tarafından yeniden iletim yapılmaz |
| Hata Kontrolü | Hatalı veri tespit edilir ve güvenilirlik mekanizmaları uygulanır | Hatalı datagramlar tespit edilip atılabilir |
| Bağlantı Kurulumu | Three-Way Handshake vardır | El sıkışma yoktur |
| Akış Kontrolü | Vardır | Yoktur |
| Tıkanıklık Kontrolü | Vardır | Yoktur |
| Gecikme | Görece daha yüksektir | Görece daha düşüktür |
| İletişim Türü | Genellikle noktadan noktaya | Unicast, broadcast ve multicast kullanılabilir |
| Güvenlik | TLS gibi üst katman protokolleri kullanılabilir | DTLS gibi üst katman protokolleri kullanılabilir |
Pratik Paket Analizi: Wireshark ile Katman Katman Trafik İncelemesi
Teorik kavramları geride bıraktıktan sonra, ağ güvenliğinin ve SOC analistliğinin asıl uygulama sahasına adım atıyoruz. Gerçek dünya senaryolarında bir analistin önündeki pcap dosyası binlerce satırdan oluşur. Burada fark yaratan yetenek; doğru filtrelerle şüpheli trafiği izole etmek ve seçilen tek bir paketi donanım seviyesinden (L1/L2) başlayıp uygulama katmanına kadar mikroskop altına alabilmektir.
Şüpheli Trafiği İzole Etme: Wireshark Filtreleme Stratejisi
Canlı analizde veya devasa pcap dosyalarında her paketi tek tek incelemek imkansızdır. Bir güvenlik analisti, ilk olarak Wireshark'ın görüntüleme filtrelerini (Display Filters) kullanarak gürültüyü eler ve şüpheli aktiviteleri öne çıkarır:
- Bağlantı Başlatma İstekleri (SYN Taramaları): Ağda kimlerin yeni oturum açmaya çalıştığını veya port taraması yaptığını görmek için yalnızca SYN bayrağı aktif olan paketler filtrelenir:bash
tcp.flags.syn == 1 && tcp.flags.ack == 0 - Reddedilen Bağlantılar (RST Paketleri): Kapalı portlara çarpıp dönen veya aniden koparılan oturumları bulmak için:bash
tcp.flags.reset == 1 - Belirli Bir Host Trafiği: Şüpheli bir IP tespit edildiğinde tüm giriş-çıkış trafiğini izole etmek için:bash
ip.addr == 192.168.84.146
Laboratuvar senaryomuzda tcp.flags.syn == 1 && tcp.flags.ack == 0 filtresi uygulandığında, 192.168.84.146 adresinin hedef sunucudaki 587 numaralı porta yönelik tekil bir bağlantı denemesi yaptığı fark edilmiştir. Bu aktivitenin ilk adımı olan 122 numaralı şüpheli paketi seçerek analizimize başlıyoruz.
Fiziksel Çerçeve ve Genel Yakalama Parametreleri (Frame Metadata)
Wireshark'ın paket detayları penceresinde en üstte yer alan Frame bölümü, kablodan veya kablosuz ortamdan geçen paketin fiziksel yakalanma koşullarını ve pcapng formatına ait metaverileri sunar:

- Paket ve Yakalama Boyutu (Wire vs. Captured Length): Paket fiziksel ağ kablosunda (on wire)
58 bayt(464 bit) yer kaplamış ve diske kaydedilen boyut da eksiksiz şekilde58 baytolmuştur. Bu eşitlik, yakalama arayüzünde paket kesintisi (snaplen / packet slicing) yaşanmadığını ve paketin tam olarak kaydedildiğini gösterir. - Ağ Kartı Arabirimi (NIC Metadata): Dinleme, işletim sistemindeki
eth0arabiriminden (Wireshark içindeki Interface ID:0) yapılmıştır. - Kapsülleme Türü (Encapsulation Type): Fiziksel iletim standardı
Ethernet (1)olarak etiketlenmiştir. - Zaman Damgaları (Timestamps & SIEM Korelasyonu):
- Yerel Saat & UTC: Paket, 7 Nisan 2026 14:32:11.307811684 (UTC: 11:32:11) anında ağ kartına ulaşmıştır.
- Unix Epoch Zamanı:
1775561531.307811684. 1 Ocak 1970'ten itibaren geçen bu saniye değeri, dağıtık log yönetim sistemlerinde (SIEM/EDR) farklı coğrafyalardaki cihazların loglarını mikrosaniye hassasiyetinde sıraya dizmek için kritik referanstır. - Delta Süreleri: Bir önceki yakalanan paketten bu pakete kadar geçen süre
518.995 ms'dir. Yakalamanın başladığı ilk referans paketinden itibaren geçen toplam süre ise3 dakika 7.46 saniyedir.
- Protokol Sıralaması: Çerçeve içerisindeki protokol dizilimi
eth -> ethertype -> ip -> tcphiyerarşisindedir. - Paket İşaretleme Durumu:
Frame is marked: FalseveFrame is ignored: False. Paketin analist tarafından özel bir filtreleme amacıyla işaretlenmediğini gösterir. - Wireshark Renklendirme Kuralı (Coloring Rule): Paket, Wireshark'ın varsayılan
TCP SYN/FINrenklendirme kuralına takılarak açık mavi/yeşil tonda listelenmiştir. Kuralın arkasındaki filtre formülü:tcp.flags & 0x02 || tcp.flags.fin == 1Bu kural, TCP oturumunu başlatan (SYN) veya sonlandıran (FIN) sınır paketlerini görsel olarak anında ayırt etmeyi sağlar.
Veri Bağlantı Katmanı: Ethernet II Başlık Yapısı (L2 Analizi)
Ethernet II standardı, paketin yerel ağ segmentinde (Layer 2 broadcast domain) hangi fiziksel karttan çıkıp hangi cihaza iletildiğini denetler:

- Hedef Donanım Adresi (Destination MAC):
00:0c:29:b4:b7:ff(VMware OUI). - Kaynak Donanım Adresi (Source MAC):
00:0c:29:52:3f:1e(VMware OUI). - MAC Adres Bitlerinin Derinlemesine Anlamı:
- LG Biti (Locally Administered / Globally Unique): Her iki MAC adresinde de bu bit
0değerindedir. Adresin IEEE tarafından üretici donanımına (burada VMware sanal bağdaştırıcısına) fabrikasyon olarak tahsis edildiğini, yazılımsal sahte bir yerel adres olmadığını gösterir. - IG Biti (Individual / Group): Değer
0'dır. Paketin yayın (Broadcast) veya çoklu yayın (Multicast) olmadığını, doğrudan tek bir hedefe (Unicast) yönlendirildiğini kanıtlar. Standartlar gereğince kaynak MAC adresi daima Unicast olmak zorundadır.
- LG Biti (Locally Administered / Globally Unique): Her iki MAC adresinde de bu bit
- EtherType Değeri:
IPv4 (0x0800). Ethernet başlığının bittiğini ve yükün 3. katmanda IPv4 protokolüne devredileceğini belirtir. (Örn: ARP için0x0806, IPv6 için0x86DDolur). - Stream Index (0): Wireshark'ın bu soket çifti için arka planda tuttuğu oturum takip indeksidir.
Bilgi
SOC İpucu: MAC Spoofing & OUI Anomali Tespiti İç ağ sızma testlerinde veya gelişmiş tehdit aktörlerinin (APT) yerel keşiflerinde, saldırganlar kendi fiziksel donanımlarını gizlemek için MAC adreslerinin LG bitini 1 yapabilir veya rastgele OUI blokları üretebilir. Kurumsal ağ anahtarlarında (Switch) 802.1X ve Port Security politikaları bu tip anomalileri yakalamada birincil savunma hattıdır.
Ağ Katmanı: Internet Protocol v4 (IPv4) Derin Analizi (L3)
IPv4 başlığı, paketlerin mantıksal adresleme ile yönlendirilmesini ve gerekiyorsa ağ sınırlarına göre parçalanmasını (fragmentation) yönetir. İncelediğimiz pakette standart 20 baytlık sabit IPv4 başlığı mevcuttur:

- Sürüm (Version) & Başlık Uzunluğu (IHL): Sürüm
IPv4 (0100). Başlık uzunluğu20 bayt(5 adet 32-bit sözcük). Ek bir opsiyon alanı barındırmadığı için minimum boyuttadır. - Hizmet Farklılaştırma (DSCP & ECN):
0x00. Ağda herhangi bir paket önceliklendirmesi (QoS) tanımlanmamıştır (CS0) ve Explicit Congestion Notification (açık sıkışıklık bildirimi) devre dışıdır (Not-ECT). - Toplam Boyut (Total Length):
44 bayt. 20 bayt IP başlığı + 24 bayt TCP başlığı. Buradan paketin içerisinde herhangi bir uygulama verisi (payload) taşınmadığını net olarak görüyoruz. - Paket Kimliği (Identification):
0x68d9 (26841). Paket parçalanırsa hedef sistemin bu parçaları doğru birleştirmesi için üretilen benzersiz kimliktir. - IP Bayrakları (Flags) ve Parçalanma Bilgisi:
Reserved Bit (Evil Bit):0. RFC 3514 şakasında kötü niyetli paketleri işaretlemek için önerilen bu rezerve bit daima 0 kalmalıdır.Don't Fragment (DF):0. Paketin gerekirse yönlendiriciler tarafından parçalanabileceğini ifade eder. (Genellikle modern işletim sistemleri MTU Discovery için bunu 1 yapar; 0 olması otomatik araçların eski/özel paket üretim motorlarına işaret edebilir).More Fragments (MF):0. Bu paketin arkasından gelen devam parçası yoktur.Fragment Offset:0. Paketin bölünmediğini ve sıfırıncı bayttan başladığını kanıtlar.
- Yaşam Süresi (TTL - Time to Live) ve OS Fingerprinting:
45.- Her yönlendirici (hop) üzerinden geçişte bu sayı 1 azaltılır ve 0 olduğunda paket düşürülerek sonsuz döngüler engellenir.
- Analist Yorumu: Varsayılan başlangıç TTL değerleri Linux sistemlerde
64, Windows sistemlerde128, ağ anahtarları ve Cisco cihazlarında255'tir. Ağ hattında yakalanan45değeri; paketin Linux tabanlı bir makineden çıkıp yaklaşık 19 yönlendirici aşarak geldiğini ya da saldırganın Nmap/Scapy gibi araçlarla TTL değerini işletim sistemi tespitini yanıltmak amacıyla manuel olarak 45 belirlediğini gösterir.
- Taşınan Protokol (Protocol):
TCP (6). Veri yükünün TCP motoruna iletileceğini teyit eder (ICMP: 1, UDP: 17). - Header Checksum:
0xfa7e [unverified]. Wireshark üzerinde doğrulama kapalıdır; modern ağ kartları TCP/IP sağlama toplamını donanım seviyesinde (checksum offload) hesapladığından işletim sistemi seviyesinde doğrulama yapılmamış görünebilir. - Uç Noktalar: Kaynak IP:
192.168.84.146-> Hedef IP:192.168.84.145.
Uyarı
Güvenlik İncelemesi: IP Fragmentation & Firewall Evasion Saldırıları Normalde parçalanan paketler offset değerine göre sıralı birleştirilir. Ancak saldırganlar Teardrop ve Ping of Death gibi saldırılarda kasıtlı olarak çakışan veya negatif offset değerleri göndererek hedef işletim sisteminin bellek yönetimini çökertmeyi hedeflerler. Günümüzde ise saldırganlar, zararlı yüklerini ağ güvenlik duvarlarının (Firewall/IDS/IPS) imza kontrollerinden gizlemek için kasıtlı olarak küçük parçalara bölerek hedefte birleştirmeyi (Firewall Evasion) amaçlamaktadır.
Taşıma Katmanı: Transmission Control Protocol (L4 Analizi)
Paketin asıl niyetini ve siber güvenlik boyutunu ortaya koyan en can alıcı katman TCP başlığıdır. Bu paketin sıradan bir istemci bağlantısı mı yoksa yetkisiz bir keşif/tarama aktivitesi mi olduğunu buradaki bayrak ve oturum alanları ele verir:

| TCP Alanı | Değer | Teknik Açıklama ve Güvenlik Yorumu |
|---|---|---|
| Source Port | 51006 | İstemci işletim sistemi tarafından atanan dinamik/geçici (ephemeral) rastgele port. |
| Destination Port | 587 | Hedef servis: SMTP Submission (E-posta gönderme/aktarım portu). |
| Stream Index & Pkt | Stream 4, Pkt 1 | Wireshark'ın yakaladığı 5. farklı TCP oturumunun ilk paketidir. İletişim bu adımla başlar. |
| Sequence Number | 0 (Raw: 2918753529) | İlk Sıra Numarası (ISN). Rastgele 32-bit değer üretilmiştir (TCP Session Hijacking önlemi). |
| Next Sequence No | 1 | Paket yükü 0 olsa da, SYN bayrağı sanal olarak 1 baytlık sıra numarası tüketir. |
| Acknowledgment No | 0 (raw: 0) | İlk paket olduğu için karşı taraftan henüz onaylanacak bir veri yoktur. |
| Header Length | 24 bayt (6) | Standart 20 bayt TCP başlığına ek olarak 4 baytlık TCP MSS opsiyonu yer alır. |
| TCP Flags | 0x002 (SYN: Set) | 12 bitlik kontrol alanında yalnızca SYN aktiftir (........S.). Diğer tüm bayraklar kapalıdır. |
| Window Size | 1024 | Karşı taraftan onay beklemeden kabul edilebilecek tampon boyutu (Window Scale kullanılmamıştır). |
| Urgent Pointer | 0 | Acil bayrağı (URG) set edilmediği için devre dışıdır. |
| TCP Options | MSS = 1460 bytes | Maximum Segment Size (Kind: 2, Len: 4). Karşıdan gelebilecek azami segmenti 1460 bayt ile sınırlar. |
Akış Durumu (Conversation Completeness) ile Stealth SYN Taraması Tespiti
Wireshark'ın modern sürümlerinde yer alan en güçlü analiz yeteneklerinden biri akış bütünlüğü takibidir:
[Conversation completeness: Incomplete (37)]
[Completeness Flags: RA S]Bu alanda yer alan RA S kodlaması şu olaylar zincirini ortaya koyar:
- S (SYN: Present): İstemci makine (
192.168.84.146), sunucunun 587 portuna bir bağlantı isteği (SYN) iletmiştir. - SYN-ACK: Absent: Sunucudan istemciye normal üçlü el sıkışmanın (3-Way Handshake) ikinci adımı olan
SYN-ACKdönmemiştir (veya port kapalı olduğu için doğrudan RST dönmüştür). - RA (RST / ACK: Present): Bağlantı hiçbir veri aktarımı gerçekleşmeden doğrudan
RST(Reset) bayrağıyla düşürülmüştür. - SOC Çıkarımı: Bu profil kusursuz bir TCP SYN Port Taraması (Half-Open / Stealth Scan) örneğidir (Nmap
-sSparametresi). Saldırgan sunucu üzerinde tam bir oturum açıp uygulama seviyesinde log bırakmamak için el sıkışmayı kasıtlı olarak yarıda kesmiştir.
İpucu
Güvenlik İncelemesi: TCP Session Hijacking ve Kriptografik ISN Eski işletim sistemlerinde TCP Sıra Numaraları tahmin edilebilir bir matematiksel artış gösteriyordu. Saldırganlar bu artışı tahmin ederek araya girip oturum çalabiliyordu (TCP Session Hijacking). Günümüz modern işletim sistemleri bu saldırıyı engellemek için ISN değerini kriptografik olarak rastgele üretmektedir.

Wireshark Uzman Bilgisi (Expert Info) İncelemesi
Wireshark'ın analiz motoru bu paket için iki önemli kayıt üretmiştir:
[Severity level: Chat / Group: Sequence]:Connection establish request (SYN): server port 587. Paket bazında standart bir oturum başlatma isteği olduğunu doğrular.[Severity level: Note / Group: Protocol]:The SYN packet does not contain a SACK PERM option. Paketin Seçici Onaylama (SACK) desteği barındırmadığını belirtir. SACK olmadığında, tek bir kayıp pakette tüm pencerenin baştan gönderilmesi gerekir; modern işletim sistemlerinde SACK'in kapalı olması tarama araçlarının özel paket yapılandırıcılarına işaret eden ek bir anomalidir.
SOC Analisti İçin Çıkarımlar ve Olay Müdahale Planı
İncelediğimiz tek bir 58 baytlık paket ve akış verisinden elde ettiğimiz operasyonel güvenlik sonuçları şunlardır:
- Yetkisiz Keşif Tespiti: Hedef sunucudaki
587 (SMTP)portu,192.168.84.146IP adresi tarafından hedef alınmıştır. Üçlü el sıkışmanın bilinçli olarak tamamlanmaması aktivitenin arkasında bir port tarama aracının olduğunu kanıtlar. - SIEM Kural Korelasyonu: SOC izleme panellerinde şu mantıkla bir korelasyon kuralı devreye alınmalıdır:yaml
rule: Port_Scan_Detected condition: selection: ip.src: 192.168.84.146 tcp.flags.syn: 1 tcp.flags.ack: 0 timeframe: 10s threshold: count(distinct tcp.dstport) > 5 action: Trigger_Alert_P2_Containment - Ağ İzolasyonu ve Firewall Kuralı:
192.168.84.146adresinin pcap genelinde başka hangi IP ve portlara yönelik SYN paketi yolladığıtcp.flags.syn==1 && tcp.flags.ack==0filtresiyle araştırılmalı, tarama faaliyeti doğrulandığında host yerel ağdan izole edilerek adli bilişim incelemesi başlatılmalıdır.
Kaynakça
Kaynakça
Ağ Trafiği Analizi İçin Kaynakça
- TCP Sequence ve Acknowledgement Numbers
- TCP Three-Way Handshake
- TCP Flags
- TCP Window Size
- Maximum Segment Size (MSS)
- TCP Retransmission
- TCP Window Scaling
- Cloudflare - DNS Nedir?
- Cloudflare - DNS Güvenliği
- MDN - HTTP'ye Genel Bakış
- DigiCert - SSL Sertifikası Nedir?
- Juniper - Ping ve Traceroute
- Cisco - ARP Çalışma Mantığı
- Wireshark - Packet Details Pane
- Wireshark - Display Filter Reference
- Wireshark User's Guide - TCP Analysis & Conversation Completeness
- Wireshark User's Guide - Packet Colorization
- RFC 791 - Internet Protocol Specification
- RFC 793 - Transmission Control Protocol
- RFC 3514 - The Security Flag in the IPv4 Header (Evil Bit)
- Nmap - Port Tarama Teknikleri
- GeeksforGeeks - TCP/IP Modeli

