Автор темы
#1
tcpdump ile TCP el sıkışmasını doğrulama
[muzik]Günlük ağ sorunlarını iki ana adımla yakalamak çoğu zaman yeterli olur: hangi tarafların el sıkışmasına dahil olduğunu ve hangi bayt sırasının eksik veya yanlış olduğunu tespit etmek. TCP el sıkışması, üç adımlık bir protokoldür: SYN, SYN-ACK ve ACK. Ağdaki paket akışını anlamak için bu üç adımı takip etmek gerekir. Aşağıda, tcpdump kullanarak bu üç adımı teyit etmek için pratik bir yaklaşım ve örnekler bulacaksınız.
1) Temel akışı doğrulama
code
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0 or tcp[13] & 0x12 != 0 or tcp[13] & 0x10 != 0'
# Bu filtre SYN, SYN-ACK ve ACK içerikli paketleri gösterir.
endcode
code
tshark -r capture.pcap -Y "tcp.flags.syn==1 or tcp.flags==0x12 or tcp.flags.ack==1" -T fields -e ip.src -e ip.dst -e tcp.flags
endcode
2) Bağlantı kurulumunu ayrıntılandırma
3) Zaman ve sıralama açısından ipuçları
code
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0 and src 10.0.0.5 and dst 10.0.0.10'
endcode
Bu yaklaşım, el sıkışmasının başarılı bir şekilde gerçekleşip gerçekleşmediğini net bir biçimde gösterecektir. Özellikle kırık bağlantılar veya SYN-ACK alınamayan durumlar tcpdump çıktısında belirginleşir. Gerçek senaryolarda hangi portlar arasında hangi makinelerin rol aldığını not etmek, sonraki analizleri kolaylaştırır. Bu nedenle, başlangıçta hedeflediğiniz akışın logunu temiz ve ayrıştırılmış bir şekilde toplamak önerilir. Bu yöntemi kendi ağınızda hangi durumlarda kullandığınızı veya gördüğünüz hatalı el sıkışması örneklerini paylaşabilirsiniz.
[muzik]Günlük ağ sorunlarını iki ana adımla yakalamak çoğu zaman yeterli olur: hangi tarafların el sıkışmasına dahil olduğunu ve hangi bayt sırasının eksik veya yanlış olduğunu tespit etmek. TCP el sıkışması, üç adımlık bir protokoldür: SYN, SYN-ACK ve ACK. Ağdaki paket akışını anlamak için bu üç adımı takip etmek gerekir. Aşağıda, tcpdump kullanarak bu üç adımı teyit etmek için pratik bir yaklaşım ve örnekler bulacaksınız.
1) Temel akışı doğrulama
- Kaynaktan hedefe doğru akan SYN paketinin varlığına bakın. Bu SYN, bağlantının başlangıcını belirtir.
- Hemen ardından hedefin SYN-ACK yanıtı gelmelidir. Bu, üçlü el sıkışmasının ikinci adımıdır.
- Son olarak, kaynak tarafın ACK ile yanıt vermesi gerekir. Bu adımlar birleştiğinde bağlantının kurulduğu kabul edilir.
- tcpdump üzerinde bu akışı takip etmek için şu komutu kullanabilirsiniz:
code
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0 or tcp[13] & 0x12 != 0 or tcp[13] & 0x10 != 0'
# Bu filtre SYN, SYN-ACK ve ACK içerikli paketleri gösterir.
endcode
- Alternatif olarak, daha okunabilir bir çıktıya ulaşmak için tshark kullanmak da faydalıdır:
code
tshark -r capture.pcap -Y "tcp.flags.syn==1 or tcp.flags==0x12 or tcp.flags.ack==1" -T fields -e ip.src -e ip.dst -e tcp.flags
endcode
2) Bağlantı kurulumunu ayrıntılandırma
- SYN paketinin sequence number’ı (ISN) önemlidir. İlk SYN’de ISN’yi görmek, bağlantının başlangıç noktasıdır.
- SYN-ACK yanıtında karşı tarafın ISN’siyle birlikte ACK sayısı kontrol edilir; ACK değeri, SYN paketinin ilettiği SEQ’nin bir sonraki değeriyle eşleşmelidir.
- Üçlü el sıkışması tamamlandıktan sonra, akışın iki yönlü olası kapanış veya reset (RST) paketlerini de izlemek gerekir. FIN/ACK veya RST’nin görülmesi, bağlantının nasıl sonlandığını gösterir.
3) Zaman ve sıralama açısından ipuçları
- Paketlerin zaman damgalarını incelemek, gecikme kaynaklarını ayırt etmek için kritiktir.
- Aynı anda birden çok bağlantı üzerinde çalışıyorsanız, kaynak ve hedef IP+port kombinasyonlarını filtrelemek faydalı olur:
code
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0 and src 10.0.0.5 and dst 10.0.0.10'
endcode
Bu yaklaşım, el sıkışmasının başarılı bir şekilde gerçekleşip gerçekleşmediğini net bir biçimde gösterecektir. Özellikle kırık bağlantılar veya SYN-ACK alınamayan durumlar tcpdump çıktısında belirginleşir. Gerçek senaryolarda hangi portlar arasında hangi makinelerin rol aldığını not etmek, sonraki analizleri kolaylaştırır. Bu nedenle, başlangıçta hedeflediğiniz akışın logunu temiz ve ayrıştırılmış bir şekilde toplamak önerilir. Bu yöntemi kendi ağınızda hangi durumlarda kullandığınızı veya gördüğünüz hatalı el sıkışması örneklerini paylaşabilirsiniz.
