Użyj Netcat do przesyłania plików

Użyj Netcat do przesyłania plików

Ten samouczek zawiera łatwe wyjaśnienie, jak korzystać z NetCat do przesyłania plików między urządzeniami.

NetCat to narzędzie sieciowe wiersza poleceń używane do ustanowienia połączeń TCP/UDP i analizy sieci. Funkcje Netcat obejmują:

  • Połączenia wychodzące i przychodzące, TCP lub UDP, do lub z jakichkolwiek portów
  • Można go używać do otwierania lokalnych portów
  • Obsługuje przeniesienie pliku między urządzeniami
  • Netcat może być używany do skanowania portów.
  • Netcat może być używany do chwytania banerów
  • Pełne sprawdzenie DNS do przodu/do tyłu, z odpowiednimi ostrzeżeniami
  • Możliwość korzystania z dowolnego lokalnie skonfigurowanego adresu źródła sieci
  • Wbudowane możliwości skanowania portów, z randomizacją
  • Wbudowane możliwości luźnego prowadzenia źródła
  • Tryb powolnego, jedna linia co n sekundy
  • Zrzucenie sześciokątne przesyłanych i otrzymanych danych
  • Opcjonalna możliwość umożliwienia innej usługi programu nawiązania połączeń
  • Opcjonalna responder Telnet-Options

Instalowanie netcat:

Przed rozpoczęciem chcę wyjaśnić, że chociaż używam polecenia „netcat” w tym samouczku, możesz również użyć polecenia „NC."

Aby rozpocząć, zainstaluj NetCAT, uruchamiając polecenie pokazane poniżej w dystrybucjach Linux opartych na Debian.

sudo apt instal Netcat

Aby zainstalować Netcat na Red Hat lub Centos Run:

Yum Instal -y NC

Musisz powtórzyć proces we wszystkich urządzeniach, które chcesz przesyłać dane. W tym samouczku stworzyłem maszynę wirtualną z IP 192.168.1.102.

W tym samouczku użyję również polecenia PV, które domyślnie w rozkładach Linux. To polecenie służy do pokazania postępu przesyłania plików postępu.

Aby go zainstalować, uruchom:

sudo apt instal PV

Wysyłanie pliku za pomocą NetCat:

W tym przykładzie urządzenie 192.168.1.102 otrzyma plik; Kolejne urządzenie go wyśle. Z urządzenia odbierającego uruchom następujące polecenie zastępujące Linuxhint.Deb z nazwą rzeczywistego pliku, który chcesz przenieść. Opcja -L (słuchanie połączeń przychodzących) instruuje NetCat, aby słuchał połączeń przychodzących na porcie 9899.

netcat -l 9899> [nazwa pliku]

Jak widać, Netcat pozostaje słuchając na porcie 9899, ​​czekając na plik. Teraz, z urządzenia nadawcy, uruchom poniższe polecenie, zastępując adres IP na adres IP urządzenia odbiornika i Linuxhint.Deb z nazwą pliku. Opcja -w jest używana do zdefiniowania limitu czasu w sekundach.

netcat -w 2 192.168.1.102 9899 < [FileName]

Jak widać poniżej, plik linuxhint.Deb został przeniesiony do obecnego katalogu strony odbiorczej.

Jeśli nie masz pliku do wysłania w bieżącym katalogu lub odbiornik nie chce go przechowywać w bieżącym katalogu, można zdefiniować ścieżkę.

W poniższym przykładzie odbiornik przechowuje plik Linuxhint.Deb w katalogu Linuxhint.

W poniższym przykładzie nadawca ma plik, który chce wysłać w podkładce Linuxhint2:

Jak widać, plik został pomyślnie przechowywany w katalogu Linuxhint odbiornika.

Pokazanie postępów w transferach plików:

Możesz także zaimplementować PV Command PV, aby pokazać postęp w transferach plików. Po stronie odbiorczej dodaj rurę, a następnie polecenie PV używane do monitorowania postępu danych przez rury i specyfikację pliku przychodzącego.

Netcat -L 9899 | PV> Linuxhint

Następnie na urządzeniu nadawcy uruchom polecenie wyjaśnione w poprzednich przykładach, jak pokazano poniżej.

NC -W 2 192.168.1.102 9899 < users.txt

Wyjście PV można edytować w celu zmiany jednostek plików; Sprawdź stronę mężczyzny tego polecenia, aby pokazać postęp w innych jednostkach niż bajty.

Kompresuj i wyślij katalog za pomocą NETCAT:

Korzystając z poniższych poleceń, możesz kompresować i wysłać katalog.

Na urządzeniu odbiorczym wpisz polecenie poniżej, zastępując Linuxhint2 dla nazwy skompresowanego katalogu, który chcesz otrzymać z tego urządzenia.

Netcat -l 9899> Linuxhint2

Na urządzeniu nadawcy uruchom poniższe polecenie, zastępując Linuxhint2 na nazwę katalogu, który chcesz skompresować i wysłać. Wymień także IP 192.168.1.102 z adresem IP odbiorcy.

TAR CFVZ - Linuxhint2 | netcat -w 2 192.168.1.102 9899 Linuxhint2/

Jak widać, plik został odpowiednio odebrany i wyodrębniony za pomocą polecenia poniżej:

TAR XVZF

Katalog Linuxhint2 został wyodrębniony z jego zawartością.

Przenoszenie całego dysku lub partycji za pomocą NETCAT:

Możesz także przenieść cały dysk lub partycję za pomocą NetCat z pokazanymi poniżej poleceniami. W poniższym przykładzie przeniosę zewnętrzną partycję dysku na partycję po stronie odbiorczej.

Po stronie odbiorczej wpisz następujące polecenie, zastępując port, którego używasz, oraz dysk docelowy lub partycja z twoją.

Netcat 9899 -L | BZIP2 -D | DD o =/dev/sdb

Po stronie wysyłania uruchom następujące polecenie zastępujące dysk lub partycję (SDB1), adres IP odbiornika i portu.

BZIP2 -C /dev /sdb1 | Netcat 192.168.1.102 9899

W moim przypadku moje urządzenie napędowe było pełne, ale widzimy zakończoną procedurę.

Jeśli zamontujesz urządzenie, w którym przechowywałeś kopię zapasową, musisz zobaczyć dane w punkcie montażu.

Mount /Dev /SDB /Media

Wniosek:

Przekazywanie plików jest jedną z najlepszych funkcji NetCat.

W poprzednim samouczku na temat netcat dla skanowania portu wniosek nie był korzystny dla tego programu przed alternatywami takimi jak NMAP. Wśród ogólnych ograniczeń Netcat widzimy, że nie obsługuje to skanowania wielu portów. Transfery plików nie są szyfrowane, a atakujący może uruchomić mężczyznę w środkowym ataku, aby przechwycić dane w przesyłaniu pliku Netcat.

Ważne jest, aby wyjaśnić przesyłanie plików przez NetCat nie jest bezpiecznym wyborem, jeśli środki szyfrowania nie są wdrażane. Netcat nie zawiera funkcji szyfrowania, ale można go połączyć z PGP lub alternatywami zbliżającymi się do tego problemu, takiego jak Cryptcat, który jest bardzo podobny do Netcat z niewielkimi różnicami: Cryptcat nie obsługuje opcji -T dla negocjacji telnetowych i nie obsługuje limitu czasu stdin (-Q). Z drugiej strony Cryptcat dodaje nowe funkcje, takie jak szyfrowanie. Inne bezpieczne alternatywy obejmują transfery plików przez protokół SSH (SCP).

Mam nadzieję, że ten samouczek był przydatny. Kontynuuj podążaj za Linux, aby uzyskać więcej wskazówek i samouczków Linux.