Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği

advertisement
Gazi Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Bilgisayar Ağları Dersi
Lab. 3
İçerik
• TCP Protokolü
• TCP bağlantı kurulumu ve sonlandırılması
• “tcp-etheral-trace-1” dosyasının analizi
İçerik
• TCP Protokolü
• TCP bağlantı kurulumu ve sonlandırılması
• “tcp-etheral-trace-1” dosyasının analizi
TCP Protokolü
• İki veya daha fazla bilgisayarın birbiriyle
haberleşmesi
protokoldür.
için
kullanılan
en
yaygın
TCP Protokolü
• TCP/IP'de, yollanan veriler katmanlara göre
paketlenerek yollanır ve alıcıda bu paketler
teker teker açılıp veri ulaştırılır.
• Her katmanda yollanan verinin türüne göre (eposta, dosya aktarımı) belirli protokoller görev
yapar.
TCP Protokolü
• OSI referans modelindeki 7 katmana karşılık
TCP/IP’de 4 katman mevcuttur;
 Application (Uygulama),
 Transport (Taşıma),
 Internet,
 Network Interface (Ağ Arayüzü).
TCP Protokolü
• Uygulama Katmanı, veriyi göndermek isteyen uygulama ve
gönderilen verinin türüne göre farklı protokoller çalıştırılarak
(HTTP,
SMTP, FTP, Telnet, vs.) programlarla Taşıma
protokollerinin haberleşmesi sağlanır.
• Uygulama Katmanı Taşıma Katmanıyla portlar aracılığıyla
haberleşir. Portlar numaralandırılmış standart uygulamalardır
(HTTP:80, FTP:21, vs.) ve Taşıma Katmanında gelen paket
içeriğinin türünün anlaşılmasında rol oynar.
TCP Protokolü
• Taşıma
Katmanı,
verinin
ne
şekilde
gönderildiğini
gösterir. TCP (Transmission Control Protocol) ve UDP (User
Datagram Protocol) protokolleri bu katmanda çalışır.
• TCP ve UDP iletim esnasında veriye içinde bazı kontrol
bilgilerinin bulunduğu bir başlık (header) ekler.
• TCP, kayıpsız veri gönderimi sağlayabilmek için kullanılan
protokoldür.
TCP Protokolü
• Gönderilen veriler için özel bir TCP kabul paketi (TCP
ACK) gönderilir ve gelmiş olan paketlerin doğruluğu kontrol
edilir.
• Gönderen taraf, kabul gelmediği sürece paketi tekrar gönderir,
böylece gönderim sağlanmış olur. TCP’de veri iletimi için iki
bilgisayar arasında Three-Way Handshake (Üç Zamanlı El
Sıkışma) bağlantısı kurulur. HTTP, HTTPS, POP3, SMTP, FTP,
SFTP gibi protokollerdeki veri iletimi TCP vasıtasıyla yapılır.
TCP Protokolü
• İnternet Katmanı, hedef veya kaynak IP adresleri veriye
eklenerek verinin hangi bilgisayara gönderileceği belirlenir
ve gönderilen paket Veri Bloğu (Datagram) halini alır.
• IP, ICMP, IGMP, ARP gibi protokoller bu katmanda çalışır.
TCP Protokolü
• Ağ Arayüzü Katmanı, verinin kablo üzerinde alacağı
yapıyı tanımlayarak bir ve sıfırların fiziksel olarak
görüntülenmesini sağlar.
• Ethernet Ağ Arayüzü Katmanında kullanılan ve veri
iletiminin fiziksel görünümünü sağlayan en yaygın
kablolu yerel ağ teknolojisidir.
İçerik
• TCP Protokolü
• TCP bağlantı kurulumu ve sonlandırılması
• “tcp-etheral-trace-1” dosyasının analizi
TCP Bağlantı Kurulumu ve Sonlandırılması
• TCP’yi incelemeye başlamadan önce, PC’nizden
uzaktaki bir sunucuya bir dosyanın TCP transferinin
izini (trace) elde etmek için Wireshark programını
kullanmaya ihtiyacımız olacaktır.
TCP bağlantı kurulumu ve sonlandırılması
• Bunun için bilgisayarınızda tutulan bir dosyanın (Alice
Harikalar Diyarında’nın ASCII tekstini içeren) ismini
girmenizi
isteyen
bir
web
sayfasına
erişim
sağlamanız, daha sonra bu dosyayı http POST metodu
kullanarak bir web sunucuya transfer iletmeniz
gerekmektedir.
TCP bağlantı kurulumu ve sonlandırılması
• GET metodundan ziyade POST metodu kullanıyoruz,
çünkü büyük miktarda bir veriyi bilgisayarınızdan başka
bir bilgisayar/sunucuya transfer etmek istiyoruz.
• Bilgisayarınızdan
segment’lerinin
gönderilen
izini
elde
ve
etmek
alınan
için
TCP
Wireshark
programının bu süre zarfında çalışıyor olması gereklidir.
TCP bağlantı kurulumu ve sonlandırılması
• Aşağıdakileri sırası ile gerçekleyiniz:
• Web
browser’ı
çalıştırıp
http://gaia.cs.umass.edu/wireshark-labs/alice.txt
sayfasına giriniz ve Alice Harikalar Diyarında’nın ASCII
kopyasını alıp bilgisayarınızda bir yere kaydediniz.
• Sonra http://gaia.cs.umass.edu/wireshark-labs/TCPwireshark-file1.html sayfasına giriniz.
TCP bağlantı kurulumu ve sonlandırılması
• Aşağıdaki gibi bir ekranla karşılaşacaksınız:
TCP bağlantı kurulumu ve sonlandırılması
• Daha önce kaydetmiş olduğunuz Alice Harikalar
Diyarında’nın tekst dosyasının (alice.txt) yolunu
“browse” butonunu kullanarak gösteriniz. Hemen
“Upload alice.txt file” butonuna basmayınız.
• Şimdi Wireshark’ı başlatıp paket yakalama işine
başlayın (Capture->Start).
TCP bağlantı kurulumu ve sonlandırılması
• Tekrar tarayıcıya dönerek “Upload alice.txt file”
butonuna
basarak
“gaia.cs.umass.edu”
alice.txt
sunucusuna
dosyasının
yüklenmesini
sağlayınız.
• Dosya yüklendikten sonra tarayıcı pencerenizde
tebrikler mesajı göreceksiniz.
TCP bağlantı kurulumu ve sonlandırılması
• Wireshark paket yakalamayı durdurun. Wireshark
ekranınız aşağıdaki gibi görünecektir.
TCP bağlantı kurulumu ve sonlandırılması
• Öncelikle
yakalanan
paketleri
“tcp”
yazarak
filtreleyelim.
• Görmeniz
gereken
bilgisayarınızla
“gaia.cs.umass.edu” sunucusu arasındaki TCP ve
HTTP mesajlar topluluğu. İlk olarak SYN mesajı içeren
üç-yollu bir el sıkışma (kontrol mesajlarının değişimi)
göreceksiniz.
TCP bağlantı kurulumu ve sonlandırılması
• HTTP POST mesajı göreceksiniz. Sonra kullandığınız
Wireshark versiyonuna bağlı olarak bilgisayarınızdan
“gaia.cs.umass.edu” sunucusuna gönderilen “HTTP
Continuation” mesajlarını göreceksiniz.
• “HTTP Continuation” mesajları, bir HTTP mesajını
taşımak
için
birden
kullanıldığını gösteriyor.
fazla
TCP
segmentinin
TCP bağlantı kurulumu ve sonlandırılması
• gaia.cs.umass.edu sunucuna data transfer etmek için
kullanılan istemcinin IP adresi ve TCP port numarası
nedir?
• gaia.cs.umass.edu sunucunun IP adresi ve TCP port
numarası nedir?
TCP bağlantı kurulumu ve sonlandırılması
• Bu
laboratuvarda
ilgilenileceğinden
göstermemek
için
HTTP’den
yakalanan
ziyade
HTTP
Analyze->Enabled
TCP
ile
paketlerini
Protocols
menüsünden HTTP kutusundaki check işaretini
kaldırıp OK’e basın.
TCP bağlantı kurulumu ve sonlandırılması
• Şimdi Wireshark penceresi aşağıdaki gibi olacaktır:
TCP bağlantı kurulumu ve sonlandırılması
• Bilgisayarınızla gaia.cs.umass.edu sunucusu arasında TCP
bağlantısını başlatmak için kullanılan TCP SYN segmentinin dizi
numarası nedir? [0]
• SYN segment’ine gaia.cs.umass.edu sunucusunun göndermiş
olduğu SYNACK segment’inin dizi numarası nedir? [1]
• HTTP POST komutunu içeren TCP segment’inin dizi numarası
nedir? Wireshark penceresinin en altındaki paket içerik
alanına bakılması gerekir. (HTTP sorulduğu için tekrar Analyze>Enabled Protocols menüsünden HTTP kutusu aktif hale
getirilmeli). [No:4]
İçerik
• TCP Protokolü
• TCP bağlantı kurulumu ve sonlandırılması
• “tcp-etheral-trace-1” dosyasının analizi
“tcp-etheral-trace-1” dosyasının analizi
• http://w3.gazi.edu.tr/~anilutku/tcp-ethereal-trace1.pcap dosyasını indiriniz.
– TCP başlık alanlarını ve değerlerini bulunuz.
– Kaynak ve hedef için port numaralarını bulunuz.
– İstemci bilgisayarın sunucu bilgisayardan TCP
bağlantı talebini yaptığı zamanı bulunuz.
– İstemci bilgisayarın port numarasını nasıl
belirlediğini açıklayınız.
Download