The basics of working with Netcat - Part 1
Innehållsförteckning:
- Netcat Syntax
- Portskanning
- Skicka filer via Netcat
- Skapa en enkel chattserver
- Utför en HTTP-begäran
- Slutsats
Netcat (eller nc) är ett kommandoradsverktyg som läser och skriver data över nätverksanslutningar med TCP- eller UDP-protokoll. Det är ett av de kraftfullaste verktygen i nätverket och systemadministratörsarsenalen och det betraktas som en schweizisk armékniv av nätverksverktyg.
Netcat är en plattform som är tillgänglig för Linux, macOS, Windows och BSD. Du kan använda Netcat för att felsöka och övervaka nätverksanslutningar, söka efter öppna portar, överföra data, som en proxy och mer. Netcat-paketet är förinstallerat på macOS och populära Linux-distributioner som Ubuntu.
Netcat Syntax
Den mest grundläggande syntaxen i Netcat-verktyget har följande form:
nc host port
På Ubuntu kan du använda antingen
netcat
eller
nc
. De är båda symlänkar till openBSD-versionen av Netcat.
Som standard kommer Netcat att försöka starta en TCP-anslutning till den angivna värden och porten. Om du vill upprätta en UDP-anslutning använder du alternativet
-u
:
Portskanning
Skanna portar är en av de vanligaste användningarna för Netcat. Du kan skanna en enda port eller ett portintervall.
Till exempel för att söka efter öppna portar i området 20-80 använder du följande kommando:
nc -z -v 10.10.8.8 20-80
Alternativet
-z
berättar för
nc
att bara söka efter öppna portar utan att skicka data till dem och alternativet
-v
att ge mer ordinär information.
Utgången ser ut så här:
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded! nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused… nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused Connection to 10.10.8.8 80 port succeeded!
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!
Du kan också använda Netcat för att hitta serverprogramvaran och dess version. Om du till exempel skickar ett "EXIT" -kommando till servern på standard SSH-port 22:
echo "EXIT" | nc 10.10.8.8 22
Utgången ser ut så här:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4 Protocol mismatch.
För att söka efter UDP-portar lägger du bara till
-u
alternativet i kommandot som visas nedan:
nc -z -v -u 10.10.8.8 20-80
I de flesta situationer är Nmap ett bättre verktyg än Netcat för komplex portskanning.
Skicka filer via Netcat
Netcat kan användas för att överföra data från en värd till en annan genom att skapa en grundläggande klient / servermodell.
Detta fungerar genom att ställa in Netcat att lyssna på en specifik port (med alternativet
-l
) på den mottagande värden och sedan upprätta en vanlig TCP-anslutning från den andra värden och skicka filen över den.
På mottagningskörningen följer följande kommando som öppnar port 5555 för inkommande anslutning och omdirigerar utgången till filen:
nc -l 5555 > file_name
Anslut till den mottagande värden från den sändande värden och skicka filen:
nc receiving.host.com 5555 < file_name
För att överföra en katalog kan du använda tar för att arkivera katalogen på källvärd och för att extrahera arkivet på destinationsvärd.
På den mottagande värden ställer du in Netcat-verktyget för att lyssna på en inkommande anslutning på port 5555. De inkommande data rörs till tjärkommandot som kommer att extrahera arkivet:
nc -l 5555 | tar xzvf -
På den sändande värden packar du katalogen och skickar data genom att ansluta till den lyssnande
nc
processen på den mottagande värden:
tar czvf - /path/to/dir | nc receiving.host.com 5555
Du kan se överföringsförloppet i båda ändarna. När du är klar skriver du
CTRL+C
att stänga anslutningen.
Skapa en enkel chattserver
Proceduren för att skapa en onlinechatt mellan två eller flera värdar är densamma som vid överföring av filer.
På den första värden startar en Netcat-process för att lyssna på port 5555:
nc -l 5555
Från den andra värden kör följande kommando för att ansluta till lyssningsporten:
nc first.host.com 5555
Om du skriver ett meddelande och trycker på
ENTER
kommer det att visas på båda värdarna.
CTRL+C
att stänga anslutningen.
Utför en HTTP-begäran
Även om det finns mycket bättre verktyg för HTTP-förfrågningar som curl, kan du också använda Netcat för att skicka olika förfrågningar till fjärrservrar.
För att till exempel hämta Netcat-man-sidan från OpenBSD-webbplatsen skriver du:
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
Det fullständiga svaret inklusive HTTP-rubriker och HTML-kod kommer att skrivas ut i terminalen.
Slutsats
I den här handledning har du lärt dig hur du använder Netcat-verktyget för att upprätta en och testa TCP- och UDP-anslutningar.
För mer information, besök Netcat man-sidan och läs om alla andra kraftfulla alternativ i Netcat-kommandot.
netcat terminalFelet ligger i Firefox 3.0.2-programvaran, släpptes tisdag. Det påverkar Firefox-användare som använder vissa typer av tecken i sina sparade användarnamn och lösenord, till exempel bokstäver med accenter, säger Mike Beltzner, chef för Firefox-utveckling.
Berörda användare kan inte komma åt sina befintliga sparade lösenord eller skapa nya.
Dashboard-sidan, tillgänglig på google.com/dashboard, ger dig en översikt över kalendrar eller dokument du delar, din chatt historia och webbplatser du har behörighet att få åtkomst till dina Picasa-bilder eller Gmail-kontakter (till exempel en socialt nätverkande webbplats som kan använda din kontaktlista för att hjälpa dig att hitta andra användare, à la Facebook). Du hittar också en lista med sökfrågor du har utfört när du är inloggad på Google. Om du använder Google Verktygsfält och har akti
En ren sökschema
Ett problem som allmänt märkts med Windows-operativsystemet idag är att nya uppdateringar av operativsystemet tar med sig, en egen del av problem. Du kan till exempel misslyckas med att ansluta till Internet, snart efter uppdateringen och ser ett felmeddelande -
Ingen Internet, Säker







