Differences

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

Link to this comparison view

rl:labs:09:contents:04 [2013/11/17 13:38]
mihai.carabas [04. Tutorial port forwarding (DNAT)]
rl:labs:09:contents:04 [2024/12/04 17:52] (current)
laura.ruse [04. [15p] Descărcare recursivă de resurse web]
Line 1: Line 1:
-==== 04. Tutorial port forwarding (DNAT) ​====+==== 04. [15p] Descărcare recursivă de resurse web ====
  
-Dorim să putem accesa prin SSH, din Internet, stația ​''​red''​. ​Acest lucru nu este posibil în mod implicit întrucât ​stația ''​red'' ​nu are un IP rutabil. Vom aplica pe ruter (stația ''​host''​) o regulă prin care redirectăm traficul ce vine tre ''​host'' ​pe portul ​''​22000'' ​către portul ​''​22'' ​(SSH) al stației ''​red'':<​code bash> +La adresa ​''​%%http://red/folder%%'' ​se află o structură de directoare și fișierePe stația ''​host''​, descărcați întreaga structură folosind o singură comandă ​''​wget'' ​cu parametrul corespunzător. 
-root@host:​~# ​iptables ​-t nat -A PREROUTING -p tcp --dport 22000 -j DNAT --to-dest 192.168.1.2:​22+ 
 +<note tip> 
 +Pentru a identifica opțiunea corespunzătoare, ​utați în pagina de manual a ''​wget'' ​după șirul ​''​recursive''​
 +</​note>​ 
 + 
 +Folosiți utilitarul ​''​tree'' ​pentru a lista conținutul directorului descărcat. Este posibil ca pachetul ​''​tree'' ​să fie deja instalat pe ''​host''​. Dacă nu este instalat, atunci puteți folosi următoarea comandă pentru a-l instala: 
 +<code bash> 
 +root@host:​~# ​apt-get install tree
 </​code>​ </​code>​
-IP-ul ''​192.168.1.2''​ este IP-ul lui ''​red''​. Pentru a verifica executați comanda ''​ping red''​ și vizualizați IP-ul. 
-Pentru a testa efectul comenzii de mai sus, de pe sistemul fizic (acela cu ''​Desktop''​),​ deschideți un nou terminal și conectați-vă prin ''​ssh''​ folosind portul ''​22000''​ la stația ''​host'':<​code bash> 
-student@mjolnir:​~#​ ssh -p 22000 root@$ADRESA_IP_MV 
-root@192.168.138.129'​s password: 
-Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-53-generic-pae i686) 
  
- * Documentation: ​ https://help.ubuntu.com/ +Când rulați ''​tree''​ pe directorul descărcat observați prezența mai multor fișiere cu nume de forma ''​index.html?​C=S;​O=D''​. Aceste fișiere sunt fișiere de tip directory listing generate de serverul web și nu avem nevoie de ele. Ștergeți structura de directoare pe care tocmai ați descărcat-o pe stația ''​host''​ și descărcați-o din nou ignorând aceste fișiere. 
-Last login: Sun Nov 17 10:57:42 2013 + 
-root@red:~#+<note tip> 
 +Urmăriți discuția de [[http://stackoverflow.com/questions/​273743/​using-wget-to-recursively-fetch-a-directory-with-arbitrary-files-in-it|aici]]. Să aveți în vedere și partea din discuția care conține șirul //​%%"​without the hostname"​%%//​. 
 +</​note>​ 
 + 
 +Structura de directoare trebuie să fie similară cu:<​code>​ 
 +root@host:~# tree folder/ 
 +folder/ 
 +├── embedded 
 +│   ├── Qualcomm 
 +│   │   ├── Krait 
 +│   │   │   └── info.txt 
 +│   │   └── Scorpion 
 +│   │   ​    ​└── info.txt 
 +│   └── TI 
 +│   ​    ​├── OMAP3 
 +│   ​    ​│   └── info.txt 
 +│   ​    ​└── OMAP4 
 +│   ​        ​└── info.txt 
 +└── mobile 
 +    ├── Apple 
 +    │   ├── iPadAir 
 +    │   │   └── info.txt 
 +    │   └── iPhone5S 
 +    │   ​    ​└── info.txt 
 +    └── Google 
 +        ├── Nexus4 
 +        │   └── info.txt 
 +        └── Nexus7 
 +            └── info.txt 
 + 
 +14 directories,​ 8 files
 </​code>​ </​code>​
  
-Observați că am ajuns direct pe stația ''​red''​.+<​hidden>​ 
 +<​solution>​ 
 +Pentru descărcarea inițială folosim comanda ''​wget''​ cu opțiunea ''​-r''​ apoi rulăm ''​tree'':<​code bash> 
 +root@host:​~#​ wget -r http://red/folder/ 
 +[...] 
 +root@host:​~#​ tree red/ 
 +[...] 
 +</​code>​ 
 +Ștergem vechea structură:<​code bash> 
 +root@host:​~#​ rm -fr folder/ 
 +</​code>​ 
 +Ca să avem un output mai aranjat, rulăm următoarea comandă ​''​wget'':<​code bash> 
 +root@host:​~#​ wget -r -nH -np --reject "​index.html*"​ http://​red/​folder/​ 
 +</​code>​ 
 +Se vor descărca astfel doar fișierele utile, cele existente în structura de directoare de pe server. 
 +</​solution>​ 
 +</​hidden>​
rl/labs/09/contents/04.1384688308.txt.gz · Last modified: 2013/11/17 13:38 by mihai.carabas
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