Netcat (eller nc kort sagt) är ett enkelt men ändå kraftfullt nätverk kommandoradsverktyg som används för att utföra någon operation i Linux relaterade till TCP, UDP, eller UNIX-domän uttag.
Netcat kan användas för port scanning, port omdirigering, som en port lyssnare (för inkommande anslutningar); det kan också användas för att öppna fjärranslutningar och så många andra saker. Dessutom kan du använda den som en bakdörr för att få tillgång till en målserver.
i den här artikeln kommer vi att förklara Netcat-användningskommandon med exempel.,
så här installerar och använder du Netcat i Linux
för att installera netcat-paketet på ditt system, använd standardpakethanteraren för din Linux-distribution.
$ yum install nc $ dnf install nc $ sudo apt-get install Netcat
När netcat-paketet har installerats kan du gå vidare för att lära dig användningen av netcat-kommandot i följande exempel.
portskanning
Netcat kan användas för portskanning: för att veta vilka portar som är öppna och kör tjänster på en målmaskin. Det kan skanna en enda eller flera eller en rad öppna portar.,
här är ett exempel, alternativet -z
ställer in nc för att helt enkelt söka efter lyssnande dem, utan att skicka några data till dem. Alternativet-v
aktiverar utförligt läge och-w
anger en tidsgräns för anslutning som inte kan fastställas.,
Överför filer mellan Linux-servrar
Netcat låter dig överföra filer mellan två Linux-datorer eller servrar och båda dessa system måste ha nc installerat.
till exempel, för att kopiera en ISO-bildfil från en dator till en annan och övervaka överföringsförloppet (med hjälp av pv-verktyget), kör följande kommando på avsändaren / serverdatorn (där ISO-filen finns).,
det här kör nc i lyssningsläge (-l
flagga) på port 3000.
$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5
och på mottagaren/klientdatorn kör du följande kommando för att hämta filen.
$ nc 192.168.1.4 3000 | pv | tar -zxf -
skapa en Kommandoradschattserver
Du kan också använda Netcat för att skapa en enkel kommandoradsmeddelandeserver direkt., Som i föregående användningsexempel måste nc installeras på båda systemen som används för Chattrummet.
på ett system kör du följande kommando för att skapa chattservern som lyssnar på port 5000.
$ nc -l -vv -p 5000
på det andra systemet kör du följande kommando för att starta en chattsession till en dator där meddelandeservern körs.,
$ nc 192.168.56.1 5000
skapa en grundläggande webbserver
med alternativet -l
. NC kommando används för att skapa en grundläggande, osäker webbserver för att tjäna statiska webbfiler för inlärningssyfte. För att visa detta, skapa en.html
– fil som visas.
$ vim index.html
Lägg till följande HTML-rader i filen.
<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body></html>
Spara ändringar i filen och avsluta.,
servera sedan ovanstående fil över HTTP genom att köra följande kommando, vilket gör att HTTP-servern kan köras kontinuerligt.
$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
Öppna sedan en webbläsare och kan komma åt innehållet med följande adress.,
Observera att du kan stoppa Netcat HTTP-servern genom att trycka på.
felsöka Linux-serverns anslutning
en annan användbar användning av Netcat är att felsöka problem med serverns anslutning. Här kan du använda Netcat för att verifiera vilka data en server skickar som svar på kommandon som utfärdas av klienten.
följande kommando hämtar startsidan för example.com. – herr talman!,
$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80
utdata från ovanstående kommando innehåller rubriker som skickas av webbservern som kan användas för felsökning.
hitta en tjänst som körs på Port
Du kan också använda Netcat för att få portbanners. I det här fallet kommer det att berätta vilken tjänst som körs bakom en viss port. För att till exempel veta vilken typ av tjänst som körs bakom port 22 på en viss server, kör följande kommando (ersätt 192.168.56.110 med målserverns IP-adress). Flaggan-n
innebär att inaktivera DNS-eller serviceuppslagningar.,
$ nc -v -n 192.168.56.110 80
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 a Backdoor
You can as well run Netcat as a backdoor., Detta kräver dock mer arbete. Om Netcat är installerat på en målserver kan du använda den för att skapa en bakdörr för att få en fjärrkommandot.
för att agera bakdörr behöver du Netcat att lyssna på en vald port (t. ex. port 3001) på målservern och sedan kan du ansluta till den här porten från din maskin enligt följande.
det här är kommandot som är avsett att köras på fjärrservern där alternativet-d
inaktiverar läsning från stdin, och-e
anger kommandot som ska köras på målsystemet.,
$ nc -L -p 3001 -d -e cmd.exe
sist men inte minst kan Netcat användas som proxy för olika tjänster / protokoll, inklusive HTTP, SSH och många fler. För mer information, se dess man sida.
$ man nc
i den här artikeln har vi förklarat 8 praktiska netcat-kommandoanvändningsexempel. Om du känner till några andra praktiska användningsfall, dela med oss via feedbackformuläret nedan. Du kan också ställa en fråga.