This shows you the differences between two versions of the page.
rl:labs:10:contents:03 [2013/11/26 18:34] razvan.deaconescu [03. Accesare serviciu web folosind wget] |
rl:labs:10:contents:03 [2023/11/05 13:21] (current) vlad_iulius.nastase |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 03. Accesare serviciu web folosind wget ==== | + | ==== 03. [10p] DNS Resolution ==== |
- | Sunt situații în care: | + | Scopul acestui exercițiu constă în aflarea unor informații de DNS despre un domeniu. |
- | * vrem doar să descărcăm o resursă, nu să accesăm o pagină web și să o parcurgem; | + | |
- | * vrem să testăm serviciul web; | + | |
- | * nu avem acces la o interfață grafică (pe un server sau pe o mașină virtuală) pentru accesarea web; | + | |
- | * vrem să automatizăm, într-un script, procesul de acces al unor resurse în web. | + | |
- | În aceste situații, este util să folosim un client web în linie de comandă. Astfel de clienți web în linie de comandă sunt ''wget'' sau ''curl''. În general aceste utilitare sunt folosite pentru descărcarea de fișiere sau alte resurse disponibile în web. | + | Tipurile de înregistrări de DNS pot oferi informații resursele înregistrate și legătura dintre ele: |
- | Pentru a descărca fișierul HTML accesat anterior (la [[:rl:labs:10:contents:02]]) executați, pe stația fizică, respectiv pe stația ''host'', comenzile de mai jos:<code bash> | + | * **A** - înregistrare directă către IP-ul ce găzduiește aplicația |
- | student@mjolnir:~$ wget http://$ADRESA_IP_VM:8080 | + | |
- | --2013-11-26 18:20:10-- http://$ADRESA_IP_VM:8080/ | + | |
- | Connecting to $ADRESA_IP_VM:8080... connected. | + | |
- | HTTP request sent, awaiting response... 200 OK | + | |
- | Length: 31 [text/html] | + | |
- | Saving to: ‘index.html’ | + | |
- | 100%[======================================>] 31 --.-K/s in 0s | + | * **CNAME** - un alias către altă înregistrare unde ar putea fi găzduită aplicația |
- | 2013-11-26 18:20:10 (4.92 MB/s) - ‘index.html’ saved [31/31] | + | * **MX** - înregistrare către adresa serverului de e-mail |
- | student@mjolnir:~$ cat index.html | + | |
- | <h1>Laborator 10 - pe red</h1> | + | |
- | root@host:~# wget -q http://red/ | + | Vom instala utilitarul necesar pentru interogările de DNS |
- | root@host:~# cat index.html | + | <code bash> |
- | <h1>Laborator 10 - pe red</h1> | + | student@aldebaran:~$ apt install dnsutils |
</code> | </code> | ||
- | Avem același conținut afișat în browser-ul web grafic: șirul //Laboratorul 10 - pe red// formatat //heading 1//. | ||
- | <note> | + | Folosim utilitarul pentru a afla informații despre înregistrări de DNS specifice |
- | În a doua comandă am folosit opțiunea ''-q'' a ''wget'' pentru a dezactiva afișarea informații legate de transfer a ''wget''. Opțiunea trebuie folosită cu grijă. Informațiile de eroare furnizate de ''wget'' sunt utile pentru depanare și sunt dezactivate la folosirea opțiunii ''-q''. | + | <code bash> |
- | </note> | + | student@aldebaran:~$ nslookup -querytype=CNAME erp.codacloud.net |
+ | </code> | ||
- | La adresa ''http://red/file.dat'' se află un fișier cu dimensiunea de ''1 KB''. Descărcați-l folosind ''wget'' pe stația ''host''. Folosiți comanda ''ls -l'' pentru a verifica descărcarea corectă și dimensiunea sa. | ||
- | |||
- | <solution -hidden> | ||
<code bash> | <code bash> | ||
- | root@host:~# wget -q http://red/file.dat | + | student@aldebaran:~$ nslookup -querytype=NS cs.pub.ro |
- | root@host:~# ls -l file.dat | + | |
- | -rw-r--r-- 1 root root 1024 Nov 26 18:10 file.dat | + | |
</code> | </code> | ||
- | </solution> | ||
- | Serverul web este configurat să folosească și conexiuni sigure (protocolul HTTPS). Descărcăm fișierul de mai sus (''file.dat''), folosind protocolul HTTPS:<code bash> | + | <code bash> |
- | root@host:~# wget https://red/file.dat | + | student@aldebaran:~$ nslookup -querytype=MX cs.pub.ro |
- | --2013-11-23 17:50:52-- https://red/file.dat | + | |
- | Resolving red (red)... 192.168.1.2 | + | |
- | Connecting to red (red)|192.168.1.2|:443... connected. | + | |
- | ERROR: cannot verify red's certificate, issued by `/CN=red': | + | |
- | Self-signed certificate encountered. | + | |
- | To connect to red insecurely, use `--no-check-certificate'. | + | |
</code> | </code> | ||
- | Observăm că ni s-a afișat o eroare că nu poate fi verificat certificatul. Această verificare poate fi eliminată folosind opțiunea ''%%--%%no-check-certificate'':<code bash> | ||
- | root@host:~# wget --no-check-certificate https://red/file.dat | ||
- | --2013-11-23 17:52:02-- https://red/file.dat | ||
- | Resolving red (red)... 192.168.1.2 | ||
- | Connecting to red (red)|192.168.1.2|:443... connected. | ||
- | WARNING: cannot verify red's certificate, issued by `/CN=red': | ||
- | Self-signed certificate encountered. | ||
- | HTTP request sent, awaiting response... 200 OK | ||
- | Length: 1024 (1.0K) | ||
- | Saving to: `file.dat' | ||
- | 100%[===================================================================================================================>] 1,024 --.-K/s in 0s | + | <code bash> |
- | + | student@aldebaran:~$ nslookup -querytype=A erp.codacloud.net | |
- | 2013-11-23 17:52:02 (18.2 MB/s) - `file.dat' saved [1024/1024] | + | |
</code> | </code> |