This shows you the differences between two versions of the page.
|
rl:labs:08:contents:03 [2024/11/28 16:37] florin.stancu [03. [10p] Format de pachete TCP la translatare] |
rl:labs:08:contents:03 [2025/11/23 11:43] (current) eduard.dumistracel [03. [10p] Format de pachete TCP la translatare] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| 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''. | 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''. | ||
| - | Pe stația ''host'' capturați pe toate interfețele pachetele HTTP care au ca adresă destinație numele ''%%cs.pub.ro%%''. | + | Pe stația ''host'' capturați pe toate interfețele pachetele HTTP care au ca adresă destinație numele ''%%ocw.cs.pub.ro%%''. |
| <note tip> | <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]]. | + | Va trebui să folosiți argumentele ''%%ip dst host ocw.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. | 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> | </note> | ||
| - | Pe stația ''red'' folosiți ''wget'' pentru a obține pagina de la ''%%cs.pub.ro%%''. | + | Pe stația ''red'' folosiți ''wget'' pentru a obține pagina de la ''%%ocw.cs.pub.ro%%''. |
| Urmăriți translatarea adresei IP sursă și a portului sursă în cadrul capturii de pachete realizată cu ''tcpdump'' pe ''host''. | Urmăriți translatarea adresei IP sursă și a portului sursă în cadrul capturii de pachete realizată cu ''tcpdump'' pe ''host''. | ||
| Line 21: | Line 21: | ||
| 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. | 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. | + | Pe stația ''host'' capturați pe toate interfețele pachetele HTTP care au ca adresă numele ''%%ocw.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 ''%%ocw.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> | ||
| Rulăm comanda ''tcpdump'' pe stația ''host'' și comanda ''wget'' pe stația ''red'':<code bash> | Rulăm comanda ''tcpdump'' pe stația ''host'' și comanda ''wget'' pe stația ''red'':<code bash> | ||
| - | root@host:~# tcpdump -i any ip dst host cs.pub.ro and tcp dst port 80 | + | root@host:~# tcpdump -i any ip dst host ocw.cs.pub.ro and tcp dst port 80 |
| tcpdump: verbose output suppressed, use -v or -vv for full protocol decode | tcpdump: verbose output suppressed, use -v or -vv for full protocol decode | ||
| listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes | listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes | ||
| Line 36: | Line 36: | ||
| [...] | [...] | ||
| - | root@red:~# wget cs.pub.ro | + | root@red:~# wget ocw.cs.pub.ro |
| - | --2013-11-23 14:03:22-- http://cs.pub.ro/ | + | --2013-11-23 14:03:22-- http://ocw.cs.pub.ro/ |
| - | Resolving cs.pub.ro (cs.pub.ro)... 141.85.241.57 | + | Resolving ocw.cs.pub.ro (ocw.cs.pub.ro)... 141.85.241.57 |
| - | Connecting to cs.pub.ro (cs.pub.ro)|141.85.241.57|:80... connected. | + | Connecting to ocw.cs.pub.ro (ocw.cs.pub.ro)|141.85.241.57|:80... connected. |
| HTTP request sent, awaiting response... 200 OK | HTTP request sent, awaiting response... 200 OK | ||
| [...] | [...] | ||
| Line 46: | Line 46: | ||
| 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> | 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> | ||
| - | root@host:~# tcpdump -i any ip host cs.pub.ro and tcp port 80 | + | root@host:~# tcpdump -i any ip host ocw.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.896565 IP red.55634 > 141.85.241.57.http: Flags [P.], seq 1:111, ack 1, win 14600, length 110 | ||
| Line 54: | Line 54: | ||
| [...] | [...] | ||
| - | root@red:~# wget cs.pub.ro | + | root@red:~# wget ocw.cs.pub.ro |
| - | --2013-11-23 14:05:36-- http://cs.pub.ro/ | + | --2013-11-23 14:05:36-- http://ocw.cs.pub.ro/ |
| - | Resolving cs.pub.ro (cs.pub.ro)... 141.85.241.57 | + | Resolving ocw.cs.pub.ro (ocw.cs.pub.ro)... 141.85.241.57 |
| - | Connecting to cs.pub.ro (cs.pub.ro)|141.85.241.57|:80... connected. | + | Connecting to ocw.cs.pub.ro (ocw.cs.pub.ro)|141.85.241.57|:80... connected. |
| HTTP request sent, awaiting response... 200 OK | HTTP request sent, awaiting response... 200 OK | ||
| [...] | [...] | ||