Wireshark Lab: IP Supplement to Computer Networking: A Top-Down Approach, 6th ed., J.F. Kurose and K.W. Ross “Tell me and I forget. Show me and I remember. Involve me and I understand.” Chinese proverb © 2005-21012, J.F Kurose and K.W. Ross, All Rights Reserved Bu labta IP protokolünü araştıracağız ve IP datagramı üzerine yoğunlaşacağız. “traceroute” programı koşumu ile alınan ve gönderilen IP datagram izini analiz edeceğiz, IP parçalanmasına (fragmentation) detaylı olarak bakacağız. 1. traceroute komutunun çalıştırılmasından sonra paketlerin yakalanması Bu labta IP datagram izi üretmek için traceroute programını kullanacağız. Traceroute bir veri paketinin gönderilmek istenildiği adresi ulaşıncaya kadar gecen sürede, veri paketinin hangi hostlar üzerinden geçtiğini ve IP kaynak yönlendirme seçeneğinin hangisi olduğunu görmemizi sağlayan bir ağ programı/aracıdır. Traceroute aracı tüm unix benzeri işletim sistemlerinde bulunur. Microsoft windows tabanlı işletim sistemlerinde tracert, traceroute ile aynı fonksiyonlara sahiptir. Traceroute, IP başlığındaki TTL (time-to-live) alanını ve ICMP (Internet Control Message Protocol) kullanır. TTL, IP başlığında 8 bitlik alana sahiptir. İlk değeri gönderen tarafından atanır ve bu değer, üzerinden geçtiği her hopta yönlendirici tarafından azaltılır. TTL alanının amacı sonsuz yönlendirme olmasını engellemektir. Bir yönlendirici TTL alanı 0 ya da 1 olan bir veri paketi almış ise paketi başka bir yere yönlendirmez ve kaynak hostuna ICMP “zaman aşımı” mesajı gönderir. ICMP mesajına sahip olan veri paketi yönlendiricinin IP adresini kaynak adresi olarak alır. Traceroute, hedef hosta TTL alan değeri 1 olan veri paketi gönderir. Veri paketini alan yönlendirici, TTL değerini düşüremediği için hedefe giden yoldaki diğer yönlendiriciye yönlendirme yapmaz ve geriye ICMP “zaman aşımı” mesajını gönderir. Böylece ilk yönlendiricinin IP adresini bulur. Traceroute diğer adımda hedef hosta TTL değeri 2 olan veri paketi gönderir ve yoldaki ikinci yönlendiricinin IP adresini bulur. Bu yolla hedef hosta ulaşılıncaya kadarki yönlendiriciler tanımlanır. Veri paketi son hedefe ulaştığında ICMP “zaman aşımı” mesajı oluşturulmaz. Son hedefi tanımlamak için trauceroute, gönderdiği veri paketinin hedef portunu kullanılmayan bir port numarası seçer. Seçtiği port numarası, hedefteki hiçbir uygulama tarafından kullanılmadığı için hedef host, veri paketini aldığında ICMP ”ulaşılamayan port“ mesajını oluşturur. Böylece gidilecek son host tanımlanır. Windows tabanlı işletim sistemleri için arayüze de sahip tracert benzeri pingplotter programını (indirmek için http://www.pingplotter.com) çalıştırarak IP datagramlarını elde edelim. Aşağıdakileri sırası ile yapınız: Wireshark’ı açıp paket yakalamayı başlatınız Pingplotter’ı açıp hedef olarak “gaia.cs.umass.edu” yazınız. “# of times to Trace” kısmına 3 [belirli sayıda iz yakalamak için. Örneğin biz burada farklı büyüklükte paketler göndererek 3 kere trace/iz elde edeceğiz] yazınız, Edit-> Options>Packet Options kısmından paket büyüklüğünü 56 byte (default) olarak belirleyip çalıştırınız. Aşağıdaki gibi bir ekran göreceksiniz. Daha sonra paket büyüklüğünü 2000 yaparak Resume butonuna basıp yeniden çalıştırınız. Son olarak 3500 yaparak çalıştırınız. Daha sonra Wireshark ile paket yakalamayı durdurunuz. 2. Yakalanan ize bakış Yakalanan paketler içinde Windows makine kullanıyorsanız bilgisayarınızdan gönderilen birçok ICMP Echo Request paketi, Unix makine kullanıyorsanız birçok UDP segmenti göreceksiniz. Ayrıca gönderilen paketlere cevap olarak ara yönlendiricilerden gelen ICMP TTL-exceeded mesajlarını da göreceksiniz. İlk ICMP Echo Request mesajını seçip detaylı bilgi için Internet Protocol kısmını inceleyerek aşağıdaki soruları cevaplayınız. 1. 2. 3. 4. Bilgisayarınız IP adresi nedir? IP paket başlığındaki üst katman protocol alanı değeri nedir? IP başlık büyüklüğü nedir? IP datagram payload büyüklüğü kaç bayttır? Bu IP datagramı parçalanmış (fragmented) mıdır? Nasıl olduğunu açıklayınız? Yakalanan paketleri IP kaynak adreslerine göre sıralayın (Source sütununa tıklayarak ok aşağıda olacak şekilde) bilgisayarınızdan gönderilen ilk ICMP Echo Request mesajınıseçerek aşağıdaki soruları cevaplandırınız. 5. IP datagram başlık alanlarından hangileri ICMP mesajları gönderilirken devamlı değişmek zorundadır/değişmelidir? 6. Hangileri sabit kalmaktadır? Hangileri sabit kalmak zorunda, hangileri değişebilir? 7. IP datagramı içindeki “Identification” alanındaki değeri her ICMP mesajı için inceleyiniz? Bilgisayarınıza cevap olarak gelen ICMP TTL-exceeded mesajlarını ilk atlamadan itibaren ilerleyerek inceleyin. 8. “Identification” ve TTL alanlarındaki değerler nedir? 9. Bilgisayarınıza cevap olarak gelen ICMP TTL-exceeded mesajları için bu iki değer aynı mı kalmakta değişmekte midir? Araştırınız. IP Datagram Parçalanma (Fragmentation) Tekrar yakalanan paketleri zaman göre sıralayarak aşağıdaki soruları cevaplayınız. 10. pingplotter da paket büyüklüğünü 2000’e değiştirdikten sonraki ilk ICMP Echo Request mesajını bulunuz. Bu mesaj birden fazla IP datagramına parçalanmış mıdır? 11. Parçalanmış IP datagramlarından ilk fragment’i print edin. IP başlığındaki hangi değer datagramın parçalandığını gösterir? Hangi bilgi fragment’in ilk veya sonraki olduğunu gösterir? Bu datagarımın uzunluğu kaçtır? 12. Parçalanmış IP datagramlarından ikinci fragment’i print edin. IP başlığındaki hangi değer datagramın ilk parça olmadığını gösterir? Daha fazla fragment var mı? Nasıl anlarız? 13. IP başlığındaki hangi alanlar bu iki fragment için farklıdır? Wireshark Lab: Ethernet ve ARP Bu bölümde Ethernet protokolünü ve ARP(Address Resolution Protocol) protokolünü inceleyeceğiz. 1. Ethernet çerçevelerinin yakalanması ve analiz edilmesi Wireshark’da paket yakalamayı başlatın. Tarayıcınıza http://gaia.cs.umass.edu/wireshark-labs/HTTP-ethereal-labfile3.html yazınız. Paket yakalamayı durdurun. Bilgisayarınızdan gönderilen HTTP GET istek paketini bularak aşağıdaki soruları cevaplayınız. 1. Bilgisayarınızın 48-bitlik Ethernet adresi nedir? 2. Ethernet çerçevesindeki 48-bitlik hedef adresi nedir? Bu adres “gaia.cs.umass.edu”e ait Ethernet adresi midir? Hangi cihaz Ethernet adresi olarak bu bilgiye sahiptir? 3. 2-baytlık çerçeve tipi alanı (Frame type field) için hexadecimal değeri söyleyiniz? HTTP cevap mesajının ilk baytını içeren Ethernet çerçevesinin içeriğine göre aşağıdaki soruları cevaplayınız. 4. Ethernet kaynak adresinin değeri nedir? Bu adres bilgisayarınızın veya gaia.cs.umass.edu’nun mu adresi? Hangi cihaz Ethernet adresi olarak bu bilgiye sahiptir? 5. Ethernet çerçevesindeki hedef adresi nedir? Bu adres bilgisayarınızın adresi mi? 6. 2-baytlık çerçeve tipi alanı (Frame type field) için hexadecimal değeri söyleyiniz? 7. Ethernet çerçevesindeki CRC alanının hexadecimal değeri nedir? 2. ARP (Address Resolution Protocol) Bu bölümde ARP’yi ele alacağız. ARP Önbellekleme (Caching) Address Resolution Protocol (ARP), hem bir protokol hem de bir araç olarak kullanılabilir. ARP protokol, paket oluşumu sırasında IP adresini MAC adresine çözümlemek için kullanılır. ARP aracı ise ARP protokol tarafından kullanılan ARP cache yapısını yönetmek için kullanır. Broadcast trafiğini azaltmak için, ARP tarafından oluşturulan Cache içinde MAC adresi tutulur. TCP/IP bu kullanım yapılarında ilk olarak Cache içini kontrol eder. Windows komut isteminden (command promt) arp –a yazılarak ARP Cache listesinde bulunan her bir bilgisayarın IP adresi ve MAC adresi (fiziksel adres) görülebilir. 8. Yukarıdaki komut, komut isteminden çalıştırıldıktan görülen her bir sütunun ne anlama geldiğini açıklayınız? 9. arp -s InetAddr EtherAddr komutu ile IP adresinden (InetAddr) Ethernet adresine (EtherAddr)dönüşüm yapan yeni bir entry eklenebilir. Doğru IP adresi girilip uzak arayüz (interface) için yanlış Ethernet adresi girilirse ne olur? 10. Bir entry’nin ARP cache’nde kalması için tanımlanan default süre nedir?
© Copyright 2024 Paperzz