Send data på tværs af netværkscomputere med Netcat ved hjælp af kommandolinjen
Netcat er et kraftfuldt kommandolinjeværktøj, der kan læse og skrive data på tværs af en netværksforbindelse ved hjælp af TCP/IP, det bruges blandt andet til relæer, filoverførsel, portscanning. Selvom netcat-oprindelsen er fra unix- og linux-verdenen, 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 ret simpelt klient- og serverforhold, tilbyder det et potentielt hurtigere alternativ til traditionel fildeling, når brugere foretrækker at blive på kommandolinjen, mens de sender og modtager data, og hvor forbindelse via SSH eller SFTP er' t praktisk.
Bemærk, at netcat ikke kræver logins eller godkendelse, det eneste krav er, at klienten er opmærksom på serverens IP-adresse og lytteportnummeret. Det rejser naturligvis et vist potentiale for sikkerhedsmisbrug, så brug af netcat til at sende data og tekst er generelt bedst forbeholdt avancerede brugere eller udelukkende til brug bag et beskyttet lok alt netværk, hvor der er lille risiko. Situationer, hvor sikkerhed er vigtig at understrege, ville være bedre stillet ved at bruge SSH.
For nemheds skyld vil vi henvise til computer 1, der lytter med netcat som "Server", og vi vil referere til computer 2, der sender data til computer 1 som "klient".
Indstil Netcat til at lytte på server (computer 1) & port
Vi starter netcat og får det til at lytte på port 2999 og omdirigerer derefter alle de modtagne data til en fil med navnet "received.txt" med følgende kommandostreng:
nc -l 2999 > modtaget.txt
Før du kalder det færdigt og flytter over til klienten, vil du gerne have Macs IP-adresse på det lokale netværk. Du kan få det fra netværkskontrolpanelet, eller da du allerede er ved terminalen, via kommandolinjen med følgende syntaks:
ipconfig getifaddr en0
Moderne Mac'er med Wi-Fi bruger kun en0, Mac'er med ethernet og wifi kan bruge en1. Hvis den ene ikke viser noget, så 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 din sandsynligvis variere. Du skal bruge dette på klientcomputeren for at sende data over, hvilket vi vil dække herefter.
Rørdata fra klient (computer 2) til lytteserveren
Nu på den klient, hvorfra du ønsker at sende data, kan du bruge en kommando som følgende. Vi bruger cat til at dumpe en tekstfil over netværket til den lyttende netcat-server, men du kan overføre næsten alt, hvad du vil:
cat sendthisdataover.txt | nc 192.168.1.101 2999
For at dette fungerer korrekt, skal du sørge for at udfylde din egen IP-adresse fra serveren, og at indsætte den relevante fil eller tekst, du vil sende over.
Forudsat at det lokale netværk er endda margin alt hurtigt, skulle dataene ankomme ret hurtigt, hvis ikke med det samme. Når dataoverførslen er fuldført, vil begge sider af forbindelsen ophøre, og serveren vil stoppe med at lytte, og derefter lukke porten. Dette gør det effektivt til engangsafsendelse af data som logfiler eller et stort tekstdokument, men det er ikke nødvendigvis praktisk til at flytte over mange filer.
Som allerede nævnt kan du overføre næsten alle data, så uanset om det er output fra en anden app, hale, kat eller endda dumpet direkte fra udklipsholderen med pbcopy og pbpaste, overføres det gennem netcat.
Det skal bemærkes, at der er mere bekvemme måder at dele et udklipsholder på mellem Mac'er eller mellem en Mac og Linux- eller Windows-maskiner, og i disse situationer er du bedre stillet ved at bruge gratis værktøjer som Teleport til Mac- deling af input til Mac eller det gratis Synergy-værktøj, hvis du skal på tværs af platforme mellem Mac'er og pc'er. Begge giver en bruger mulighed for at dele udklipsholderdata samt inputenheder som en mus og et tastatur.
For god ordens skyld, selvom denne demonstration vises 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 en Linux-maskine, eller omvendt.
Der er masser af andre gode anvendelsesmuligheder for netcat derude, hvis du har nogle favoritter, så lad os det vide i kommentarerne!