Estou usando algo parecido com isto para enviar arquivos de um computador para outro:
Para servir o arquivo (no computador A):
cat something.zip | nc -l -p 1234
Para receber o arquivo (no computador B):
netcat server.ip.here. 1234 > something.zip
Minha pergunta é ... posso fazer o oposto? Digamos que eu tenho um arquivo no computador B e quero enviá-lo para A, mas não da maneira que escrevi acima, mas fazendo com que o computador que deveria receber o arquivo (A) seja um servidor 'escutando' e conecte o computador que está enviando o arquivo ( B) para o servidor e enviar o arquivo? É possível? Eu acho que pode ser, mas não tenho certeza de como fazer isso.
Caso minha explicação acima seja complicada: Como envio o arquivo PARA 'servidor' em vez de servir o arquivo no servidor e depois retirá-lo (como fiz acima)?
nc
, porquescp
é muito lento e você não precisa de criptografia, você pode querer mudar paraudpcast
: superuser.com/questions/692294/...Respostas:
No seu servidor (A):
No seu "cliente remetente" (B):fonte
< /dev/null
parte?pv
, sugiro operar o "cliente do servidor" comopv soemthing.zip | ...
, que exibirá o progresso da leitura do arquivo no canal.Como uma observação, se você também deseja preservar as permissões, a propriedade e os carimbos de data e hora, usamos tar com netcat para fazer transferências de diretórios e arquivos.
No sistema receptor:
Do sistema de envio:
Espero que ajude.
fonte
Computador A:
nc -l -p 1234 > filename.txt
Computador B:
nc server.com 1234 < filename.txt
Deve funcionar também;)
fonte
Inicie outra instância do netcat no computador B. Faça o que você fez no computador A, mas atenda-o em B. Dê ao novo servidor uma nova porta.
fonte