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.