8 netcat (nc) commando met voorbeelden

Netcat (of NC in het kort) is een eenvoudige maar krachtige netwerk command-line tool gebruikt voor het uitvoeren van elke operatie in Linux gerelateerd aan TCP, UDP, of UNIX-domein sockets.

Netcat kan gebruikt worden voor het scannen van poorten, het omleiden van poorten, als een port listener (voor binnenkomende verbindingen); het kan ook gebruikt worden om externe verbindingen te openen en zo veel andere dingen. Bovendien kunt u het gebruiken als een achterdeur om toegang te krijgen tot een doelserver.

in dit artikel zullen we netcat gebruik commando ‘ s met voorbeelden uitleggen.,

hoe netcat in Linux te installeren en te gebruiken

om het netcat-pakket op uw systeem te installeren, gebruikt u de standaard pakketbeheerder voor uw Linux-distributie.

$ yum install nc $ dnf install nc $ sudo apt-get install Netcat 

zodra het netcat-pakket is geïnstalleerd, kunt u verder gaan om het gebruik van het netcat-commando te leren in de volgende voorbeelden.

Poortscanning

Netcat kan worden gebruikt voor poortscanning: om te weten welke poorten open zijn en services draaien op een doelmachine. Het kan een enkele of meerdere of een reeks open poorten scannen.,

Hier is een voorbeeld, de -z optie stelt nc in om simpelweg te scannen op luisterdaemons, zonder daadwerkelijk gegevens naar hen te verzenden. De optie -v schakelt de uitgebreide modus in en -w specificeert een time-out voor verbinding die niet tot stand kan worden gebracht.,

Scannen naar Open poorten in Linux

overdracht van bestanden tussen Linux Servers

met Netcat kunt u bestanden tussen twee Linux computers of servers overbrengen en beide systemen moeten nc hebben geïnstalleerd.

bijvoorbeeld, om een ISO-imagebestand van de ene computer naar de andere te kopiëren en de voortgang van de overdracht te controleren (met behulp van het PV-hulpprogramma), voer je het volgende commando uit op de afzender/server computer (waar het ISO-bestand bestaat).,

Dit zal nc draaien in luistermodus (-l vlag) op poort 3000.

$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5

en voer op de ontvanger/clientcomputer het volgende commando uit om het bestand te verkrijgen.

$ nc 192.168.1.4 3000 | pv | tar -zxf -
bestandsoverdracht tussen Linux-systemen

Maak een Command Line Chat Server

U kunt ook gebruik netcat om direct een eenvoudige command-line Messaging server te maken., Net als in het vorige gebruiksvoorbeeld moet nc geïnstalleerd worden op beide systemen die gebruikt worden voor de chatruimte.

voer op één systeem het volgende commando uit om de chatserver aan te maken die luistert op poort 5000.

$ nc -l -vv -p 5000

voer op het andere systeem het volgende commando uit om een chatsessie te starten op een machine waar de messaging server draait.,

$ nc 192.168.56.1 5000
chatserver aanmaken in opdrachtregel

een Basiswebserver aanmaken

met de -l optie van het NC commando dat gebruikt wordt om een basis, onveilige webserver aan te maken om statische webbestanden aan te bieden voor leerdoeleinden. Om dit aan te tonen, maak je een .html bestand zoals getoond.

$ vim index.html

voeg de volgende HTML-regels toe aan het bestand.

<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body></html>

wijzigingen in het bestand opslaan en afsluiten.,

serveer het bovenstaande bestand via HTTP door het volgende commando uit te voeren, waardoor de HTTP-server continu kan draaien.

$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
maak webserver aan op de opdrachtregel

open vervolgens een webbrowser en kan toegang krijgen tot de inhoud via het volgende adres.,


Test webserver

merk op dat u de netcat HTTP server kunt stoppen door op .

problemen met de Linux-serververbinding oplossen

een ander nuttig gebruik van Netcat is het oplossen van problemen met de serververbinding. Hier kunt u Netcat gebruiken om te controleren welke gegevens een server verzendt als antwoord op opdrachten van de client.

het volgende commando haalt de startpagina van example.com.,

$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80

De uitvoer van het bovenstaande commando bevat de headers die door de web-server worden verzonden en die kunnen worden gebruikt voor het oplossen van problemen.

zoek een Service die draait op Poort

U kunt ook Netcat gebruiken om poortbanners te verkrijgen. In dit geval zal het je vertellen welke service achter een bepaalde poort draait. Om bijvoorbeeld te weten welk type service wordt uitgevoerd achter poort 22 op een specifieke server, voer je het volgende commando uit (vervang 192.168.56.110 door het IP-adres van de doelserver). De-n vlag betekent het uitschakelen van DNS of service lookups.,

$ nc -v -n 192.168.56.110 80
Find Service Running on Port

Create a Stream Sockets

Netcat also supports creation of UNIX-domain stream sockets. The following command will create and listen on a UNIX-domain stream socket.

$ nc -lU /var/tmp/mysocket &$ ss -lpn | grep "/var/tmp/"
Create Stream Socket in Command Line

Create a Backdoor

You can as well run Netcat as a backdoor., Dit vraagt echter om meer werk. Als Netcat op een doelserver is geà nstalleerd, kunt u het gebruiken om een achterdeur te maken, om een opdrachtprompt op afstand te krijgen.

om een achterdeurtje op te treden heb je Netcat nodig om te luisteren op een gekozen poort (bijv. poort 3001) op de doelserver en dan kun je vanaf je machine als volgt verbinding maken met deze poort.

Dit is het commando dat moet worden uitgevoerd op de server op afstand waar de optie -d het lezen van stdin uitschakelt, en -e het commando specificeert dat op het doelsysteem moet worden uitgevoerd.,

$ nc -L -p 3001 -d -e cmd.exe 

Last but not least, Netcat kan worden gebruikt als een proxy voor verschillende diensten/protocollen, waaronder HTTP, SSH, en nog veel meer. Voor meer informatie, zie de manpage.

$ man nc

In dit artikel hebben we 8 praktische voorbeelden van netcat commando ‘ s uitgelegd. Als u andere praktische use case(s) kent, deel dit dan met ons via onderstaand feedbackformulier. U kunt ook een vraag stellen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Spring naar toolbar