В следующей статье мы рассмотрим Netcat. Это один сетевой инструмент который позволяет через терминал, используя простой синтаксис, открывать порты TCP / UDP в HOST, связывать оболочку с определенным портом и принудительно подключать UDP / TCP.
Некоторые называют этот инструмент швейцарским армейским ножом TCP / IP. Может использоваться как специальное решение для передачи файлы по локальным сетям или из интернета, последнее с осторожностью. Это также полезно для передачи данных между виртуальными машинами или контейнерами и т. Д.
Этот инструмент может быть целесообразно использовать его только в локальной сети. Если вы отправляете данные с помощью этого инструмента на сервер через Интернет, пакеты могут быть перехвачены по маршруту. Файлы будут отправлены без дополнительной защиты. Но если передаваемые данные не содержат конфиденциальных данных, это действительно не будет серьезной проблемой.
Установите Netcat в Ubuntu
Большинство операционных систем на базе Gnu / Linux поставляются с этим предустановленный инструмент. Чтобы проверить, установлен ли на вашем компьютере Netcat, откройте терминал (Ctrl + Alt + T) и введите:
netcat
Если команда не найдена, вы можете установить этот инструмент используя команду:
sudo apt install netcat
Это будет необходимо установите netcat как на компьютер, который получает файлы, так и на тот, который их отправляет.
Используйте netcat для передачи файлов между компьютерами
На компьютере, который будет получать файлы, вы должны найдите используемый IP-адрес. В этом примере это будет местный тростник. Для этого можно использовать:
ip route get 8.8.8.8
Или вы также можете использовать:
ip a
На предыдущем скриншоте видно, что IP получателя в этом случае будет 192.168.0.103. Там, чтобы уточнить, что Перед тем, как записать команду отправителя, необходимо записать соответствующую команду в получатель..
На компьютере, на котором будет получен файл, введите эту команду:
nc -vl 44444 > nombre_del_archivo_recibido
В приведенной выше команде используются два параметра: -v и -l. Первый делает вывод подробным, чтобы вы могли видеть, что произойдет. Что касается -l, он делает инструмент "Я слышал"На порт 44444. Команда в основном то, что она делает, открывает канал связи на принимающем устройстве. Если у вас настроен брандмауэр, вы должны убедиться, что его правила не блокируют соединение.
Обычно netcat отображает все, что получает, в терминале. После> создайте редирект. Вместо того, чтобы выводить его на экран, он отправляет весь вывод в файл, указанный после>. Это создаст файл с заданным именем.
На компьютере, который отправит файл, вам нужно будет написать, заменив 192.168.0.103 на IP-адрес вашего компьютера что вы получите что было отправлено, следующее:
nc -N 192.168.0.103 44444 < /ruta/al/archivo/para/enviar/
В этой команде -N закрывает netcat после завершения передачи. Пути к каталогам и файлам могут быть абсолютными или относительными..
В случае используйте команды, показанные без перенаправления, это создаст «чат» несколько базовый между двумя устройствами. Если вы наберете что-то на одном терминале и нажмете Enter, это появится на другом компьютере. Это простой способ скопировать и вставить текст с одного устройства на другое.
Это соединение можно закрыть, нажав Ctrl + C в любой из двух участвующих команд.
Отправляйте сжатые файлы на ходу
Если вы хотите, отправлять большие файлы, этот инструмент позволяет сжимать их на лету, чтобы ускорить передачу. В приемнике нужно будет написать:
nc -vl 44444 | gunzip > nombre_del_archivo_recibido
Со стороны эмитента заменив 192.168.0.103 на IP-адрес принимающего компьютера, вам нужно будет написать следующее:
gzip -c /ruta/del/archivo/a/eviar | nc -N 192.168.0.103 44444
Каталоги отправки и получения
Что-то, что вам также может понадобиться в какой-то момент, это отправить все файлы из одного каталога одновременно. Следующая опция также сжимает то, что отправляется по сети.
На принимающей стороне мы будем использовать следующую команду:
nc -vl 44444 | tar zxv
В этом случае на отправляющем устройстве нам нужно будет использовать следующую команду:
tar czp ruta/al/directorio/para/enviar | nc -N 192.168.0.103 44444
Помощь
Если вам нужно узнать больше о netcat, вы можете воспользоваться справкой:
nc -h
Сегодня пользователи Ubuntu могут найти множество программных решений, которые могут быть полезны при передаче файлов между компьютерами. Это хороший вариант, когда дело доходит до разовые переводы между командами из нашей локальной сети.