Send data over nettverksbaserte datamaskiner med Netcat ved hjelp av kommandolinjen

Netcat er et kraftig kommandolinjeverktøy som kan lese og skrive data på tvers av en nettverkstilkobling ved hjelp av TCP / IP, den brukes ofte til reléer, filoverføring, portskanning, blant annet. Selv om netcat-opprinnelsen er fra unix- og linux-verdenene, er nettkatalogen også bygd inn i Mac OS X, og vi skal bruke nc-verktøyet som en enkel måte å sende data og annen tekst på to nettverksbaserte datamaskiner.

Ved å bruke Netcat til å sende data med et ganske enkelt klient- og serverforhold, tilbyr det et potensielt raskere alternativ til tradisjonell fildeling når brukerne foretrekker å være i kommandolinjen mens du sender og mottar data, og hvor du kobler via SSH eller SFTP, er ikke ' t praktisk.

Vær oppmerksom på at netcat ikke krever innlogging eller godkjenning, det eneste kravet er at klienten er klar over serverens IP-adresse og lytteportnummer. Det gir åpenbart noe potensial for sikkerhetsmisbruk, og bruker nettkatastrofen til å sende data, og tekst er generelt best reservert for avanserte brukere, eller for bruk utelukkende bak et beskyttet lokalt nettverk der det er liten risiko. Situasjoner der sikkerheten er viktig å understreke, ville være bedre å bruke SSH.

For enkelhets skyld refererer vi til datamaskin 1 som lytter med netcat som "Server", og vi refererer til datamaskin 2 som sender dataene til datamaskin 1 som "klient".

Sett Netcat til å lytte på server (datamaskin 1) og port

Vi starter nettkat og har det lyttet på port 2999, og deretter omdirigerer noen av dataene mottatt til en fil med navnet "received.txt" med følgende kommandostreng:

nc -l 2999 > received.txt

Før du kaller det gjort en overgang til klienten, vil du ha Mac-IP-adressen på det lokale nettverket. Du kan hente det fra kontrollpanelet Nettverk, eller siden du allerede er på Terminal, via kommandolinjen med følgende syntaks:

ipconfig getifaddr en0

Moderne Macer med Wi-Fi vil bare bruke en0, Macs med Ethernet og Wi-Fi kan bruke en1. Hvis det ikke blir noe, prøv det andre grensesnittet for å få LAN-IP. La oss anta at denne Macs IP er rapportert som "192.168.1.101", selvfølgelig din sannsynligvis vil variere. Du trenger dette på klientdatamaskinen for å sende data over, som vi vil dekke neste.

Rørdata fra klient (datamaskin 2) til lysserveren

Nå på klienten hvor du ønsker å sende data fra, kan du bruke en kommando som følgende. Vi bruker katten til å dumpe en tekstfil over nettverket til lytte netcat-serveren, men du kan røre over omtrent alt du vil ha:

cat sendthisdataover.txt | nc 192.168.1.101 2999

For at dette skal fungere skikkelig, må du fylle ut din egen IP-adresse fra serveren, og å katte den aktuelle filen eller teksten du vil sende over.

Forutsatt at det lokale nettverket er til og med marginalt raskt, skal dataene komme ganske raskt hvis ikke umiddelbart. Når dataoverføringen er fullført, slutter begge sider av forbindelsen, og serveren slutter å lytte, og lukk porten. Dette gjør det effektivt for engangssending av data som loggfiler eller et stort tekstdokument, men det er ikke nødvendigvis praktisk for å flytte over mange filer.

Som allerede nevnt, kan du røre over omtrent alle data, så om det er utdata fra en annen app, hale, katt eller til og med dumpet direkte fra utklippstavlen med pbcopy og pbpaste, vil den overføre via netcat.

Det bør bemerkes at det er enklere måter å dele et utklippstavle mellom Macer eller mellom Mac- og Linux- eller Windows-maskiner, og i slike situasjoner er det bedre å bruke gratis verktøy som Teleport for Mac-til-Mac-inngangsdeling eller gratis Synergy-verktøy hvis du skal krysse plattform mellom Mac og PC. Begge gjør det mulig for brukeren å dele utklippstavledata så vel som inngangsenheter som en mus og et tastatur.

For platen, mens denne demonstrasjonen vises på to Mac-maskiner med OS X, er det ingen grunn til at du ikke kan bruke Netcat til å sende data mellom en Mac og Linux-maskin, eller omvendt.

Det er mange andre flotte bruksområder for netcat der ute, hvis du har noen favoritter, gi oss beskjed i kommentarene!