Este tutorial oferece uma explicação fácil de como usar o NetCat para transferir arquivos entre dispositivos.
NetCat é uma ferramenta de rede de linha de comando usada para estabelecer conexões TCP/UDP e análise de rede. Os recursos do NetCat incluem:
Instalando o NetCat:
Antes de começar, quero esclarecer que, embora use o comando "netcat" neste tutorial, você também pode usar o comando "NC.”
Para começar, instale o NetCat executando o comando mostrado abaixo nas distribuições Linux baseadas em Debian.
sudo apt install netcat
Para instalar o NetCat no Red Hat ou Centos Run:
yum install -y nc
Você precisa repetir o processo em todos os dispositivos que deseja transferir dados entre. Para este tutorial, criei uma máquina virtual com IP 192.168.1.102.
Para este tutorial, também usarei o comando PV que padrão nas distribuições Linux. Este comando é usado para mostrar o progresso do progresso da transferência.
Para instalá -lo, execute:
sudo apt install pv
Enviando um arquivo usando o netcat:
Neste exemplo, o dispositivo 192.168.1.102 receberá o arquivo; Outro dispositivo irá enviar. No dispositivo receptor, execute o seguinte comando substituindo Linuxhint.Deb com o nome do arquivo real que você deseja transferir. A opção -l (ouvindo conexões de entrada) instrui o NetCat a ouvir conexões de entrada na porta 9899.
netcat -l 9899> [nome do arquivo]
Como você pode ver, o NetCat permanece ouvindo na porta 9899, esperando o arquivo. Agora, no dispositivo remetente, execute o comando abaixo, substituindo o endereço IP pelo IP do seu dispositivo receptor e Linuxhint.Deb com o nome do arquivo. A opção -w é usada para definir o tempo limite em segundos.
netcat -w 2 192.168.1.102 9899 < [FileName]
Como você pode ver abaixo, o arquivo linuxhint.Deb foi transferido para o diretório atual do lado receptor.
Se você não tem o arquivo para enviar no diretório atual ou o receptor não deseja armazená -lo no diretório atual, é possível definir um caminho.
No exemplo abaixo, o receptor armazenará o arquivo linuxhint.Deb no diretório Linuxhint.
No exemplo abaixo, o remetente tem o arquivo que ele deseja enviar no subdiretório Linuxhint2:
Como você pode ver, o arquivo foi armazenado com sucesso no diretório Linuxhint do receptor.
Mostrando progresso nas transferências de arquivos:
Você também pode implementar o comando PV para mostrar o progresso nas transferências de arquivos. No lado receptor, adicione um tubo seguido pelo comando PV usado para monitorar o progresso dos dados através de um tubo e a especificação do arquivo de entrada.
netcat -l 9899 | PV> Linuxhint
Então, no dispositivo remetente, execute o comando explicado em exemplos anteriores, como mostrado abaixo.
NC -W 2 192.168.1.102 9899 < users.txt
A saída PV pode ser editada para alterar as unidades de arquivo; Verifique a página do homem deste comando para mostrar o progresso em outras unidades além dos bytes.
Compressa e envie um diretório usando o NetCat:
Usando os comandos abaixo, você pode comprimir e enviar um diretório.
No dispositivo receptor, digite o comando abaixo, substituindo LinuxHint2 pelo nome do diretório compactado que você deseja receber deste dispositivo.
netcat -l 9899> linuxhint2
No dispositivo remetente, execute o comando abaixo, substituindo Linuxhint2 pelo nome do diretório que deseja comprimir e enviar. Além disso, substitua o IP 192.168.1.102 com o endereço IP do seu receptor.
TAR CFVZ - Linuxhint2 | netcat -w 2 192.168.1.102 9899 Linuxhint2/
Como você pode ver, o arquivo foi recebido corretamente e extraído usando o comando abaixo:
Tar xvzf
O diretório Linuxhint2 foi extraído com seu conteúdo.
Transferindo um disco inteiro ou partição usando o netcat:
Você também pode transferir um disco inteiro ou partição usando o netcat com os comandos mostrados abaixo. No exemplo abaixo, transferirei uma partição de disco externo para uma partição lateral receptora.
No lado receptor, digite o seguinte comando, substituindo a porta por aquela que você está usando e o disco de destino ou partição com o seu.
netcat 9899 -l | BZIP2 -D | dd de =/dev/sdb
No lado do envio, execute o seguinte comando substituindo o disco ou partição (sdb1), seu endereço IP do receptor e porta.
bzip2 -c /dev /sdb1 | NetCat 192.168.1.102 9899
No meu caso, meu dispositivo de acionamento estava cheio, mas podemos ver o procedimento terminado.
Se você montar o dispositivo onde você armazenou o backup, deve ver os dados no ponto de montagem.
montagem /dev /sdb /mídia
Conclusão:
A transferência de arquivos é um dos melhores recursos do NetCat.
No tutorial anterior sobre o NetCat for Port Scan, a conclusão não foi favorável a este programa antes de alternativas como o NMAP. Entre as limitações gerais do NetCat, vemos que não suporta a digitalização de várias portas. As transferências de arquivos não são criptografadas e um invasor pode lançar um homem no ataque intermediário para interceptar os dados em uma transferência de arquivo netcat.
É importante esclarecer os arquivos de transferência do NetCat não é uma escolha segura se as medidas de criptografia não forem implementadas. O NetCat não inclui recursos de criptografia, mas pode ser combinado com PGP ou alternativas que abordam esse problema como o CryptCat, que é muito semelhante ao NetCat com poucas diferenças: o CryptCat não suporta opções -T para negociação de telnet e não suporta tempo de tempo de tempo (-q). Por outro lado, o CryptCat adiciona novas funcionalidades como criptografia. Outras alternativas seguras incluem transferências de arquivos sobre o protocolo SSH (SCP).
Espero que este tutorial tenha sido útil. Continue seguindo o Linux Dint para mais dicas e tutoriais do Linux.