Startpagina > Netwerkbeheer > nc

nc: Netwerkverbindingen en luisteren

nc (netcat) is een veelzijdig hulpprogramma dat wordt gebruikt om netwerkverbindingen tot stand te brengen en gegevens te lezen en schrijven via TCP- of UDP-protocollen. Het kan worden gebruikt voor een breed scala aan netwerktaken, zoals poortscannen, bestandsoverdracht en het opzetten van eenvoudige chatservers, waardoor het ook wel de 'Zwitserse zakmes van het netwerk' wordt genoemd.

Overzicht

nc is een krachtig hulpprogramma voor het verzenden en ontvangen van gegevens via het netwerk. Het wordt gebruikt voor het tot stand brengen van bidirectionele communicatie in een client-servermodel, het controleren van de status van poorten, en diverse netwerkdiagnostiek en -tests.

Belangrijkste toepassingen

  • Poortscannen en controleren of poorten open zijn
  • Eenvoudige TCP/UDP servers en clients opzetten
  • Bestandsoverdracht (via het netwerk)
  • Netwerkservices debuggen en testen
  • Eenvoudige chat- of shellverbindingen

Belangrijkste opties

Het nc-commando biedt diverse opties om flexibele netwerktaken uit te voeren.

Verbinding en luisteren

Gedragscontrole

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`nc` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Diverse voorbeelden van het gebruik van het nc-commando.

Controleren of een specifieke poort open is (TCP)

nc -zv google.com 80

Controleert of poort 80 van google.com open is. -z probeert alleen verbinding te maken zonder gegevens over te dragen, en -v geeft gedetailleerde uitvoer.

Eenvoudige TCP-server (luisteren)

nc -lvp 1234

Wacht op inkomende verbindingen op lokale poort 1234. Zodra een client verbinding maakt, kunnen tekstberichten worden uitgewisseld.

Eenvoudige TCP-client (verbinding maken met server)

nc localhost 1234

Maakt verbinding met de draaiende server (localhost:1234). Na verbinding kunt u tekst invoeren om met de server te communiceren.

Bestandsoverdracht (serverzijde)

nc -lvp 1234 < file_to_send.txt

De server luistert op poort 1234 om het bestand 'file_to_send.txt' naar de client te verzenden.

Bestandsoverdracht (clientzijde)

nc localhost 1234 > received_file.txt

De client maakt verbinding met de server (localhost:1234) en slaat het ontvangen bestand op als 'received_file.txt'.

HTTP GET-verzoek verzenden

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

Gebruik nc om rechtstreeks een HTTP GET-verzoek naar een webserver te sturen en de reactie te bekijken.

Installatie

nc (netcat) is standaard geïnstalleerd op de meeste Linux-distributies, of kan eenvoudig worden geïnstalleerd via de pakketbeheerder van de distributie. Afhankelijk van de distributie kan het worden aangeboden als 'netcat-traditional' of 'ncat' (een verbeterde versie van het Nmap-project).

Debian/Ubuntu

sudo apt update
sudo apt install netcat-traditional

Installeren met de apt-pakketbeheerder.

CentOS/RHEL/Fedora

sudo yum install nc
# of
sudo dnf install nmap-ncat

Installeren met de yum- of dnf-pakketbeheerder.

Tips & Aandachtspunten

nc is een zeer krachtig hulpprogramma, maar misbruik kan beveiligingsproblemen veroorzaken, dus wees voorzichtig bij het gebruik ervan.

Beveiligingsoverwegingen

nc kan worden gebruikt voor kwaadaardige doeleinden zoals backdoors en shellverbindingen. Vermijd onzorgvuldig gebruik zonder begrip van systeembewaking. Wees vooral voorzichtig bij het omzeilen van firewallregels of het verzenden van gevoelige gegevens.

  • Vermijd het openen van onnodige poorten
  • Vermijd verbindingen met onbetrouwbare bronnen
  • Controleer en configureer firewallregels

Verschil tussen nc en ncat

Op sommige systemen verwijst 'nc' naar 'netcat-traditional', terwijl het op andere systemen verwijst naar 'ncat' (onderdeel van het Nmap-project). ncat biedt meer functies zoals IPv6, SSL en proxy-ondersteuning. Als u specifieke functies nodig heeft, kunt u overwegen om 'ncat' expliciet te installeren en te gebruiken.

Gebruik in scripts

nc is zeer nuttig voor het automatiseren van complexe netwerktaken door het te combineren met andere commando's via shellscripts en pipes (|). U kunt bijvoorbeeld de reactie van een specifieke service monitoren of prototypes van eenvoudige netwerkgebaseerde services maken.


Hétzelfde categoriecommando