Differences

This shows you the differences between two versions of the page.

Link to this comparison view

systems:uso:laboratoare:laborator-09 [2012/09/20 23:43]
paul.vlase
— (current)
Line 1: Line 1:
-====== Laborator 09 - Servicii de rețea ====== 
  
-====== Descriere ====== 
-  * Modelul client-server 
-  * Browsing: Firefox, addons, sintaxa unui URL 
-  * SSH, SCP (mentionat si mai devreme, prompt modificat pe mașinile de la distanță) 
-  * Chei SSH, utilizare port non-standard pentru SSH 
-  * netstat, netcat, nmap 
-  * Modelul P2P: BitTorrent 
-  * Wireshark 
-  * ** TODO: VPN ** 
- 
-Referințe din urmă: 
-  * SSH 
-  * creare de utilizatori (lab 04) 
-  * inspectarea rețelei (lab 08) 
- 
-===== Concepte și comenzi importante ===== 
- 
-**Tutorial** 
-* adresă MAC, adresă IP, mască de rețea (subnet mask), default gateway, nameserver 
-* ifconfig, route, resolv.conf,​ ping 
-* configurare dinamică, DHCP, dhclient 
-* configurare statică 
- 
-**Exerciții** 
-* configurări permanente 
-* ifup, ifdown 
-* /etc/hosts 
- 
- 
-===== Mașini virtuale ===== 
- 
-Laboratorul folosește două mașini virtuale, [[http://​elf.cs.pub.ro/​uso/​store/​uso-vm-sheldon.tar.gz|sheldon]] și [[http://​elf.cs.pub.ro/​uso/​store/​uso-vm-leonard.tar.gz|leondard]]. Ambele au instalat [[http://​www.debian.org|Debian GNU/Linux 5.0]]. Această distribuție nu vine cu ''​sudo''​ instalat. 
-* Pentru acces de ''​root'',​ folosiți utilizatorul ''​root''​ și parola ''​uso''​. 
-* Fiecare mașină mai are și un utilzator normal, numit ''​sheldon'',​ respectiv ''​leonard'',​ ambele cu parola ''​uso''​. 
- 
- 
-===== Suport laborator ===== 
- 
-  * [[http://​books.google.com/​books?​id=_JFGzyRxQGcC&​lpg=PA532&​dq=introducere%20in%20sisteme%20de%20operare&​pg=PA217#​v=onepage&​q&​f=false|8. Configurări de rețea]] 
-  * Puteți urmări tutorialul video corespunzător laboratorului făcut de [[http://​itassistant.org/​diverse/​utilizarea-sistemelor-de-operare/​utilizarea-sistemelor-de-operare-5.html|IT Assistant]]. 
- 
- 
-===== Tutorial ====== 
- 
-<note warning> 
-Înainte de a porni mașina virtuală: 
-  * editați parametrii hardware ai mașinii ''​lucas.local''​. Puneți prima interfață de rețea în modul **Bridged**. Acest mod plasează mașina virtuală în aceeași rețea locală ca și mașina fizică. 
-După pornirea mașinii virtuale: 
-  * aflați IP-ul de pe interfața ''​eth0''​ a mașinii virtuale. Trebuie să fie în rețeaua 172.16.4.0/​22. 
-  * **pe mașina fizică**, editați fișierul ''/​etc/​hosts''​ pentru a adăuga o mapare a numelui ''​lucas.local''​ la IP-ul mașinii virtuale. 
-  * pentru verificare, folosiți ''​ping lucas.local''​ și asigurați-vă că răspunde IP-ul mașinii virtuale. 
-</​note>​ 
- 
- 
-===== 1. WWW. Homepages and Bookmarks ===== 
- 
-<​hidden>​ 
-  * TCP vs UDP recap. Sumar, nu intrăm în detalii scârboase :-) 
-  * Ce este WWW. Ce este Firefox. Alte browsere. 
-  * Conceptul de homepage și bookmark 
-</​hidden>​ 
- 
-Veți folosi Mozilla Firefox pentru a naviga web-ul, ca și până acum. 
-  * Configurați două pagini web ca //​homepages//:​ 
-    * Accesați fereastra de preferințe:​ Edit->​Preferences. Selectați tab-ul General. 
-    * În rubrica Startup, selectați **When Firefox Starts** //Show my homepage//. 
-    * Setați două pagini de start în rubrica Home Page. Folosiți caracterul **''​|''​** (pipe) pentru a le separa. Paginile sunt http://​www.google.com/​ și http://​starwars.wikia.com/​. 
-  * Pentru că sunteți atât de interesați de universul Star Wars, configurați un bookmark pentru pagina despre Star Wars de pe Wikipedia. 
-    * Navigați la http://​en.wikipedia.org/​ și căutați Star Wars. 
-    * Accesați pagina și dați click pe steluța de lângă adresă, în partea de sus a ecranului. 
-    * Mai dați o dată click pe steluța "​aprinsă"​ pentru opțiuni avansate în ceea ce privește bookmark-ul. 
- 
- 
-===== 2. Firefox ca download manager ===== 
- 
-Accesați fereastra de preferințe și schimbați directorul unde Firefox descarcă fișiere. Directorul va fi **''​~/​my_downloads''​**. Va trebui să îl creați înainte. 
- 
-Downloadați următoarele fișiere: 
-  * http://​lucas.local/​anakin.bin 
-  * http://​lucas.local:​80/​macewindu.bin 
-  * http://​lucas.local:​8080/​yoda.bin 
-  * ftp://​student:​uso@lucas.local/​obiwan.bin 
- 
-Concatenați fișierele în ordine alfabetică pentru a obține o maximă din Star Wars. 
- 
-Aveți mai jos forma generală a unui URL. Exemplele de mai sus demostrează că unele componente pot lipsi. 
- 
-{{http://​elf.cs.pub.ro/​uso/​store/​06_url.png}} 
- 
- 
-===== 3. Autentificare la distanță. SSH ===== 
- 
-Folosiți **''​ssh''​** pentru a vă autentifica drept utilizatorul **''​lucas''​** pe mașina **''​lucas.local''​**:​ 
- 
-<code bash> 
-ssh lucas@lucas.local 
-</​code>​ 
- 
-  * Raspundeți "​yes"​ la întrebarea despre adăugarea cheii în RSA în baza de date locală. 
-  * Observați schimbarea prompt-ului. Acum vă aflați pe mașina virtuală. 
-  * Tot timpul când lucrați prin SSH trebuie să fiți atenți pe ce mașină vă aflați. 
-  * SSH pornește un shell remote, deci pentru a închide sesiunea folosiți **''​exit''​** sau **''​Ctrl-D''​**,​ ca pentru orice alt shell. 
- 
- 
-===== 4. SSH neinteractiv ===== 
- 
-<note warning> 
-**Nu** închideti sau reporniți calculatoarele colegilor folosind SSH.  
-</​note>​ 
- 
-Folosiți SSH neinteractiv pentru a scoate tăvița CD-ROM-ului colegului din dreapta: 
- 
-<code bash> 
-ssh student@nume-masina.local eject 
-</​code>​ 
- 
-  * Mașinile din laborator au numele scris pe ele. 
-  * Topologia din laborator este circulară: dacă nu aveți pe nimeni în dreapta săriți peste calculatoarele libere sau faceți wrap-around. 
-  * Observați că, după introducerea parolei și executarea comenzii, **nu** se mai pornește un shell interactiv. 
- 
-<note tip> 
-În laborator nu este instalat serverul SSH și nu merge să fie pornit în mod clasic. Pentru a rezolva problema, rulați următoarele comenzi: 
-<code bash> 
-sudo apt-get install openssh-server 
-sudo mkdir /​var/​run/​sshd 
-# Comanda de mai jos pornește efectiv serverul 
-sudo /​usr/​sbin/​sshd & 
-</​code>​ 
-</​note>​ 
- 
- 
-===== 5. Secure Copy (SCP) ===== 
- 
-Reveniți la download-urile anterioare. Concatenați,​ în ordine alfabetică,​ fișierele obținute, în fișierul ''​quote.txt'':​ 
- 
-<code bash> 
-cat anakin.bin macewindu.bin obiwan.bin yoda.bin > quote.txt 
-</​code>​ 
- 
-Copiați fișierul ''​quote.txt''​ de pe mașina fizică în home-ul utilizatorului ''​lucas''​ de pe mașina virtuală. Folosiți **''​scp''​**:​ 
- 
-<code bash> 
-scp quote.txt lucas@lucas.local:​ 
-</​code>​ 
- 
-<note tip> 
-Observați sintaxa ''​scp'';​ este asemănătoare cu cea a utilitarului ''​cp'',​ dar oricare dintre cei doi termeni poate fi de forma ''​user@host:​path''​. 
-  * Când ''​user@host''​ lipsește, este vorba despre mașina locală. 
-  * Când ''​path''​ lipsește, este vorba despre directorul home al utilizatorului specificat. 
-</​note>​ 
- 
- 
-====== Exerciții ====== 
- 
-===== 1. Firefox Addons ===== 
- 
-Firefox are un plugin care ascunde toate reclamele de pe pagini. 
-  * Intrați pe http://​starwars.wikia.com/​. Identificați reclamele în partea de sus a paginii. 
-  * Instalați addon-ul AdBlock Plus. Reporniți browser-ul atunci când vi se cere. 
-  * Accesați din nou pagina inițială. Much better, right? 
- 
-Unele reclame nu sunt doar enervante, ci dăunătoare ochilor sau malițioase (script-uri care urmăresc activitatea). 
- 
-<note tip> 
-Există numeroase extensii de Firefox, disponibile pe [[http://​addons.mozilla.org|site-ul oficial]]. Câteva sugestii: 
-  * [[https://​addons.mozilla.org/​en-US/​firefox/​addon/​1843/​|Firebug]] -- inspectarea codului sursă al unei pagini; util pentru dezvoltatorii web. 
-  * [[https://​addons.mozilla.org/​en-US/​firefox/​addon/​433/​|Flashblock]] -- blochează tot conținutul flash; util pentru calculatoarele mai vechi. 
-  * [[https://​addons.mozilla.org/​en-US/​firefox/​addon/​684/​|FireFTP]] -- client complet pentru FTP; permite și upload-area de fișiere. 
-  * [[https://​addons.mozilla.org/​en-US/​firefox/​addon/​6584/​|Flash Video Downloader]] -- pentru descărcarea locală a filmelor de pe YouTube și alte site-uri similare. 
-  * [[https://​addons.mozilla.org/​en-US/​firefox/​addon/​201/​|DownThemAll!]] -- Download manager avansat, include opțiunea de a salva toate link-urile de pe o pagină. 
-  * [[https://​addons.mozilla.org/​en-US/​firefox/​addon/​4891/​|Vimperator]] -- face Firefox să se comporte mai mult ca Vim. 
-</​note>​ 
- 
- 
-===== 2. Autentificarea SSH folosind chei ===== 
- 
-Configurați sistemul **''​lucas''​** pentru a vă putea autentifica drept utilizatorul ''​lucas''​ fără parolă: 
-  * Folosiți **''​ssh-keygen''​** //pe mașina fizică// pentru a genera o cheie. 
-    * Apăsați Enter la întrebarea prompt-ul care întreabă unde va fi salvată cheia. Se va folosi locația din paranteză. 
-    * Nu puneți passphrase pe cheie. Dacă puneți, la autentificare,​ în loc de parola utilizatorului remote, vi se va cere passphrase-ul cheii. 
-  * Folosiți **''​ssh-copy-id''​** pentru a copia cheia pe mașina virtuală. ​ Destinația este în același format cu cea acceptată de **''​ssh''​**. 
-  * Folosiți **''​ssh''​**. Nu ar trebui să vi se mai ceară o parolă. 
- 
-Cheile generate (publică și privată) sunt pe mașina fizică în directorul **''​~/​.ssh''​**. Vizualizați-le. Comparați cheia publică de pe mașina fizică cu conținutul fișierului **''​~/​.ssh/​authorized_keys''​** de pe mașina virtuală. 
- 
-<​solution>​ 
-<code bash> 
-$ ssh-keygen 
-Generating public/​private rsa key pair. 
-Enter file in which to save the key (/​home/​ddvlad/​.ssh/​id_rsa):​ 
-Enter passphrase (empty for no passphrase): ​ 
-Enter same passphrase again: ​ 
-[...] 
-$ ssh-copy-id lucas@lucas.local 
-# Se va cere parola utilizatorului lucas 
-$ ssh lucas@lucas.local 
-# Nu se va cere parolă 
-</​code>​ 
-</​solution>​ 
- 
- 
-===== 3. SCP folosind chei ===== 
- 
-SCP folosește SSH pentru transfer. Astfel, pentru că acum vă puteți autentifica fără parolă pe ''​lucas.local'',​ puteți folosi și ''​scp''​ fără parolă. 
- 
-Copiați directorul ''/​var/​starwars''​ de pe mașina virtuală pe sistemul fizic. 
-  * Folosiți scp ca utilizator ''​lucas''​. 
-  * Puteți specifica, după partea de host, o cale absolută pe disc. 
-  * Va trebui, de asemenea, să folosiți un parametru al ''​scp''​ pentru a copia recursiv. Folosiți manualul. 
- 
-<​solution>​ 
-<code bash> 
-$ scp -r lucas@lucas.local:/​var/​starwars . 
-</​code>​ 
-</​solution>​ 
- 
- 
-===== 4. BitTorrent ===== 
- 
-Descărcați fișierul torrent de [[http://​elf.cs.pub.ro/​uso/​store/​rednalob_480_dl.mov.torrent|aici]]. Folosiți Transmission,​ clientul implicit de BitTorrent pe Ubuntu, pentru a descărca trailerul episodului 3 al Star Wars. 
- 
- 
-===== 5. Netstat ===== 
- 
-Inspectați porturile deschise de pe mașina virtuală. Folosiți ''​netstat''​. 
-  * Listați doar porturile TCP în starea //​listening//​. 
-  * Afișați valorile numerice ale porturilor. 
- 
-Corelați numărul portului cu exercițiul la care a fost folosit serviciul corespunzător. 
- 
-<​solution>​ 
-<code bash> 
-$ netstat -tlpn 
-</​code>​ 
-</​solution>​ 
- 
- 
-===== 6. Inspectarea traficului de rețea. Wireshark ===== 
- 
-  * Wireshark este un program care capturează și analizează traficul de rețea. Instalați-l și porniți-l ca ''​root''​. Pornirea ca root este necesară pentru a putea captura pachete. 
-  * Folosiți butonul din stânga toolbar-ului (//List available interfaces//​). Selectați interfața ''​eth0''​. 
-  * Accesați ftp://​student:​uso@lucas.local/​obiwan.bin. Observați că apar în Wireshark în timp real pachetele schimbate. 
-  * Opriți captura de pachete. 
-  * Analizați traficul. Descoperiți pachetul care trimite parola. Observați că este trimisă în clar. Oricine ascultă pe linie o poate vedea. 
- 
-<note tip> 
-Nu lăsați niciodată pornită captura de pachete în Wireshark mai mult decât este necesar. Vor fi capturate multe pachete și veți rămâne rapid fără memorie. 
-</​note>​ 
- 
- 
-===== 7. Client HTTP în linia de comandă ===== 
- 
-  * ''​wget''​ este un client neinteractiv pentru protocolul HTTP. 
-  * Folosiți-l pentru a descărca fișierul de la http://​lucas.local:​80/​macewindu.bin. 
- 
-<note tip> 
-  * Avantajul ''​wget''​ este că poate fi folosit în script-uri shell, despre care veți învăța mai multe în laboratorul 10. 
-  * Există, de asemenea, clienți interactivi în mod text: ''​links'',​ ''​elinks'',​ ''​lynx'',​ ''​w3m''​. 
-  * Un alt tool interesant este [[http://​en.wikipedia.org/​wiki/​HTTrack|HTTrack]]. 
-</​note>​ 
- 
-<​solution>​ 
-<code bash> 
-$ wget http://​lucas.local:​80/​macewindu.bin 
-</​code>​ 
-</​solution>​ 
- 
- 
-===== 8. Configurări avansate Firefox ===== 
- 
-**a)** Folosiți ''​[[http://​kb.mozillazine.org/​Firefox_:​_FAQs_:​_About:​config_Entries|about:​config]]''​ pentru a configura modul de afișare al butonului de închidere pentru tab-uri. Configurați Firefox astfel încât să fie afișat un singur buton de închidere a tab-ului, la sfârșitul tab bar-ului. 
- 
-**b)** ​ Utilizând pagina de configurări interne Firefox about:​config,​ setați ca atunci când căutați ceva folosind motorul de căutare extern (căsuța de căutare din dreapta căsușei de adresă), să se deschidă o fereastră nouă. 
- 
-<note tip>​Căutați,​ folosind filtrul, variabila ''​browser.search.openintab''​.</​note>​ 
- 
-===== 9. Netcat pentru transfer de fișiere ===== 
- 
-Folosiți ''​netcat''​ (executabilul se mai numește și ''​nc''​) pentru a transfera un fișier între mașina fizică și cea virtuală. 
- 
- 
-===== 10. Instant HTTP server ===== 
- 
-Puteți porni un server HTTP read-only, restricționat la directorul curent, folosind 
- 
-<code bash> 
-student@uso:​~$ python -m SimpleHTTPServer [port] 
-</​code>​ 
- 
-Dacă ultimul parametru lipsește, serverul este pornit pe portul 8000. Puteți opri server-ul folosind Ctrl-C. 
- 
-Aceasta este o metodă foarte rapidă de a transfera fișiere mari între două mașini Linux și Windows, fără a vă complica cu file-sharing sau transfer prin IM. 
- 
- 
-===== 11. Scanarea rețelei. nmap ===== 
- 
-Folosiți ''​nmap''​ pentru a scana porturile deschise și versiunile serviciilor care rulează pe mașina ''​lucas.local''​. 
- 
-<​solution>​ 
-<code bash> 
-nmap -sV lucas.local 
-</​code>​ 
-</​solution>​ 
- 
- 
-FIXME 
systems/uso/laboratoare/laborator-09.1348173803.txt.gz · Last modified: 2012/09/20 23:43 by paul.vlase
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0