Send data på tværs af netværkscomputere med Netcat ved hjælp af kommandolinjen

Netcat er et kraftfuldt kommandolinjeværktøj, som kan læse og skrive data på tværs af en netværksforbindelse ved hjælp af TCP / IP, det bruges ofte til relæer, filoverførsel, portscanning, blandt andet. Selv om netcat-oprindelse er fra unix- og linux-verdenerne, er netcat også indbygget i Mac OS X, og vi vil bruge nc-værktøjet som en nem måde at sende data og anden tekst på tværs af to netværkscomputere.

Ved at bruge netcat til at sende data med et forholdsvis simpelt klient- og serverforhold giver det et potentielt hurtigere alternativ til traditionel fildeling, når brugerne foretrækker at forblive i kommandolinjen, mens de sender og modtager data, og hvor forbindelsen via SSH eller SFTP ikke er ' t praktisk.

Bemærk, at netcat ikke kræver login eller godkendelse. Det eneste krav er, at klienten er opmærksom på serverens IP-adresse og lytteportnummer. Det skaber naturligvis et vist potentiale for sikkerhedsmisbrug, og bruger netcat til at sende data, og tekst er generelt bedst forbeholdt avancerede brugere eller udelukkende til brug for et beskyttet lokalt netværk, hvor der er ringe risiko. Situationer, hvor sikkerhed er vigtig for at understrege, ville være bedre at bruge SSH.

For nemheds skyld refererer vi til computer 1, der lytter med netcat som "Server", og vi henviser til computer 2, der sender dataene til computer 1 som "klient".

Indstil Netcat til at lytte på server (Computer 1) & Port

Vi lancerer netcat og får det til at lytte på port 2999 og derefter omdirigere nogen af ​​de data, der er modtaget til en fil med navnet "received.txt" med følgende kommandostreng:

nc -l 2999 > received.txt

Før du kalder det gjort en overflytning til klienten, vil du have Mac-IP-adressen på det lokale netværk. Du kan få det fra Netværkskontrolpanelet, eller siden du allerede er på Terminal, via kommandolinjen med følgende syntaks:

ipconfig getifaddr en0

Moderne Mac'er med Wi-Fi vil kun bruge en0, Macs med Ethernet og wifi kan bruge en1. Hvis man ikke viser noget, prøv den anden grænseflade for at få LAN IP. Lad os antage, at denne Macs IP er rapporteret som "192.168.1.101", selvfølgelig vil dine sandsynligvis variere. Du skal bruge dette på klientcomputeren for at sende data over, som vi dækker næste gang.

Rørdata fra klient (computer 2) til lysserveren

Nu på klienten, hvor du ønsker at sende data fra, kan du bruge en kommando som følgende. Vi bruger kat til at dumpe en tekstfil over netværket til den lytterende netcat-server, men du kan rør over stort set alt hvad du vil:

cat sendthisdataover.txt | nc 192.168.1.101 2999

For at dette skal fungere korrekt, skal du sørge for at udfylde din egen IP-adresse fra serveren og at katte den relevante fil eller tekst, du vil sende over.

Forudsat at det lokale netværk er endda marginalt hurtigt, skal dataene ankomme ganske hurtigt, hvis ikke øjeblikkeligt. Når dataoverførslen er afsluttet, stopper begge sider af forbindelsen, og serveren holder op med at lytte, og lukker så porten. Dette gør det effektivt til engangskendelse af data som logfiler eller et stort tekstdokument, men det er ikke nødvendigvis praktisk at flytte over mange filer.

Som allerede nævnt kan du rør over næsten alle data, så om det er output fra en anden app, hale, kat eller endda dumpet direkte fra udklipsholderen med pbcopy og pbpaste, vil den overføre via netcat.

Det skal bemærkes, at der er mere bekvemme måder at dele et udklipsholder mellem Mac'er eller mellem Mac- og Linux- eller Windows-maskiner, og i disse situationer er det bedre at bruge gratis værktøjer som Teleport til Mac-til-Mac-input deling eller gratis Synergy-værktøj, hvis du går på tværs af platforme mellem Mac'er og pc'er. Begge giver en bruger mulighed for at dele udklipsholder data samt input enheder som en mus og tastatur.

Til optagelsen, mens denne demonstration er vist på to Mac'er med OS X, er der ingen grund til, at du ikke kan bruge Netcat til at sende data mellem en Mac og Linux-maskine eller omvendt.

Der er masser af andre gode anvendelser til netcat derude, hvis du har nogen favoritter, så lad os vide i kommentarerne!