This shows you the differences between two versions of the page.
rl:labs:09:contents:06 [2013/11/26 11:42] razvan.deaconescu [06. Formatul pachetelor în urmat DNAT] |
rl:labs:09:contents:06 [2023/11/05 13:08] (current) vlad_iulius.nastase |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 07. Format de pachete la port forwarding ==== | + | ==== 06. [5p] Accesare de pagini web folosind curl ==== |
- | La exercițiul [[rl:labs:09:contents:03|]] am observat cum se modifică adresa IP sursă și portul sursă în cazul translatării de adrese. La port forwarding vom observa cum se modifică adresa IP destinație (de aici și numele DNAT: ''Destination NAT''). | + | Utilitarul ''wget'' este folosit pentru a descărca fișiere prin intermediul web. Utilitarul ''curl'' îndeplinește un rol similar, doar că afișează în mod implicit conținutul resurselor la consolă. Este indicat pentru afișarea de pagini web (format HTML) sau alte fișiere în format text. |
- | Vom captura traficul SSH inițiat din exterior către stația ''red'', prin intermediul portului ''10022'' al stației ''host''. Este vorba de traficul înainte de //port forwarding//. Pentru aceasta, pe stația ''host'' vom folosi comanda<code bash> | + | Spre exemplu, dacă vrem să afișăm conținutul paginii de la adresa ''http://red/index.html'' vom folosi comanda:<code bash> |
- | root@host:~# tcpdump -n -i eth0 tcp dst port 10022 | + | root@host:~# curl http://red/index.html |
+ | <h1>Laborator 10 - pe red</h1> | ||
</code> | </code> | ||
+ | Observăm că output-ul comenzii ''curl'' este conținutul fișierului ''index.html'' descărcat anterior cu ''wget''. | ||
- | Pe un alt terminal, tot pe stația ''host'' capturăm traficul **după** //port forwarding//, pe interfața ''veth-red'' către portul SSH (''22'') al stației red. Pe stația ''host'' folosim comanda<code bash> | + | Un exemplu în mod particular util este aflarea adresei IP (externe) prin interogarea site-ului ''icanhazip.com'':<code bash> |
- | root@host:~# tcpdump -n -i veth-red tcp dst port 22 | + | root@host:~# curl icanhazip.com |
+ | 141.85.225.204 | ||
</code> | </code> | ||
+ | Observăm că în urma interogării site-ului ''icanhazip.com'', output-ul comenzii ''curl'' este adresa noastră IP externă (rutabilă). | ||
- | Pentru a genera trafic, de pe stația fizică realizăm o conexiune SSH la stația ''host'' pe portul ''10022'', conexiune ce va fi redirectată la portul ''22'' al stației ''red'':<code bash> | + | În general output-ul întors de ''curl'' poate fi prelucrat folosind filtre de text (''grep'', ''cut'', ''tr'', ''sort'', ''awk'', ''sed'' etc.) pentru a obține informațiile de interes. |
- | razvan@einherjar:~$ ssh $ADRESA_IP_VM -p 10022 | + | |
- | root@host.local's password: | + | |
- | [...] | + | |
- | root@red:~# | + | |
- | </code> | + | |
- | + | ||
- | În capturile realizate de comenzile de mai sus, observăm cu se translatează adresa IP și portul destinație din perechea ''<$ADRESA_IP_VM, 10022>'' în perechea ''<192.168.1.2, 22>''. | + |