Send data på tvers av datamaskiner i nettverk med Netcat ved å bruke kommandolinjen

Anonim

Netcat er et kraftig kommandolinjeverktøy som kan lese og skrive data på tvers av en nettverkstilkobling ved hjelp av TCP/IP, det brukes blant annet til releer, filoverføring, portskanning. Selv om netcat-opprinnelsen kommer fra unix- og linux-verdenen, er netcat også innebygd i Mac OS X, og vi kommer til å bruke nc-verktøyet som en enkel måte å sende data og annen tekst på tvers av 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 brukere foretrekker å holde seg på kommandolinjen mens de sender og mottar data, og der tilkobling via SSH eller SFTP er ' t praktisk.

Merk at netcat krever ingen pålogginger eller autentisering, det eneste kravet er at klienten er klar over serverens IP-adresse og lytteportnummeret. Det øker åpenbart et visst potensial for sikkerhetsmisbruk, og bruk av netcat til å sende data og tekst er generelt best reservert for avanserte brukere, eller for bruk utelukkende bak et beskyttet lok alt nettverk der det er liten risiko. Situasjoner der sikkerhet er viktig å vektlegge ville være bedre å bruke SSH.

For enkelhets skyld vil vi referere til datamaskin 1 som lytter med netcat som "Server", og vi vil referere til datamaskin 2 som sender data til datamaskin 1 som "klient".

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

Vi vil starte netcat og få den til å lytte på port 2999, og deretter omdirigere alle dataene som er mottatt til en fil k alt "received.txt" med følgende kommandostreng:

nc -l 2999 > mottatt.txt

Før du kaller det ferdig og flytter over til klienten, vil du ha Mac-ens IP-adresse på det lokale nettverket. Du kan få det fra nettverkskontrollpanelet, eller siden du allerede er på terminalen, via kommandolinjen med følgende syntaks:

ipconfig getifaddr en0

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

Rørdata fra klient (datamaskin 2) til lytteserveren

Nå på klienten du ønsker å sende data fra, kan du bruke en kommando som følgende. Vi bruker cat til å dumpe en tekstfil over nettverket til den lyttende netcat-serveren, men du kan overføre omtrent alt du vil:

cat sendthisdataover.txt | nc 192.168.1.101 2999

For at dette skal fungere ordentlig, sørg for å fylle inn din egen IP-adresse fra serveren, og skrive inn den aktuelle filen eller teksten du vil sende over.

Forutsatt at det lokale nettverket til og med er margin alt raskt, bør dataene komme ganske raskt om ikke umiddelbart. Når dataoverføringen er fullført, vil begge sider av tilkoblingen opphøre og serveren vil slutte å lytte, og deretter lukke 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 overføre omtrent alle data, så enten det er utdata fra en annen app, hale, katt eller til og med dumpet direkte fra utklippstavlen med pbcopy og pbpaste, vil den overføres gjennom netcat.

Det bør bemerkes at det er mer praktiske måter å dele en utklippstavle mellom Mac-er eller mellom Mac- og Linux- eller Windows-maskiner, og i slike situasjoner er det bedre å bruke gratisverktøy som Teleport for Mac- til-Mac-inngangsdeling, eller det gratis Synergy-verktøyet hvis du skal på tvers av plattformer mellom Mac-er og PC-er. Begge lar en bruker dele utklippstavledata så vel som inndataenheter som mus og tastatur.

For ordens skyld, mens denne demonstrasjonen vises på to Mac-er 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 gode bruksområder for netcat der ute, hvis du har noen favoritter, gi oss beskjed i kommentarfeltet!

Send data på tvers av datamaskiner i nettverk med Netcat ved å bruke kommandolinjen