This is an old revision of the document!


Laborator 03: Servicii web

Demo

Vom investiga mesajele HTTP dintre un client si un server web. Ca tool-uri vom folosi Wireshark si Firebug. Vom investiga atat conexiuni HTTP, cat si HTTPS.

Exerciții

Instalare Apache si configurari de baza

  • Pe masina virtuala, instalati serverul Apache (pachetul apache2).
  • Apoi, verificati functionarea acestuia folosind un browser web. Va veti conecta de pe masina fizica pe adresa IP a masinii virtuale.

Site default

  • Asa cum ati observat anterior, serverul Apache serveste in mod implicit un fisier HTML.
  • Gasiti fisierul index.html servit de server-ul Apache in ierarhia de fisiere de pe masina virtuala.
    • Hint: Configuratia site-ului default se afla in /etc/apache2/sites-available/default
    • Hint: Observati directiva DocumentRoot
  • Modificati fisierul gasit anterior astfel incat sa contina mesajul “GSR web services”.

Listening ports

  • Pe ce port asculta in mod implicit serverul Apache? Investigati folosind netstat.
  • Modificati portul astfel incat Apache sa asculte pe 8080.
    • Hint: /etc/apache2/ports.conf
    • Hint: Nu uitati sa modificati si NameVirtualHost
  • Verificati folosind netstat, apoi un browser.
  • Refaceti configuratia anterioara.

Alti clienti HTTP

Desi in majoritatea cazurilor folosim un browser in mod grafic pentru a naviga, putem folosi si clienti in mod text (interactiv sau non-interactiv). Acestia sunt utili mai ales in automatizare.

wget

Un astfel de client in mod text, non-interactiv, este wget.

  • Folositi wget pentru a descarca fisierul index.html servit de server-ul de pe masina virtuala. Ca parametru pentru wget veti folosi acelasi URL ca si in browser.
Descarcare recursiva
  • Creati urmatoarea ierarhie de fisiere in /var/www pe masina virtuala:
test/
|-- docs/
|   |-- README.txt
|   |-- INSTALL.txt
|-- scripts/
|   |-- setup.sh
|   `-- install.sh
`-- test.html
  • Folosind un browser in mod grafic, verificati ca puteti naviga prin acea ierarhie.
  • Folosind wget, descarcati in mod recursiv tot ce este sub /var/www/test.
    • Hint: man wget, /recursive
    • Specificati sa NU fie descarcate fisierele ale caror nume incepe cu index.html. Hint: man wget, /reject.
Autentificare folosind wget
  • Incercati din nou, de data aceasta folosind autentificare HTTP. Pentru aceasta, va trebui:
    • Sa specificati userul cu care doriti sa va autentificati. Hint: man wget, /user.
    • Sa faceti ca wget sa va ceara parola. Hint: man wget, /ask-password.

netcat (nc)

De multe ori, in debugging, este util sa observati sau sa interveniti direct asupra datelor schimbate intre client si server. Un utilitar care ne ajuta in acest scop este netcat (comanda nc).

Acesta deschide o conexiune catre un host, pe un port specificat (TCP sau UDP), apoi va trimite catre server toate datele primite pe standard input.

  • Folosind nc, conectati-va pe adresa IP a masinii virtuale, portul 80.
  • Apoi, introduceti manual o cerere HTTP pentru fisierul index.html. Veti folosi protocolul HTTP 1.0:
    • GET /index.html HTTP/1.0
    • Incheiati cererea cu secventa \r\n\r\n (doua Enter-uri).
    • Pagina primita este cea corecta?
  • Realizati acelasi lucru, dar fara a mai introduce manual cererea.
    • Hint: echo, pipe

Userdir

Server-ul Apache permite utilizatorilor sa serveasca fisiere din propriile directoare home. Fisierele trebuie stocate in /home/username/public_html, iar acestea vor fi accesate folosind un URL de forma http://server/~username.

  • Pe masina virtuala, creati utilizatorul gsr.
  • Creati directorul public_html si mai multe fisiere in interiorul acestuia.
  • Incercati sa accesati fisierele folosind URL-ul ce contine ~gsr. Este posibil?
  • Pentru a putea accesa astfel de directoare, trebuie activat modulul Apache userdir.
    • Activati modulul userdir. Hint: a2enmod
    • Incercati din nou sa accesati URL-ul.
gsr/laboratoare/laborator-03.1446080635.txt.gz · Last modified: 2015/10/29 03:03 by alexandru.carp
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