Передача файлов между двумя компьютерами по интернету (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
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 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
                    Лучше ASCII85
                  +1
                  scp. копирует через ssh. просто и безопасно.
                    0
                    между двумя компьютерами не всегда есть возможность перекинуть по ssh

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

                  Самое читаемое