Differences

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

Link to this comparison view

rl:labs:08:contents:03 [2020/12/01 10:10]
iulia.florea
rl:labs:08:contents:03 [2024/11/28 16:37] (current)
florin.stancu [03. [10p] Format de pachete TCP la translatare]
Line 1: Line 1:
-==== 3. [10p] Download și upload ​de director folosind ''​scp'' ​====+==== 03. [10p] Format ​de pachete TCP la translatare ​====
  
-**Indicație**: Pentru download-ul ​și upload-ul unui director folosiți opțiunea ''​-r'' ​a comenzii ​''​scp''​.+Dorim să urmărim conținutul pachetelor TCP înainte ​și după translatarea de adrese. În plus față de exercițiul de mai sus, vrem să urmărim șporturile. Pentru aceasta vom genera pachete TCP (HTTP) folosind ''​wget''​ de pe stația ''​red'' ​și vom captura pachetele folosind ''​tcpdump''​ pe stația ​''​host''​.
  
-Vom folosi două directoare:​ +Pe stația ''​host'' ​capturați ​pe toate interfețele pachetele HTTP care au ca adresă destinație numele ​''​%%cs.pub.ro%%''​.
-  * directorul ''​assignment/''​ din directorul home al utilizatorului ''​student''​ de pe stația ''​host''​+
-  * directorul ''​solution/''​ din directorul home al utilizatorului ''​corina''​ de pe stația ''​blue''​.+
  
-Din contul ​''​corina''​ de pe stația ''​blue''​, **descărcați** directorul ​''​assignment/'' ​**din** directorul home al utilizatorului ​''​student''​ de pe stația ''​host''​.+<note tip> 
 +Va trebui să folosiți argumentele ​''​%%ip dst host cs.pub.ro%%'' ​și ''​tcp dst port 80''​ la ''​tcpdump''​. Legați argumentele prin șirul ''​and''​. Urmăriți și [[https://​cdn.comparitech.com/​wp-content/​uploads/​2019/​06/​tcpdump-cheat-sheet-1.pdf|cheatsheet-ul ​de aici]]. 
 + 
 +Folosiți opțiunea ''​-n''​ a ''​tcpdump''​ ca să afișați în format rezultatele în format numeric (adresă IP și port). Vă va fi mai ușor să urmăriți pachetele și translatarea de adrese. 
 +</​note>​ 
 + 
 +Pe stația ''​red'' ​folosiți ''​wget''​ pentru a obține pagina de la ''​%%cs.pub.ro%%''​. 
 + 
 +Urmăriți translatarea adresei IP sursă și a portului sursă în cadrul capturii de pachete realizată cu ''​tcpdump''​ pe ''​host''​. 
 + 
 +<note important>​ 
 +O să existe o latență (2-3 secunde) la afișarea pachetelor capturate cu ''​tcpdump''​ datorată rezolvării DNS. Puteți folosi opțiunea ''​-n''​ a ''​tcpdump''​ pentru a dezactivarea rezolvarea DNS și pentru a elimina latența. 
 +</note> 
 + 
 +Observați în cadrul capturii că portul sursă, ales de stația ​''​red'' ​este același cu cel folosit în urma translatării de stația ​''​host''​. În general implementările ​de NAT vor păstra portul în urma translatării. În cazul rar în care acel port este ocupat ​pe stația ''​host'' ​(posibil datorită unei alte translatării) se va aloca un alt port. 
 + 
 +Pe stația ''​host''​ capturați pe toate interfețele pachetele HTTP care au ca adresă numele ''​%%cs.pub.ro%%'';​ nu contează dacă este sursă sau destinație,​ capturăm și pachetele de interogare și cele de răspuns; la fel, portul poate fi sursă sau destinație;​ folosiți ''​ip host''​ în loc de ''​ip dst host''​ și ''​tcp port''​ în loc de ''​tcp dst port''​. Pe stația ''​red''​ folosiți, din nou, ''​wget''​ pentru a obține pagina de la ''​%%cs.pub.ro%%''​. Urmăriți translatarea adresei IP sursă și a portului sursă pentru pachetele de interogare și translatarea adresei IP destinație și a portului destinație pentru pachetele de răspuns.
  
 <​hidden>​ <​hidden>​
 <​solution>​ <​solution>​
-<code bash> +Rulăm comanda ''​tcpdump''​ pe stația ''​host''​ și comanda ''​wget''​ pe stația ''​red'':​<code bash> 
-corina@blue:~$ scp -r student@host:​assignment ​+root@host:~# tcpdump ​-i any ip dst host cs.pub.ro and tcp dst port 80 
-quadratic.txt                                 ​100% ​  ​17 ​    0.0KB/s   00:00    ​ +tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
-cubic.txt                                     ​100% ​  ​24 ​    0.0KB/s   00:00    ​ +listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes 
-linear.txt                                    100%    8     0.0KB/s   00:00    ​+16:01:43.895939 IP host.local.55630 > 141.85.241.57.httpFlags [S], seq 2218116970, win 14600, options [mss 1460,​sackOK,​TS val 25026596 ecr 0,​nop,​wscale 3], length 0 
 +16:​01:​43.899247 IP red.55630 > 141.85.241.57.http:​ Flags [.], ack 3520002, win 14600, length ​0 
 +16:01:43.899254 IP host.local.55630 > 141.85.241.57.httpFlags [.], ack 3520002, win 14600, length 0 
 +16:01:43.899809 IP red.55630 > 141.85.241.57.http:​ Flags [P.], seq 0:110, ack 1, win 14600, length 110 
 +16:01:43.899817 IP host.local.55630 > 141.85.241.57.httpFlags [P.], seq 0:110, ack 1, win 14600, length 110 
 +[...]
  
-corina@blue:~$ ls +root@red:~# wget cs.pub.ro 
-assignment ​ blue-file-10M.dat ​ host-file-10M.dat  solution+--2013-11-23 14:​03:​22-- ​ http://​cs.pub.ro/​ 
 +Resolving cs.pub.ro (cs.pub.ro)... 141.85.241.57 
 +Connecting to cs.pub.ro (cs.pub.ro)|141.85.241.57|:​80... connected. 
 +HTTP request sent, awaiting response... 200 OK 
 +[...] 
 +2013-11-23 14:03:22 (17.3 MB/s) - `index.html'​ saved [36519]
 </​code>​ </​code>​
-</​solution>​ 
-</​hidden>​ 
  
-Din contul ''​corina'' ​de pe stația ''​blue'',​ **uploadați** directorul ''​solution/''​ **în** directorul home al utilizatorului ''​student'' ​de pe stația ''​host''​. +Pentru afișarea atât a pachetelor ​de interogare cât șa celor de răspuns, rulăm comenzile de mai jos:<code bash> 
-<​hidden>​ +root@host:~# tcpdump ​-i any ip host cs.pub.ro and tcp port 80 
-<​solution>​ +[...] 
-<code bash> +16:06:​25.896565 IP red.55634 > 141.85.241.57.http:​ Flags [P.], seq 1:111, ack 1, win 14600, length 110 
-corina@blue:~$ scp -r solution student@host:        +16:06:25.896576 IP host.local.55634 > 141.85.241.57.httpFlags [P.], seq 1:111, ack 1, win 14600, length 110 
-quadratic.txt                                 ​100% ​  ​15 ​    0.0KB/s   00:00    ​ +16:06:25.896796 IP 141.85.241.57.http > host.local.55634:​ Flags [.], ack 111, win 65535, length ​0 
-cubic.txt                                     ​100% ​  ​23 ​    0.0KB/s   00:00    ​ +16:06:25.896805 IP 141.85.241.57.http > red.55634Flags [.], ack 111, win 65535, length 0 
-linear.txt                                    100%    6     0.0KB/s   00:00    ​+[...]
  
-corina@blue:~$ ssh student@host ls +root@red:~# wget cs.pub.ro 
-assignment +--2013-11-23 14:05:36--  ​http://​cs.pub.ro/ 
-blue-file-10M.dat +Resolving cs.pub.ro (cs.pub.ro)... 141.85.241.57 
-file-100M-ftp.dat +Connecting to cs.pub.ro (cs.pub.ro)|141.85.241.57|:​80... connected. 
-file-100M-nc.dat +HTTP request sent, awaiting response... 200 OK 
-file-100M-scp.dat +[...] 
-host-file-10M.dat +2013-11-23 14:05:36 (77.9 MB/s) - `index.html.1'​ saved [36519]
-solution+
 </​code>​ </​code>​
 </​solution>​ </​solution>​
 </​hidden>​ </​hidden>​
rl/labs/08/contents/03.1606810249.txt.gz · Last modified: 2020/12/01 10:10 by iulia.florea
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