Differences

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

Link to this comparison view

rl:labs:09:contents:06 [2013/11/17 13:55]
mihai.carabas [06. Formatul pachetelor în urmat DNAT]
rl:labs:09:contents:06 [2023/11/05 13:08] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 06. Formatul pachetelor în urmat DNAT ====+==== 06. [5p] Accesare de pagini web folosind curl ====
  
-  * exercițiu +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.
-    * captură de trafic cu tcpdump ​pentru ​trafic SSH+
  
-La exercițiul [[rl:​labs:​09:​contents:​02|]] am observat cum se modifică adresa IP sursă în cazul translatării de adrese. La port forwarding (DNAT) vom observa cum se modifică adresa IP destinație (de aici și numele de ''​Destination NAT''​). +Spre exemplu, dacă vrem să afișăm conținutul paginii ​de la adresa ​''​http://red/index.html'' ​vom folosi ​comanda:<​code bash> 
- +root@host:​~# ​curl http://red/index.html 
-Realizați o conexiune SSH de pe mașina fizică (cea cu Desktop) pe portul ''​22000''​ pentru a vă conecta ​la stația ​''​red''​, după care porniți ​comanda ​''​ping 8.8.8.8''​. +<​h1>​Laborator 10 pe red</h1>
- +
-Într-un alt terminal, pe stația ''​host''​ porniți captura de pachete pe interfața ''​veth-red''​:<code bash> +
-root@host:​~# ​tcpdump -i veth-red +
-tcpdump: verbose output suppressed, use -v or -vv for full protocol decode +
-listening on veth-red, link-type EN10MB (Ethernet), capture size 65535 bytes +
-^C13:​48:​09.913394 IP 192.168.138.1.53916 ​red.ssh: Flags [P.], seq 2954975148:​2954975200,​ ack 2484938071, win 16335, length 52+
 </​code>​ </​code>​
 +Observăm că output-ul comenzii ''​curl''​ este conținutul fișierului ''​index.html''​ descărcat anterior cu ''​wget''​.
  
-Observați că adresa ​IP destinație este ''​red''​ și portul ''​ssh''​(22), deși voi v-ați conectat pe adresa IP a stației ''​host''​ și portul ''​22000''​. ​Pentru a vedea cum arată pachetele înainte de DNAT, vom porni captura de trafic pe interfața ''​eth0'':<​code bash> +Un exemplu în mod particular util este aflarea adresei ​IP (externeprin interogarea site-ului ''​icanhazip.com'':<​code bash> 
-root@host:​~# ​tcpdump -i eth0 dst port 22000 +root@host:​~# ​curl icanhazip.com 
-tcpdump: verbose output suppressed, use -v or -vv for full protocol decode +141.85.225.204
-listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes +
-13:53:37.564071 IP 192.168.138.1.53916 > host.local.22000:​ Flags [.], ack 2484940535, win 16121, length 0 +
-13:53:38.565650 IP 192.168.138.1.53916 > host.local.22000:​ Flags [.], ack 153, win 16083, length 0 +
-13:​53:​39.567203 IP 192.168.138.1.53916 > host.local.22000:​ Flags [.], ack 305, win 16425, length 0 +
-13:​53:​40.568971 IP 192.168.138.1.53916 > host.local.22000:​ Flags [.], ack 457, win 16387, length 0+
 </​code>​ </​code>​
 +Observăm că în urma interogării site-ului ''​icanhazip.com'',​ output-ul comenzii ''​curl''​ este adresa noastră IP externă (rutabilă).
  
-Observați că adresa IP destinație este ''​host'' ​și portul este ''​22000''​. La comanda de captură s-a mai adăugat un filtru suplimentar pentru a nu captura traficul SSH generat de conexiunea curentă la stația ​''​host''​.+Î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.
rl/labs/09/contents/06.1384689305.txt.gz · Last modified: 2013/11/17 13:55 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