Datorsystem Laboration 4: N¨atverk Senast uppdaterad: 9 mars 2012 Version 1.3 Student: L¨arare: Underskrift: Underskrift: Datum: Datorsystem Laboration 4 1 Inneh˚ all 1 Inledning 1.1 Introduktion . . . . . . . . 1.2 Labbens syfte . . . . . . . . 1.3 Formalia . . . . . . . . . . . 1.4 Litteratur till laborationen . 1.5 Innan du b¨ orjar med labben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 2 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 6 6 6 3 Bra att veta 3.1 Telnet i terminalen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 PuTTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 A Att anv¨ anda svenska bokst¨ aver i e-post 8 . . . . . . . . . . . . . . . . b¨ or du . . . . . . . . . . . . ha: 2 Laborationsuppgifter 2.1 Lager . . . . . . . . . . . . . . . . . 2.2 Portar . . . . . . . . . . . . . . . . . 2.3 HTTP . . . . . . . . . . . . . . . . . 2.4 SMTP . . . . . . . . . . . . . . . . . 2.5 DNS . . . . . . . . . . . . . . . . . . 2.6 Wireshark . . . . . . . . . . . . . . . 2.7 Att st¨ alla en fr˚ aga till en webserver . 2.7.1 Deluppgift 1 . . . . . . . . . 2.7.2 Deluppgift 2 . . . . . . . . . 2.7.3 Deluppgift 3 . . . . . . . . . 2.7.4 Felaktiga svar . . . . . . . . . 2.8 De undre lagren . . . . . . . . . . . . 2.8.1 Deluppgift 1 . . . . . . . . . 2.9 Att skicka e-post . . . . . . . . . . . 2.9.1 Deluppgift 1 . . . . . . . . . 2.9.2 Att f˚ a svar fr˚ an pi@dsv.su.se 2.10 Domain Name System . . . . . . . . 2.10.1 Deluppgift 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datorsystem 1 Laboration 4 2 Inledning 1.1 Introduktion Idag finns m˚ anga tj¨ anster som anv¨ ander sig av kommunikationsn¨at s˚ asom internet eller lokala n¨atverk f¨ or att skicka data mellan olika anv¨ andare. Speciellt f¨or mer avancerade n¨atverkstj¨anster har man stor nytta av att f¨ orst˚ a hur ett n¨ atverk fungerar och hur de olika protokollen fungerar s˚ a att man kan bygga en s˚ a bra tj¨ anst som m¨ ojligt. Efter att du har klarat av den h¨ ar labben ska du ha bekantat dig med n˚ agra n¨atverksprotokoll och veta hur data skickas o ver ett n¨ a tverk. ¨ 1.2 Labbens syfte Tanken med denna laboration ¨ ar att den ska l¨ara dig mer om n¨atverk och ge en praktisk f¨orst˚ aelse f¨ or protokoll och n¨ atverkslagren. 1. F¨ orst˚ aelse f¨ or de olika lagren i TCP/IP-stacken. 2. F¨ orst˚ aelse f¨ or n¨ atverksprotokoll 1.3 Formalia Denna laboration a a egen dator hemma eller i ¨r en hemlabb, vilket inneb¨ar att den kan g¨oras antingen p˚ DSV:s datorsalar. Labben ska g¨ oras ensam eller tv˚ a och tv˚ a men redovisas enskilt a¨ven om man arbetat i par. Bokning av redovisning sker i Daisy. Under redovisningen f¨ orv¨ antas alla svar finnas p˚ a papper eftersom inga datorer f˚ ar medtagas p˚ a redovisningen. Se till att ha med samtliga delsteg i utskriften av era svar s˚ a att ni kan visa hur ni n˚ att ert svar och kan motivera det. 1.4 Litteratur till laborationen • HTTP - http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol • Svarskoder i HTTP - http://en.wikipedia.org/wiki/List_of_HTTP_status_codes • TCP - http://en.wikipedia.org/wiki/Transmission_Control_Protocol • IP - http://en.wikipedia.org/wiki/IPv4 • DNS - http://en.wikipedia.org/wiki/Domain_Name_System • SMTP - http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol • Mailformat - http://en.wikipedia.org/wiki/Email#Message_format • Hur man anv¨ ander Wireshark (video) - http://wiresharkdownloads.riverbed.com/video/wireshark/ introduction-to-wireshark/ 1.5 Innan du b¨ orjar med labben b¨ or du ha: • L¨ ast igenom hela detta lab-PM • Laddat ned senaste versionen av Wireshark1 . Detta g¨aller om du g¨or labben p˚ a din egen dator. • Kontrollerat att Wireshark fungerar p˚ a den dator du anv¨ander. • [Om du k¨ or Mac/Linux] Kontrollerat att du har kommandot telnet i din terminal. • [Om du k¨ or Windows] Ladda ned PuTTY2 . Detta g¨aller naturligtvis bara om du g¨or laborationen p˚ a din egen dator. Om du kommer anv¨anda PuTTY b¨or du l¨asa sektion 3.2. 1 http://www.wireshark.org/download.html 2 http://www.chiark.greenend.org.uk/ ~sgtatham/putty/download.html Datorsystem 2 Laboration 4 3 Laborationsuppgifter 2.1 Lager a) Vilka lager finns det i TCP/IP-modellen och i vilken ordning kommer de? b) Varf¨ or har man valt att modellera TCP/IP med lager? 2.2 Portar a) Totalt finns 65536 portar, men man brukar dela in dessa i tre omr˚ aden. Vad brukar dessa omr˚ aden kallas (engelska namnen g˚ ar utm¨ arkt) och vilka portnummer h¨or till vilka omr˚ aden? b) Vilka portar anv¨ ands vanligtvis f¨ or HTTP? c) Vilken port anv¨ ands vanligtvis f¨ or SMTP? 2.3 HTTP a) Vilken svarskod f˚ ar man fr˚ an en webserver om allt g˚ att v¨al? b) Vilken svarskod f˚ ar man om webservern inte kan hitta resursen som efterfr˚ agas? c) Vilken svarskod f˚ ar man om man fr˚ agar efter en resurs som har flyttats? d) Vad betyder det om man f˚ ar svarskoden 401? e) Vilka olika f¨ orfr˚ agningar kan man g¨ora med HTTP? Ledning: De kallas ”request methods” p˚ a engelska. 2.4 SMTP a) Hur ser kommandot ut f¨ or att ange avs¨andarens namn och adress enligt SMTP? b) Hur ser kommandot ut f¨ or att ange mottagarens namn och adress enligt SMTP? c) Hur ser kommandot ut f¨ or att ange sj¨alva texten i ett e-postmeddelande enligt SMTP? d) Vilket kommando fr˚ agar en SMTP-server om vilka extensions den st¨odjer? e) Ett e-postmeddelande best˚ ar av tv˚ a delar: Header och Body. Vilka tv˚ a f¨alt m˚ aste alltid finnas i headern? Ledning: L¨ as om formatet f¨or e-post p˚ a Internet3 2.5 DNS a) Vilken typ av DNS-post ska man fr˚ aga efter om man vill veta IPv4-adressen f¨or en dom¨an? Ledning: En post kallas Resource Record p˚ a engelska. b) Vilken typ av DNS-post ska man fr˚ aga efter om man vill veta IPv6-adressen f¨or en dom¨an? c) Vilken typ av DNS-post ska man fr˚ aga efter om man vill veta vilken mailserver som finns f¨or en dom¨ an? 2.6 Wireshark a) Hur anger man ett filter i Wireshark f¨or att bara se trafik som inneh˚ aller HTTP? b) Hur f¨ oljer man en specifik TCP-str¨ om i Wireshark? 3 http://en.wikipedia.org/wiki/Email#Message_format Datorsystem 2.7 Laboration 4 4 Att st¨ alla en fr˚ aga till en webserver HTTP ¨ ar ett textbaserat protokoll och g˚ ar utm¨arkt att anv¨anda ”f¨or hand”, ¨aven om det naturligtvis ¨ ar betydligt vanligare att man anv¨ ander en webbl¨asare som sk¨oter HTTP-kommunikationen ˚ at anv¨andaren. I den h¨ ar delen av labben kommer du att kommunicera med en webserver med hj¨alp av Telnet4 , ett protokoll f¨ or att skicka data ¨ over TCP. Telnet anv¨ ands ofta just f¨ or att testa protokoll som skickar data i klartext, exempelvis HTTP, SMTP och POP3 (de b˚ ada sistn¨ amnda hanterar e-post). 2.7.1 Deluppgift 1 ¨ 1) Oppna ett terminalf¨ onster och koppla upp mot webbservern med hj¨alp av telnet. Webbserverns address ¨ ar da.dsv.su.se och porten ¨ar 80. Om du k¨or Windows ansluter du ist¨allet med hj¨alp av PuTTY (gl¨ om inte att ansluta i l¨ aget Raw, inte Telnet). 2) Fr˚ aga efter resursen /art.txt. 3) Vilket svar f˚ ar du? Ta med hela konversationen fr˚ an telnet/PuTTY i ditt svar, b˚ ade header och data. 4) Vad betyder svarskoden du fick? 2.7.2 Deluppgift 2 ¨ 1) Oppna ett terminalf¨ onster och koppla upp mot webbservern med hj¨alp av telnet (eller PuTTY). Webbserverns address ¨ ar da.dsv.su.se och porten ¨ar 80. 2) Fr˚ aga efter resursen /layers.html. 3) Vilket svar f˚ ar du? Ta med hela konversationen fr˚ an telnet/PuTTY i ditt svar, b˚ ade header och data. 4) Vad betyder svarskoden du fick? 2.7.3 Deluppgift 3 ¨ 1) Oppna ett terminalf¨ onster och koppla upp mot webbservern med hj¨alp av telnet (eller PuTTY). Webbserverns address ¨ ar da.dsv.su.se och porten ¨ar 80 2) Fr˚ aga efter resursen /grades.txt. 3) Vilket svar f˚ ar du? Ta med hela konversationen fr˚ an telnet/PuTTY i ditt svar, b˚ ade header och data. 4) Vad betyder svarskoden du fick? 2.7.4 Felaktiga svar Om du f˚ ar svaret 400 Bad Request betyder det att du skickat en felaktig f¨orfr˚ agan. Det ¨ar inte det s¨okta svaret i labben och du beh¨ over se ¨ over din f¨orfr˚ agan f¨or att se vad som ¨ar fel. 2.8 De undre lagren I den tidigare uppgiften har du tittat p˚ a hur HTTP fungerar. I den h¨ar uppgiften kommer vi att titta p˚ a hur protokollen i lagren under applikationslagret ser ut med hj¨alp av Wireshark. 4 http://en.wikipedia.org/wiki/Telnet Datorsystem 2.8.1 Laboration 4 5 Deluppgift 1 Precis som i f¨ orsta uppgiften kommer vi anv¨anda telnet/PuTTY f¨or att ansluta till en webbserver. Den h¨ ar g˚ angen kommer vi ocks˚ a att starta Wireshark f¨or att kunna titta p˚ a paketen p˚ a mer ¨an applikationsniv˚ a. 1) Starta Wireshark och starta en ny ”capture” p˚ a det n¨atverksinterface du anv¨ander f¨or att ansluta till internet. Det h¨ ar ¨ ar olika f¨ or olika operativsystem (och f¨or Linux olika mellan olika distributioner) och uppkopplingss¨ att, s˚ a det b¨asta ¨ar om du provat Wireshark innan s˚ a att du vet vilket interface du ska anv¨ anda. 2) Starta PuTTY/telnet och anslut till da.dsv.su.se p˚ a port 80 och fr˚ aga efter resursen /art.txt. 3) Stoppa din ”capture” i Wireshark och applicera ett filter f¨or att bara se HTTP-paket. 4) Leta p˚ a paketet d¨ ar du fr˚ agar efter /art.txt. (a) Mellan vilka IP-adresser skickas paketet? (b) Mellan vilka portar g˚ ar paketet? (c) Hur m˚ anga TCP-segment beh¨ ovdes f¨or att skicka hela HTTP-paketet? (d) Mellan vilka MAC-adresser g˚ ar paketet? 2.9 Att skicka e-post En av internets ¨ aldsta tj¨ anster ¨ ar e-post, och idag ¨ar protokollen som anv¨ands f¨or att skicka och l¨ asa e-post bland de vanligaste protokollen. Vanligtvis anv¨ands tre protokoll: SMTP, POP3 och IMAP. SMTP anv¨ ands f¨ or att skicka e-post medan POP3 och IMAP anv¨ands f¨or att l¨asa e-post. Samtliga protokoll kan anv¨ andas ¨ over telnet, precis som HTTP, men i labben kommer vi anv¨anda SMTP via telnet f¨or att skicka ett meddelande medan vi l¨ aser svaret med en klient. 2.9.1 Deluppgift 1 1) Du beh¨ over vara uppkopplad p˚ a DSVs n¨atverk f¨or att g¨ora denna del av labben. Antingen kan man g¨ ora den h¨ ar delen av labben i en datorsal eller s˚ a fj¨arransluter man till DSV. Anv¨ander man Windows kan man anv¨ anda programmet Fj¨arranslutning f¨or att ansluta till triton.dsv.su.se och anv¨ anda PuTTY d¨ arifr˚ an. Anv¨ ander man Mac/Linux kan man SSHa till triton och k¨ora telnet d¨ arifr˚ an.5 2) Starta en terminal eller PuTTY och anslut till mail.dsv.su.se p˚ a port 25. 3) H¨ alsa p˚ a SMTP-servern. Det spelar egentligen ingen roll vilken host du h¨alsar fr˚ an, men ett tips ar att anv¨ anda din dators namn. ¨ 4) Skicka ett mail till pi@dsv.su.se med en kopia till dig sj¨alv med rubriken ”Labb 4” och meddelandet ”Jag skickar e-post med SMTP!”.6 Observera att du m˚ aste skicka fr˚ an den e-post-adress du har i Daisy!7 (a) Hur ser konversationen mellan dig och SMTP-servern ut? Ta med hela konversationen fr˚ an telnet/PuTTY i utskriften av dina svar. (b) Vad fick du f¨ or svar fr˚ an pi@dsv.su.se? 5 L¨ as mer om hur man g¨ ora detta p˚ a http://dsv.su.se/utbildning/it/datorutrustning/atkomst e-post kan inte hantera svenska tecken (˚ a¨ a¨ o). Den som ¨ ar intresserad kan l¨ asa mer om detta under Att anv¨ anda svenska bokst¨ aver i e-post. 7 Om du av n˚ agon anledning inte har tillg˚ ang till den adress du har angiven i Daisy m˚ aste du h¨ ora av dig till kursledningen. 6 Standard Datorsystem 2.9.2 Laboration 4 6 Att f˚ a svar fr˚ an pi@dsv.su.se F¨ or att bli godk¨ and p˚ a uppgiften ska man ha f˚ att svar fr˚ an pi@dsv.su.se. Om man inte f˚ ar det beror det i regel antingen p˚ a att man skickar fr˚ an en annan adress ¨an den man hade angiven i Daisy n¨ ar e-postadresserna exporterades, eller p˚ a att man anger en felaktig header. Kontrollera b˚ ada dessa om du inte f˚ ar svar fr˚ an pi@dsv.su.se. 2.10 Domain Name System De tidigare applikationslagerprotokollen vi tittat p˚ a har skickat data i klartext. I den h¨ar uppgiften ska vi titta n¨ armre p˚ a DNS, ett protokoll som inte skickar data i ett format som ¨ar l¨asbart rakt av. 2.10.1 Deluppgift 1 Som vanligt anv¨ ands tv˚ a olika tillv¨ agag˚ angss¨att p˚ a Linux/OS X och Windows. B˚ ada beskrivs i uppgiften, anv¨ and den som ¨ ar r¨ att f¨ or ditt operativsystem. Vi ska ocks˚ a anv¨anda Wireshark f¨or att kunna inspektera trafiken p˚ a paketniv˚ a. 1) Starta Wireshark och starta en ny ”capture” p˚ a det interface som du anv¨ander f¨or att ansluta till internet. 2) Start en terminal/kommandoprompt8 och skriv in f¨oljande: Windows ipconfig /flushdns Mac dscacheutil -flushcache Linux /etc/rc.d/init.d/nscd restart Om du saknar nscd b¨or du kunna forts¨atta till n¨asta steg. 3) Om du k¨ or Linux/OS X (Mac) skriver du dig dsv.su.se. Om du ist¨allet k¨or Windows skriver du nslookup dsv.su.se. 4) St¨ ang av din ”capture” i Wireshark och applicera ett filter f¨or att bara se DNS-trafik. 5) Leta p˚ a paketet som inneh˚ aller ”Standard query” f¨or dsv.su.se. (a) Vilken DNS-typ fr˚ agar du efter? (b) Vad f˚ ar du f¨ or svar i terminalen/kommandoprompten n¨ar du k¨or dig/nslookup? (c) Vilket transportprotokoll anv¨ ander DNS? (d) Mellan vilka portar skickas data? 8 http://windows.microsoft.com/sv-SE/windows-vista/Command-Prompt-frequently-asked-questions Datorsystem 3 3.1 Laboration 4 7 Bra att veta Telnet i terminalen Om man anv¨ ander Linux eller OS X (Mac) kan man anv¨anda kommandot telnet f¨or att ansluta till en webbserver. Kommandot anv¨ ander man genom att skriva telnet adress port i terminalf¨onstret. Exempel: telnet da.dsv.su.se 80. Observera att det ¨ ar mellanslag mellan telnet och adressen, samt mellan adressen och porten. 3.2 PuTTY Om man anv¨ ander Windows g˚ ar det f¨ orvisso att installera kommandot telnet i kommandopromptern, men det ¨ ar betydligt enklare att ladda hem programmet PuTTY. PuTTY finns att ladda ned p˚ a sidan http:// www.chiark.greenend.org.uk/~sgtatham/putty/download.html och du b¨or v¨alja den versionen som bara heter PuTTY (putty.ext). N¨ ar du ska anv¨ anda PuTTY f¨ or denna labb finns det ett par inst¨allningar som beh¨over g¨oras f¨or att allt ska fungera ordentligt. P˚ a bilden nedan finns fyra f¨alt markerade med inst¨allningar som ¨ar l¨ampliga f¨ or delar av labben. Host name anger adressen som man ska ansluta till och Port anger portnumret. Under valen f¨ or Connection type ska ni v¨alja Raw, eftersom det annars kommer skickas extra data som webbservern inte f¨ orst˚ ar. Under Close window on exit b¨or du v¨alja Never, eftersom PuTTY annars kommer st¨ anga f¨ onstret s˚ a snart anslutningen st¨angs (vilket den g¨or n¨ar webbservern skickat ett svar). Gl¨ ommer ni att klicka i Never kommer ni inte hinna l¨asa svaret fr˚ an webbl¨asaren innan anslutningen st¨ angs. Figur 1: Startsk¨armen f¨or PuTTY Datorsystem A Laboration 4 8 Att anv¨ anda svenska bokst¨ aver i e-post E-post kodar inneh˚ allet i ett meddelande enligt standarden American Standard Code for Information Interchange (ASCII). Som kanske m¨ arks av namnet a¨r standarden amerikansk, och d¨arf¨or finns det inga ¨ svenska tecken i den. Aven andra europeiska tecken saknas, och man har d¨arf¨or ut¨okat ASCII i flera olika varianter d¨ ar flera av dessa varianter inneh˚ aller svenska tecken. F¨ or att kunna skicka e-post med annan teckenkodning ¨an standard ASCII eller som inneh˚ aller bilagor finns en standard vid namn Multipurpose Internet Mail Extensions (MIME). MIME beskriver hur man anger i, bland annat, e-post att man anv¨ ander en annan eller flera teckenkodningar. I e-post betyder det att man anger vissa MIME-relaterade uppgifter i DATA-delen av ett meddelande. N¨ ar det g¨ aller kodning (encoding p˚ a engelska) finns det flera olika varianter. F¨orst v¨aljer man ett s¨att att koda ¨ overf¨ oringen av data (Content-Transfer-Encoding), och d¨ar finns ett flertal att v¨alja mellan. Ska man bara koda text kan man bland annat anv¨anda quoted-printable, vilket ocks˚ a rekommenderas om ni vill anv¨ anda svenska tecken i denna labb. Man anger ocks˚ a vilken typ av data (Content-Type) man skickar, och de tv˚ a huvudtyperna ¨ar text eller bin¨ ar data. H¨ ar skickar vi text, och d˚ a brukar man ocks˚ a tala om vilken teckenkodning man anv¨ander. ¨ Aven h¨ ar finns flera att v¨ alja mellan, bland annat UTF-8 eller iso-8859-1. Mer om detta kan du l¨ asa h¨ ar: • MIME - http://en.wikipedia.org/wiki/MIME • Quoted-printable - http://techhelp.santovec.us/decode.htm#qp • Encoding/decoding quoted-printable - http://www.motobit.com/util/quoted-printable-encoder. asp
© Copyright 2024