Differences

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

Link to this comparison view

rl:labs:09:contents:01 [2013/08/24 13:35]
127.0.0.1 external edit
rl:labs:09:contents:01 [2023/11/05 13:05] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 01. Lorem ipsum ====+==== 01. [15p] Observare porturi deschise pe o stație ​====
  
-...+Utilitarul ''​netcat''​ este folosit pentru a crea conexiuni server-clientAcesta poate îndeplini atât rolul de server, cât și de client.
  
 +Pentru a crea un server care ascultă conexiuni pe portul TCP ''​2024''​ rulăm comanda<​code bash>
 +root@host:​~#​ netcat -l 2024
 +</​code>​
  
 +Parametrul ''​-l''​ înseamnă că ''​netcat''​ este în modul //listen// (//​server//​),​ iar ''​2024''​ este portul pe care ascultă: ''​netcat''​ va crea un socket de tip server și va aștepta conexiuni pe portul ''​2024''​. Terminalul va rămâne în așteptare, pentru ca un client să se conecteze serverul deschis cu ''​netcat''​. **NU** închideți terminalul.
 +
 +Dorim să verificăm faptul că pe stația ''​host''​ un serviciu ascultă pe portul ''​2024''​. Deschidem un nou terminal către stația ''​host''​ și rulăm comanda<​code bash>
 +root@host:​~#​ netstat -tlnp
 +Active Internet connections (only servers)
 +Proto Recv-Q Send-Q Local Address ​          ​Foreign Address ​        ​State ​      ​PID/​Program name
 +[...]
 +tcp        0      0 0.0.0.0:​2024 ​           0.0.0.0:​* ​              ​LISTEN ​     4958/netcat
 +[...]
 +</​code>​
 +
 +Comanda ''​netstat''​ afișează serviciile TCP care așteaptă conexiuni pe stația locală. Observăm că programul ''​netcat''​ ascultă pe portul ''​2024''​. Opțiunile comenzii ''​netstat''​ sunt:
 +  * ''​t''​ - afișează conexiuni TCP
 +  * ''​l''​ - afișează serviciile care **așteaptă** (//​listen//​) conexiuni
 +  * ''​n''​ - dezactivează rezolvare de nume pentru adrese IP și porturi; de obicei dezactivăm rezolvarea numelor pentru a elimina latența procesului de rezolvare;
 +  * ''​p''​ - afișează numele și PID-ul procesului de tip serviciu de rețea care așteaptă conexiuni pe portul dat.
 +În afișare construcția ''​0.0.0.0:​2024''​ din coloana ''​Local Address''​ înseamnă că serviciul ascultă conexiuni pe toate adresele IP/​interfețele disponibile sistemului pe portul ''​2024''​.
 +
 +În terminalul nou deschis către stația ''​host''​ conectați-vă la serviciul prospăt creat. Folosiți pentru aceasta tot comanda ''​netcat''​ în modul client:<​code bash>
 +root@host:​~#​ netcat localhost 2024
 +</​code>​
 +Comanda a creat un socket de tip client și s-a conectat la serviciul de mai sus (conexiune TCP pe portul ''​2024''​). În continuare comanda așteaptă intrare de la utilizator. Mesajele pe care le scriem vor fi transmise serverului care le va afișa la ieșirea standard. Scrieți câteva linii și observați afișarea acestora pe partea serverului. Închideți folosind combinația de taste ''​Ctrl+d''​. Se închide și serverul.
 +
 +Pe stația ''​host'',​ realizați pașii de mai sus pentru UDP:
 +  * creați un server care ascultă pachete UDP pe portul 2024;
 +  * listați serviciile care ascultă pachete UDP pe stația ''​host'';​
 +  * porniți un client UDP și comunicați cu serverul de mai sus.
 +
 +<note tip>
 +Pentru a afla ce opțiune trebuie transmisă comenzii ''​netcat''​ pentru a porni un server sau client UDP, consultați pagina de manual a comenzii și căutați șirul ''​UDP''​.
 +
 +La fel, pentru a afla ce opțiune trebuie transmisă comenzii ''​netstat''​ pentru a afișa sockeții UDP, consultați pagina de manual a comenzii și căutați șirul ''​udp''​.
 +</​note>​
 +
 +<​hidden>​
 +<​solution>​
 +Pornim serverul:<​code bash>
 +root@host:​~#​ netcat -u -l 2024
 +</​code>​
 +Afișăm sockeții UDP de la nivelul sistemului:<​code bash>
 +root@host:​~#​ netstat -ulpn
 +Proto Recv-Q Send-Q Local Address ​          ​Foreign Address ​        ​State ​      ​PID/​Program name
 +[...]
 +udp        0      0 0.0.0.0:​2024 ​           0.0.0.0:​* ​                          ​6088/​netcat ​    
 +[...]
 +</​code>​
 +Pornim un client UDP și comunicăm cu serverul creat anterior:<​code bash>
 +root@host:​~#​ netcat -u localhost 2024
 +</​code>​
 +</​solution>​
 +</​hidden>​
rl/labs/09/contents/01.1377340500.txt.gz · Last modified: 2013/11/17 10:41 (external edit)
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