Verstuur gegevens via netwerkcomputers met Netcat via de opdrachtregel

Anonim

Netcat is een krachtige opdrachtregeltool die gegevens kan lezen en schrijven via een netwerkverbinding met behulp van TCP/IP. Het wordt vaak gebruikt voor onder andere relays, bestandsoverdracht en poortscanning. Hoewel netcat afkomstig is uit de unix- en linux-wereld, is netcat ook ingebouwd in Mac OS X, en we gaan het nc-hulpprogramma gebruiken als een gemakkelijke manier om gegevens en andere tekst over twee netwerkcomputers te verzenden.Door netcat te gebruiken om gegevens te verzenden met een vrij eenvoudige client- en serverrelatie, biedt het een potentieel sneller alternatief voor traditioneel delen van bestanden wanneer gebruikers liever in de opdrachtregel blijven tijdens het verzenden en ontvangen van gegevens, en waar verbinding maken via SSH of SFTP niet mogelijk is. t praktisch.

Merk op dat netcat geen logins of authenticatie vereist, de enige vereiste is dat de client op de hoogte is van het IP-adres van de server en het luisterende poortnummer. Dat verhoogt uiteraard de kans op beveiligingsmisbruik, dus het gebruik van netcat om gegevens en tekst te verzenden is over het algemeen het beste voorbehouden aan geavanceerde gebruikers, of uitsluitend voor gebruik achter een beschermd lokaal netwerk waar er weinig risico is. Situaties waarin veiligheid belangrijk is om te benadrukken, kunnen beter SSH gebruiken.

Voor het gemak verwijzen we naar computer 1 die luistert met netcat als "Server", en we verwijzen naar computer 2 die de gegevens naar computer 1 verzendt als "client".

Netcat instellen om te luisteren op server (computer 1) & poort

We starten netcat en laten het luisteren op poort 2999, en leiden vervolgens alle ontvangen gegevens om naar een bestand met de naam “received.txt” met de volgende opdrachtreeks:

nc -l 2999 > ontvangen.txt

Voordat je het gedaan noemt en naar de client overgaat, wil je het IP-adres van de Mac op het lokale netwerk hebben. U kunt dat krijgen via het netwerkconfiguratiescherm, of aangezien u al bij de terminal bent, via de opdrachtregel met de volgende syntaxis:

ipconfig getifaddr en0

Moderne Macs met alleen wifi gebruiken en0, Macs met ethernet en wifi kunnen en1 gebruiken. Als de ene niets oplevert, probeer dan de andere interface om het LAN IP te krijgen. Laten we aannemen dat dit Macs IP-adres wordt gerapporteerd als "192.168.1.101", natuurlijk zal dat van jou waarschijnlijk variëren. U hebt dit op de clientcomputer nodig om gegevens te verzenden, wat we hierna zullen bespreken.

Gegevens doorsturen van client (computer 2) naar de luisterende server

Nu kunt u op de client waar u gegevens van wilt verzenden een opdracht als de volgende gebruiken. We zullen cat gebruiken om een ​​tekstbestand over het netwerk naar de luisterende netcat-server te dumpen, maar je kunt zo ongeveer alles doorsluizen wat je maar wilt:

cat sendthisdataover.txt | nc 192.168.1.101 2999

Om dit correct te laten werken, moet u uw eigen IP-adres van de server invullen en het juiste bestand of de tekst die u wilt verzenden, selecteren.

Ervan uitgaande dat het lokale netwerk zelfs maar marginaal snel is, zouden de gegevens vrij snel, zo niet onmiddellijk, moeten aankomen. Zodra de gegevensoverdracht is voltooid, wordt de verbinding aan beide zijden verbroken en stopt de server met luisteren en sluit vervolgens de poort. Dit maakt het effectief voor het eenmalig verzenden van gegevens zoals logbestanden of een groot tekstdocument, maar het is niet per se praktisch om veel bestanden te verplaatsen.

Zoals reeds vermeld, kunt u vrijwel alle gegevens doorsluizen, dus of het nu gaat om de uitvoer van een andere app, staart, kat of zelfs rechtstreeks van het klembord gedumpt met pbcopy en pbpaste, het wordt overgedragen via netcat.

Er moet worden opgemerkt dat er handigere manieren zijn om een ​​klembord te delen tussen Macs of tussen een Mac en Linux- of Windows-machines, en in die situaties kun je beter gratis tools gebruiken zoals Teleport for Mac- to-Mac input sharing, of het gratis Synergy-hulpprogramma als u cross-platform gaat tussen Macs en pc's. Met beide kan een gebruiker zowel klembordgegevens als invoerapparaten zoals een muis en toetsenbord delen.

Voor de goede orde, hoewel deze demonstratie wordt getoond op twee Macs met OS X, is er geen reden waarom je netcat niet kunt gebruiken om gegevens te verzenden tussen een Mac en een Linux-machine, of vice versa.

Er zijn tal van andere geweldige toepassingen voor netcat, als je favorieten hebt, laat het ons weten in de reacties!

Verstuur gegevens via netwerkcomputers met Netcat via de opdrachtregel