Odesílejte data mezi počítači v síti pomocí Netcat pomocí příkazového řádku
Netcat je výkonný nástroj příkazového řádku, který dokáže číst a zapisovat data přes síťové připojení pomocí TCP/IP, běžně se mimo jiné používá pro přenosy, přenos souborů, skenování portů. Ačkoli původ netcat pochází ze světů unixu a linuxu, netcat je také zabudován do Mac OS X a my budeme používat nástroj nc jako snadný způsob, jak posílat data a další text přes dva počítače v síti.Použitím netcatu k odesílání dat s poměrně jednoduchým vztahem mezi klientem a serverem nabízí potenciálně rychlejší alternativu k tradičnímu sdílení souborů, když uživatelé upřednostňují zůstat v příkazovém řádku při odesílání a přijímání dat a kde není připojení přes SSH nebo SFTP. t praktické.
Všimněte si, že netcat nevyžaduje žádné přihlášení ani autentizaci, jediným požadavkem je, aby klient znal IP adresu serveru a číslo portu pro naslouchání. To zjevně zvyšuje potenciál pro zneužití zabezpečení, takže použití netcatu k odesílání dat a textu je obecně nejlépe vyhrazeno pro pokročilé uživatele nebo pro použití výhradně za chráněnou místní sítí, kde je malé riziko. Situace, kdy je důležité zdůraznit zabezpečení, by bylo lepší použít SSH.
Pro zjednodušení budeme počítač 1, který naslouchá pomocí netcat, označovat jako „Server“ a počítač 2, který odesílá data do počítače 1, budeme označovat jako „klient“.
Nastavit Netcat pro poslech na serveru (počítač 1) a portu
Spustíme netcat a necháme jej naslouchat na portu 2999 a poté přesměrujeme všechna přijatá data do souboru s názvem „received.txt“ s následujícím příkazovým řetězcem:
nc -l 2999 > přijato.txt
Předtím, než to zavoláte a přesunete se na klienta, budete chtít mít IP adresu Maců v místní síti. Můžete to získat z ovládacího panelu Síť, nebo když už jste v Terminálu, přes příkazový řádek s následující syntaxí:
ipconfig getifaddr en0
Moderní počítače Mac s Wi-Fi budou používat pouze en0, Macy s ethernetem a wifi mohou používat en1. Pokud jedno neukáže nic, zkuste získat IP LAN pomocí druhého rozhraní. Předpokládejme, že tato IP adresa Macu je hlášena jako „192.168.1.101“, vaše se samozřejmě pravděpodobně bude lišit. Budete to potřebovat na klientském počítači k odesílání dat, kterým se budeme věnovat dále.
Zprostředkování dat z klienta (počítače 2) do naslouchacího serveru
Nyní na klientovi, ze kterého chcete odesílat data, můžete použít příkaz jako je následující. Použijeme cat k výpisu textového souboru přes síť na naslouchající server netcat, ale můžete přes něj přenést téměř cokoli chcete:
cat sendthisdataover.txt | nc 192.168.1.101 2999
Aby to správně fungovalo, nezapomeňte vyplnit svou vlastní IP adresu ze serveru a zadat příslušný soubor nebo text, který chcete odeslat.
Za předpokladu, že místní síť je byť jen nepatrně rychlá, data by měla dorazit poměrně rychle, ne-li okamžitě. Jakmile je přenos dat dokončen, obě strany spojení přestanou a server přestane naslouchat, poté uzavře port. Díky tomu je efektivní pro jednorázové odesílání dat, jako jsou soubory protokolu nebo velký textový dokument, ale není to nezbytně praktické pro přesun velkého množství souborů.
Jak již bylo zmíněno, můžete přenést téměř jakákoli data, takže ať už se jedná o výstup jiné aplikace, ocasu, kočky nebo dokonce výpis přímo ze schránky pomocí pbcopy a pbpaste, přenese se přes netcat.
Je třeba poznamenat, že existují pohodlnější způsoby sdílení schránky mezi počítači Mac nebo mezi Mac a počítači se systémem Linux nebo Windows a v těchto situacích je lepší použít bezplatné nástroje, jako je Teleport pro Mac- sdílení vstupu na Mac nebo bezplatný nástroj Synergy, pokud přecházíte mezi platformami Mac a PC. Oba umožňují uživateli sdílet data ze schránky a také vstupní zařízení, jako je myš a klávesnice.
Pro zajímavost, i když je tato ukázka zobrazena na dvou počítačích Mac s OS X, není žádný důvod, proč nemůžete použít netcat k odesílání dat mezi počítačem Mac a Linux nebo naopak.
Existuje spousta dalších skvělých využití pro netcat, pokud máte nějaké oblíbené, dejte nám vědět v komentářích!