Differences

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

Link to this comparison view

rl:labs:08:contents:03 [2020/09/13 07:14]
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. [5pCopiere cheie publică ​la distanță pentru autentificare ​====+==== 03. [10pFormat de pachete TCP la translatare ​====
  
-În contul utilizatorului ​''​bogdan''​ de pe stația ''​blue''​ (parola este ''​student''​) este generată o pereche cheie privată / cheie publică, respectiv în fișierele ''​~/​.ssh/​id_rsa''​ și ''​~/​.ssh/​id_rsa.pub''​. Dorim să realizăm conectare SSH folosind ​chei publice în contul utilizatorului ​''​student'' ​de pe stația ''​host''​.+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 și 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''​.
  
-Copiați cheia publică la distanță pentru a permite conectareaConținutul fișierului aferent cheii publice (''​~/.ssh/id_rsa.pub'' ​din ''​bogdan@blue''​) trebuie ​să ajungă ​în fișierul de la distanță care stochează cheile publice pentru autentificare ​(''​~/.ssh/authorized_keys'' ​din ''​student@host''​). ​+Pe stația ''​host''​ capturați pe toate interfețele pachetele HTTP care au ca adresă destinație numele ''​%%cs.pub.ro%%''​. 
 + 
 +<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'' ​''​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 DNSPuteț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ăriise 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>​
-Pentru copierea cheii publice, rulați din contul utilizatorului ​''​bogdan'' ​de pe stația ''​blue'' ​comanda<code bash> +Rulăm comanda ''​tcpdump''​ pe stația ''​host''​ școmanda ​''​wget''​ pe stația ''​red''​:<code bash> 
-bogdan@blue:~$ ssh-copy-id student@host +root@host:~# tcpdump ​-i any ip dst host cs.pub.ro and tcp dst port 80 
-student@host's password:  +tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
-Now try logging into the machinewith "ssh '​student@host'"​and check in:+listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes 
 +16:​01:​43.895939 IP host.local.55630 > 141.85.241.57.http:​ Flags [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.http:​ Flags [P.]seq 0:110, ack 1, win 14600, length 110 
 +[...]
  
-  ​~/.ssh/authorized_keys+root@red:~# wget cs.pub.ro 
 +--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>
  
-to make sure we haven'​t added extra keys that you weren'​t expecting. +Pentru afișarea atât a pachetelor de interogare cât și a celor de răspuns, rulăm comenzile de mai jos:<​code ​bash> 
-</code> ​Introducețparola ''​student''​ la promptul afișat.+root@host:​~#​ tcpdump -any ip host cs.pub.ro and tcp port 80 
 +[...] 
 +16:​06:​25.896565 IP red.55634 > 141.85.241.57.http:​ Flags [P.], seq 1:111, ack 1, win 14600, length 110 
 +16:​06:​25.896576 IP host.local.55634 > 141.85.241.57.http:​ Flags [P.], seq 1:111, ack 1, win 14600, length 110 
 +16:​06:​25.896796 IP 141.85.241.57.http > host.local.55634:​ Flags [.], ack 111, win 65535, length 0 
 +16:​06:​25.896805 IP 141.85.241.57.http > red.55634: Flags [.], ack 111, win 65535, length 0 
 +[...]
  
-Verificați funcționarea corectă prin conectarea SSH la distanță:<​code bash> +root@red:~# wget cs.pub.ro 
-bogdan@blue:~$ ssh -l student host+--2013-11-23 14:​05:​36-- ​ 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
 [...] [...]
-student@host:~$ +2013-11-23 14:05:36 (77.9 MB/s) - `index.html.1'​ saved [36519]
 </​code>​ </​code>​
 </​solution>​ </​solution>​
 </​hidden>​ </​hidden>​
- 
- Dacă v-ați conectat fără să vi se ceară parola înseamnă că s-a realizat autentificare prin chei publice și configurația este corectă. 
- 
rl/labs/08/contents/03.1599970485.txt.gz · Last modified: 2020/09/13 07:14 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