Wysyłaj dane między komputerami w sieci za pomocą programu Netcat za pomocą wiersza poleceń
Netcat to potężne narzędzie wiersza poleceń, które może odczytywać i zapisywać dane przez połączenie sieciowe przy użyciu protokołu TCP/IP. Jest powszechnie używane między innymi do przekazywania, przesyłania plików, skanowania portów. Chociaż netcat wywodzi się ze światów uniksowych i linuksowych, netcat jest również wbudowany w system Mac OS X, a my zamierzamy używać narzędzia nc jako łatwego sposobu przesyłania danych i innego tekstu między dwoma komputerami w sieci.Używając netcat do wysyłania danych z dość prostą relacją klient-serwer, oferuje potencjalnie szybszą alternatywę dla tradycyjnego udostępniania plików, gdy użytkownicy wolą pozostać w wierszu poleceń podczas wysyłania i odbierania danych, a połączenie przez SSH lub SFTP nie jest możliwe. t praktyczne.
Pamiętaj, że netcat nie wymaga logowania ani uwierzytelniania, jedynym wymogiem jest znajomość przez klienta adresu IP serwera i numeru portu nasłuchującego. To oczywiście rodzi pewne potencjalne nadużycia w zakresie bezpieczeństwa, dlatego używanie netcat do wysyłania danych i tekstu jest ogólnie najlepiej zarezerwowane dla zaawansowanych użytkowników lub do użytku wyłącznie za chronioną siecią lokalną, w której ryzyko jest niewielkie. W sytuacjach, w których ważne jest podkreślenie bezpieczeństwa, lepiej byłoby użyć SSH.
Dla ułatwienia będziemy odnosić się do komputera 1, który nasłuchuje z netcat, jako „Serwer”, a do komputera 2 wysyłającego dane do komputera 1 będziemy odnosić się do „klienta”.
Ustaw Netcat na słuchanie na serwerze (komputer 1) i porcie
Uruchomimy netcata i nasłuchujemy na porcie 2999, a następnie przekierujemy otrzymane dane do pliku o nazwie „received.txt” za pomocą następującego ciągu poleceń:
nc -l 2999 > odebrano.txt
Przed wywołaniem i przejściem do klienta, będziesz chciał mieć adres IP Maca w sieci lokalnej. Możesz to uzyskać z panelu sterowania sieci lub, ponieważ jesteś już w terminalu, za pomocą wiersza poleceń z następującą składnią:
ipconfig getifaddr en0
Nowoczesne komputery Mac tylko z Wi-Fi będą używać en0, Mac z Ethernetem i Wi-Fi mogą używać en1. Jeśli nic się nie pojawi, wypróbuj inny interfejs, aby uzyskać adres IP sieci LAN. Załóżmy, że ten adres IP komputera Mac jest zgłaszany jako „192.168.1.101”, oczywiście twój może się różnić. Będziesz tego potrzebować na komputerze klienckim do przesyłania danych, co omówimy dalej.
Prześlij dane z klienta (komputera 2) do serwera nasłuchującego
Teraz na kliencie, z którego chcesz wysłać dane, możesz użyć następującego polecenia. Użyjemy programu cat do zrzucenia pliku tekstowego przez sieć na nasłuchujący serwer netcat, ale możesz przesyłać potokowo prawie wszystko, co chcesz:
cat sendthisdataover.txt | nc 192.168.1.101 2999
Aby to działało poprawnie, pamiętaj, aby wpisać własny adres IP z serwera i zakotwiczyć odpowiedni plik lub tekst, który chcesz przesłać.
Zakładając, że sieć lokalna jest choćby minimalnie szybka, dane powinny dotrzeć dość szybko, jeśli nie natychmiast. Po zakończeniu przesyłania danych obie strony połączenia zostaną przerwane, a serwer przestanie nasłuchiwać, a następnie zamknie port. Dzięki temu jest skuteczny w przypadku jednorazowego wysyłania danych, takich jak pliki dziennika lub duży dokument tekstowy, ale niekoniecznie jest praktyczny w przypadku przenoszenia wielu plików.
Jak już wspomniano, możesz przesyłać potokowo prawie dowolne dane, więc niezależnie od tego, czy są to dane wyjściowe innej aplikacji, tail, cat, czy nawet zrzucone bezpośrednio ze schowka za pomocą pbcopy i pbpaste, zostaną przesłane przez netcat.
Należy zauważyć, że istnieją wygodniejsze sposoby udostępniania schowka między komputerami Mac lub między komputerami Mac i Linux lub Windows, iw takich sytuacjach lepiej jest korzystać z bezpłatnych narzędzi, takich jak Teleport dla komputerów Mac- udostępnianie danych wejściowych na komputerze Mac lub bezpłatne narzędzie Synergy, jeśli korzystasz z różnych platform między komputerami Mac i PC. Oba umożliwiają użytkownikowi udostępnianie danych ze schowka oraz urządzeń wejściowych, takich jak mysz i klawiatura.
Gwoli przypomnienia, chociaż ta demonstracja jest pokazywana na dwóch komputerach Mac z systemem OS X, nie ma powodu, dla którego nie można używać netcat do przesyłania danych między komputerem Mac a komputerem z systemem Linux lub odwrotnie.
Istnieje mnóstwo innych świetnych zastosowań dla netcat, jeśli masz jakieś ulubione, daj nam znać w komentarzach!