Skicka data över nätverksanslutna datorer med Netcat med hjälp av kommandoraden

Anonim

Netcat är ett kraftfullt kommandoradsverktyg som kan läsa och skriva data över en nätverksanslutning med hjälp av TCP/IP, det används bland annat för reläer, filöverföring, portskanning. Även om netcats ursprung kommer från unix- och linux-världen, är netcat också inbyggt i Mac OS X, och vi kommer att använda nc-verktyget som ett enkelt sätt att skicka data och annan text över två nätverksanslutna datorer.Genom att använda netcat för att skicka data med en ganska enkel klient- och serverrelation erbjuder den ett potentiellt snabbare alternativ till traditionell fildelning när användare föredrar att stanna kvar på kommandoraden medan de skickar och tar emot data, och där det är möjligt att ansluta via SSH eller SFTP. t praktiskt.

Notera att netcat inte kräver några inloggningar eller autentisering, det enda kravet är att klienten är medveten om serverns IP-adress och lyssningsportnumret. Det ger uppenbarligen en viss risk för säkerhetsmissbruk, så att använda netcat för att skicka data och text är i allmänhet bäst reserverat för avancerade användare, eller för användning uteslutande bakom ett skyddat lok alt nätverk där det är liten risk. Situationer där säkerhet är viktigt att betona skulle vara bättre att använda SSH.

För enkelhetens skull hänvisar vi till dator 1 som lyssnar med netcat som "Server", och vi hänvisar till dator 2 som skickar data till dator 1 som "klient".

Ställ in Netcat för att lyssna på server (dator 1) & port

Vi startar netcat och låter den lyssna på port 2999 och omdirigerar sedan all data som tas emot till en fil med namnet "received.txt" med följande kommandosträng:

nc -l 2999 > mottagna.txt

Innan du kallar det färdigt och flyttar över till klienten, vill du ha Macs IP-adress på det lokala nätverket. Du kan få det från nätverkets kontrollpanel, eller eftersom du redan är vid terminalen, via kommandoraden med följande syntax:

ipconfig getifaddr en0

Endast moderna Mac-datorer med Wi-Fi kommer att använda en0, Mac-datorer med Ethernet och wifi kan använda en1. Om den ena inte visar något, prova det andra gränssnittet för att få LAN-IP. Låt oss anta att denna Macs IP rapporteras som "192.168.1.101", naturligtvis kommer din sannolikt att variera. Du behöver detta på klientdatorn för att skicka data över, vilket vi tar upp härnäst.

Rördata från klient (dator 2) till lyssningsservern

Nu på klienten som du vill skicka data från kan du använda ett kommando som följande. Vi använder cat för att dumpa en textfil över nätverket till den lyssnande netcat-servern, men du kan överföra nästan vad du vill:

cat sendthisdataover.txt | nc 192.168.1.101 2999

För att detta ska fungera korrekt, var noga med att fylla i din egen IP-adress från servern, och att skriva in den lämpliga filen eller texten du vill skicka över.

Förutsatt att det lokala nätverket är till och med marginellt snabbt, bör data komma fram ganska snabbt om inte omedelbart. När dataöverföringen är klar kommer båda sidor av anslutningen att upphöra och servern slutar lyssna och stänger sedan porten. Detta gör det effektivt för engångssändning av data som loggfiler eller ett stort textdokument, men det är inte nödvändigtvis praktiskt för att flytta över många filer.

Som redan nämnts kan du överföra nästan vilken data som helst, så oavsett om det är utdata från en annan app, svans, katt eller till och med dumpad direkt från urklippet med pbcopy och pbpaste, kommer den att överföras via netcat.

Det bör noteras att det finns mer bekväma sätt att dela ett urklipp mellan Mac-datorer eller mellan en Mac och Linux- eller Windows-datorer, och i dessa situationer är det bättre att använda gratisverktyg som Teleport for Mac- ingångsdelning till Mac, eller det kostnadsfria Synergy-verktyget om du går över plattformen mellan Mac och PC. Båda tillåter en användare att dela urklippsdata såväl som inmatningsenheter som en mus och tangentbord.

För säkerhets skull, även om den här demonstrationen visas på två Mac-datorer med OS X, finns det ingen anledning till att du inte kan använda netcat för att skicka data mellan en Mac och en Linux-maskin, eller vice versa.

Det finns massor av andra bra användningsområden för netcat där ute, om du har några favoriter, låt oss veta i kommentarerna!

Skicka data över nätverksanslutna datorer med Netcat med hjälp av kommandoraden