Передача файлов между двумя компьютерами по интернету (netcat)

    Простая и очень нужная утилита, способная передавать данные по сети.
    netcat (или nc) должна быть в любом дистрибутиве. Если же ее нету, то на примере дебиана ставится она так:
    apt-get install netcat

    Идея netcat очень проста: он просто перенаправляет поток данных в порт сетевого устройства, а на другом конце поток перенаправляется в файл.

    использовать ее так:

    на стороне сервера
    nc -l -p 3333 > file.txt

    на стороне клиента:
    cat file.txt | nc -q 0 <remote_ip> 3333
    Ключ -q 0 нужен для того, что бы netcat завершил работу сразу после отправки

    можно отправлять файлы предварительно запаковав их:
    на стороне сервера
    nc -l -p 3333 | tar xv

    на стороне клиента:
    tar cv * | nc -q 0 <remote_ip> 3333
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 13
    • 0
      А ключ -l зачем?
      • 0
        для ожидания входящего соединения
        • 0
          ivanych$ nc -l -p 9000 > qq
          usage: nc [-46DEdhklnrStUuvz] [-e policy] [-i interval] [-P proxy_username] [-p source_port]
          	  [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol]
          	  [-x proxy_address[:port]] [hostname] [port[s]]
          


          Что я делаю не так? Может, еще какой параметр нужен?
          • 0
            netstat -na | grep LISTEN
            посмотри, возможно порт занят
            • 0
              netstat -nl --protocol=inet
              *вот так посмотри прослушиваемые порты
              • 0
                sudo apt-get remove netcat-openbsd
                sudo apt-get install netcat6
                • 0
                  Вот так будет: nc -l 9000 > qq

                  Некропостинг!!!
            • +1
              Необходима ли установка дополнительных пакетов на клиенте и сервере (например, для Debian Stable и Ubuntu Desktop 8.04 соответственно), возможна ли передача, если отправитель/получатель за NAT'ом, при сером ip?
              Очень актуально, другу надо передавать данные и пакеты в его закрытый НИИ, у него даже репозитарии закрыты на проксе и файрволле этого учреждения. scp тоже не удалось использовать — тестовый текстовый файл передали, а вот 134 мб бинарника наотказ, поэтому про nc очень интересно, маны и хауту на эти вопросы не отвечают.
              Может, вы расширите статью, думаю, многим, не только мне будет полезно.
              • 0
                Netcat был сделан в 80-х, NAT тогда даже не изобрели.
                так что, сомневаюсь что получится:(
                • 0
                  закодируйте бинарник в base64 и передайте как текст =)
              • +1
                scp. копирует через ssh. просто и безопасно.
                • 0
                  между двумя компьютерами не всегда есть возможность перекинуть по ssh

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.