Ncat: het Zwitsers zakmes voor je netwerk
Gepubliceerd: Vrijdag 18 september 2009
Auteur: Koen Vervloesem
Het programma netcat staat bekend als het "Zwitsers zakmes" voor netwerktaken. Je kunt er willekeurige gegevens mee over netwerkverbindingen lezen en schrijven, wat het heel geschikt maakt voor het debuggen van netwerken. Helaas heeft het al even geen update gekregen, maar het programma ncat in Nmap lost dit op.
Iedere Unix-systeembeheerder heeft wel Netcat in zijn gereedschapskist zitten, maar het programma wordt al meer dan tien jaar niet meer onderhouden. Dat heeft gezorgd voor heel wat herimplementaties van Netcat met extra functionaliteit, zoals Socat, OpenBSD's nc, CryptCat en GNU Netcat.
Recent is er een nieuw Zwitsers zakmes opgedoken: Ncat, onderdeel van Nmap 5.0. Ncat werkt met IPv4 en IPv6, kan TCP- en UDP-poorten omleiden, ondersteunt SSL-verbindingen en proxy-verbindingen via een SOCKS4- of HTTP-proxy. Zie de man-pagina en de uitgebreide User's Guide voor meer informatie en een aantal handige tips.
Nu ook met SSL
Vooral de SSL-ondersteuning van Ncat is interessant. Met de optie --ssl verbind je met een server via SSL, en Ncat versleutelt het netwerkverkeer transparant. Een voorbeeld (voor HTTPS):
ncat -C --ssl example.com 443Ncat verifieert standaard niet het certificaat van de server, maar doet dit wel als je in de plaats van --ssl de optie --ssl-verify gebruikt. Als de SSL-server een client certificate vereist, geef je de locaties van de bestanden op met de opties --ssl-cert en --ssl-key.
Anderzijds kan Ncat zich ook als SSL-server voordoen. Gebruik je geen opties --ssl-cert en --ssl-key voor de certificaatbestanden, dan genereert Ncat die automatisch en toont in verbose mode ook de vingerafdruk van de RSA-sleutel:
ncat -v --listen --sslNcat kan tot slot ook als een versleutelde brug functioneren tussen een client die geen SSL verstaat en een server die SSL vereist. Een voorbeeld:
ncat -l localhost 143 --sh-exec "ncat --ssl imap.example.com 993"
Dit is voor een mail client die geen SSL ondersteunt: je verbindt je mail client op poort 143 (IMAP) van localhost, en al het verkeer hierdoor wordt door Ncat versleuteld met SSL en naar de server op poort 993 (IMAPS) verstuurd. Dit maakt ook gebruik van de optie --sh-exec waarmee Ncat een extern commando (hier zichzelf) uitvoert waarvan de standaard in- en uitvoer naar de netwerkverbinding worden omgeleid.
Bron: Techworld
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
