netcat

, by  Valentin Murariu

Problema dată era următoarea: cum aflu dacă o transmisie de date între două maşini pe care le-am configurat de o anumită manieră este criptată sau clear-text.

Rezolvarea: cu ajutorul proiectului GNU Netcat. Instalarea pe o platformă *NIX nu e o problemă, sub Windows m-am chinuit să găsesc pachete binare deja compilate: nada ! Soluţia a fost:
- in primă etapă instalarea Cygwin cu pachete de dezvoltare C/C++
- a doua etapă a fost descărcarea codului sursă netcat şi lansat ./configure && make
- a treia etapă: lansarea lui netcat cu următoarea linie de comandă:

care, conform manualului, deschide portul local 15751 şi forwardează tot traficul (neatins) pe maşina remotemachine la portul 15741 [1]. Opţiunea -x face "hexdump incoming and outgoing traffic", deci veţi putea verifica în consolă dacă ce trece între maşini este clear-text sau nu.

Exemplul cel mai simplu:

- lansaţi netcat -p 15751 -x -L murariu.info:80 2>&1 | more
- vizitaţi în browser-ul inimii dvs http://localhost:15751
- vedeţi ce este imprimat în consolă, ar trebui ca în prima parte să fie cod HTTP la liber, de exemplu:


- lansaţi acum netcat -p 25751 -x -L murariu.info:443 2>&1 | more
- vizitaţi în browser https://localhost:25751. Notă: https, nu http
- re-vedeţi consola, ar trebui să vedeţi multe linii conţinând ceva de genul:

QED.

[1Aveţi, bineînţeles, libertatea dea înlocui numerele de port şi numele maşinii distante cu ce vreţi dvs