Use o NetCat para transferir arquivos

Use o NetCat para transferir arquivos

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:

  • Conexões de saída e recebimento, TCP ou UDP, para ou para qualquer portas
  • Pode ser usado para abrir portas locais
  • Suporta a transferência de arquivos entre dispositivos
  • NetCat pode ser usado para digitalizar portas.
  • Netcat pode ser usado para agarrar banner
  • Verificação completa do DNS para a frente/reversa, com avisos apropriados
  • Capacidade de usar qualquer endereço de origem de rede configurado localmente
  • Recursos de varredura por porta embutidos, com randomização
  • Capacidade de rota de fonte solta embutida
  • Modo de denda lenta, uma linha a cada n segundos
  • Depósito de depósito de dados transmitidos e recebidos
  • Capacidade opcional de deixar outro serviço de programa estabelecer conexões
  • Respondente opcional de opções de telnet

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.