Stuur gegevens over netwerkcomputers met Netcat via de opdrachtregel

Netcat is een krachtige opdrachtregelhulpprogramma die gegevens via een netwerkverbinding kan lezen en schrijven met behulp van TCP / IP, het wordt meestal gebruikt voor relais, bestandsoverdracht, poortscannen, enzovoort. Hoewel de Netcat-oorsprong afkomstig is uit de Unix- en Linux-werelden, 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 computers in een netwerk te verzenden.

Door netcat te gebruiken om gegevens te verzenden met een vrij eenvoudige client- en serverrelatie, biedt het een mogelijk sneller alternatief voor het traditionele delen van bestanden wanneer gebruikers liever op de commandoregel blijven tijdens het verzenden en ontvangen van gegevens, en waar het verbinden via SSH of SFTP niet gebeurt. 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 nummer van de luisterpoort. Dat brengt uiteraard enige risico's met zich mee voor beveiligingsmisbruik, dus het gebruik van netcat om gegevens te verzenden en tekst is over het algemeen het best voorbehouden voor geavanceerde gebruikers, of voor exclusief gebruik achter een beschermd lokaal netwerk waar er weinig risico is. Situaties waarbij veiligheid belangrijk is om te benadrukken, zouden beter af zijn met SSH.

Voor het gemak verwijzen we naar computer 1 die luistert met Netcat als "Server" en we zullen verwijzen naar computer 2 die de gegevens naar computer 1 stuurt als "cliënt".

Stel Netcat in op luisteren op server (computer 1) en poort

We zullen netcat lanceren en laten luisteren op poort 2999 en vervolgens een van de ontvangen gegevens doorsturen naar een bestand met de naam "receive.txt" met de volgende opdrachtreeks:

nc -l 2999 > received.txt

Voordat je het oversteekt, moet je eerst het IP-adres van de Mac in het lokale netwerk hebben. U kunt dit verkrijgen via het configuratiescherm van het netwerk of omdat u zich al op de terminal bevindt, 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 er niets opduikt, probeer dan de andere interface om de LAN IP te krijgen. Laten we aannemen dat deze Macs-IP wordt gerapporteerd als "192.168.1.101", natuurlijk is de jouwe waarschijnlijk verschillend. U hebt dit op de clientcomputer nodig om gegevens te verzenden, die we hierna zullen bespreken.

Leid de gegevens van de client (computer 2) naar de luister-server

Nu op de client waar u gegevens naartoe wilt sturen, kunt u een commando zoals het volgende gebruiken. We zullen cat gebruiken om een ​​tekstbestand over het netwerk naar de luister-netcat-server te dumpen, maar je kunt over vrijwel alles spuiten wat je wilt:

cat sendthisdataover.txt | nc 192.168.1.101 2999

Om ervoor te zorgen dat dit goed werkt, moet u uw eigen IP-adres van de server invullen en het juiste bestand of de gewenste tekst kateren.

Ervan uitgaande dat het lokale netwerk zelfs marginaal snel is, zouden de gegevens tamelijk snel moeten aankomen, zo niet onmiddellijk. Zodra de gegevensoverdracht is voltooid, worden beide zijden van de verbinding beëindigd 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 noodzakelijkerwijs praktisch voor het verplaatsen van een groot aantal bestanden.

Zoals al vermeld, kun je over vrijwel alle gegevens heenpluizen, dus of het nu gaat om de output van een andere app, staart, kat of zelfs direct van het klembord wordt gedumpt met pbcopy en ppaste, het zal via netcat worden overgedragen.

Opgemerkt moet worden dat er handige manieren zijn om een ​​klembord te delen tussen Macs of tussen Mac- en Linux- of Windows-machines, en in die situaties kunt u beter gebruikmaken van gratis tools zoals Teleport voor Mac-naar-Mac invoer delen, of de gratis Synergy-hulpprogramma als je een cross-platform gaat gebruiken tussen Macs en pc's. Beide stellen een gebruiker in staat klembordgegevens te delen, evenals invoerapparaten zoals een muis en toetsenbord.

Voor de goede orde, terwijl 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 Linux-machine, of omgekeerd.

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