Instalando o NetCat no Linux
Para começar, nas distribuições Linux, com sede no Debian, execute o comando abaixo para instalar o netcat.
sudo apt install netcatNas distribuições Linux baseadas em Red Hat, você pode instalar o NetCat executando o comando abaixo.
yum install -y ncExaminando uma porta usando NC
NetCat ou NC podem ser usados para digitalizar portas. A sintaxe para digitalizar uma única porta é a seguinte.
nc -zvnComo você pode ver, a sintaxe chama NetCat com as opções escolhidas (explicadas abaixo) seguidas pelo endereço IP de destino e pela porta de destino, conforme mostrado no seguinte exemplo prático.
nc -zvn 172.67.209.252 80Onde:
Examinando várias portas com NC
Você também pode usar o NetCat/NC para digitalizar várias portas. A sintaxe é a mesma que anteriormente mostrada; Basta adicionar um espaço e as portas que você deseja digitalizar, como mostrado no exemplo abaixo, no qual as portas 80, 22 e 53 são digitalizadas.
nc -zvn 172.67.209.252 80 22 53Porta de varredura em gamas com netcat
Você pode digitalizar intervalos de porta implementando um hífen, como mostrado no exemplo a seguir, no qual todas as portas de 80 a 89 (incluídas) são digitalizadas.
nc -zvn 172.67.209.252 80-89Banner agarrando com netcat
Banner pegando é uma técnica usada para aprender a versão de software em execução em um alvo. Os administradores do sistema o usam para manter um inventário de software no dispositivo. Os hackers também o usam como parte do processo de pegada.
Banner pegando analisa as respostas da rede para tentar adivinhar ou aprender o software por trás do nosso alvo. O exemplo a seguir mostra como o uso de NC ou NetCat sem opções (ou usando o -v opção) leva a informações na versão do servidor FTP de destino.
NC 198.54.116.197 21Como você pode ver, o netcat detectou puro-ftpd no alvo. A saída também nos informa o Login Anonymous é proibido, e o servidor suporta IPv6.
NC 172.67.209.252 80Transferindo arquivos usando NC (diretório atual)
NetCat (NC) também é útil para transferir arquivos entre dispositivos. No exemplo seguinte, um arquivo chamado Linuxhint.txt será transferido de um dispositivo para outro.
O dispositivo em que o arquivo será enviado no dispositivo receptor, execute o comando abaixo, onde a opção -l diz ao NetCat para permanecer no modo de escuta aguardando conexões de entrada. A opção -p define o número da porta e > [Nome do arquivo] Especifica o arquivo a ser recebido. Execute o comando abaixo no dispositivo receptor, substituindo Linuxhint.TXT com o nome do arquivo que você deseja transferir.
nc -l -p 9899> Linuxhint.TXTO computador do qual o arquivo está sendo enviado no dispositivo de envio, execute o comando abaixo onde o -c Opção Especifica o tempo limite (2 segundos neste caso). No dispositivo de envio, a porta não requer a opção -p. O < [FileName] Especifica o arquivo a ser enviado.
NC -W 2 192.168.1.102 9899 < linuxhint.txtComo você pode ver no dispositivo de destino, o arquivo foi transferido corretamente.
lsEnviando arquivos armazenados em um diretório diferente usando NC
O exemplo anterior mostra como enviar um arquivo armazenado no diretório atual. Se o remetente quiser enviar um arquivo que não seja armazenado no diretório atual, ele poderá especificar um caminho para enviar.
No dispositivo receptor, execute o mesmo comando do exemplo anterior sem alterações, como mostrado abaixo.
nc -l 9899> linuxhint.TXTA única alteração que aplicaremos no dispositivo de envio é a inclusão do diretório onde o arquivo é armazenado. Para este exemplo, movi o Linuxhint.TXT para o Linuxhintdir diretório. Como você pode ver, todo o caminho para o arquivo é especificado como < linuxhintdir/linuxhint.txt, where Linuxhintdir é um subdiretório do diretório atual.
NC -W 2 192.168.1.102 9899 < linuxhintdir/linuxhint.txtO arquivo que você deseja enviar está dentro do seu diretório inicial e seu diretório atual é diferente; O comando executado no dispositivo remetente seria o seguinte.
NC -W 2 192.168.1.102 9899 < /home/linuxhint/linuxhint2.txtRecebendo arquivos e armazenando -os em um diretório diferente usando NC
Ao contrário do cenário anterior, o receptor pode não querer armazenar o arquivo transferido no diretório atual. Ao ativar o modo de escuta para conexões de entrada no computador receptor, você pode definir o diretório para armazenar arquivos. A sintaxe é a mesma que ao enviar arquivos de um subdiretório; Basta especificar o subdiretório e o nome do arquivo, como mostrado abaixo.
nc -l -p 8999> subdirectory/linuxhint.TXTNo segundo computador, use os mesmos comandos explicados anteriormente; Neste exemplo, o arquivo a ser enviado é armazenado em casa, não no diretório atual.
NC -W 2 192.168.1.102 9899 < /home/linuxhint/linuxhint2.txtE como você pode ver, o arquivo é armazenado no diretório definido. Além disso, o nome do arquivo alterado de Linuxhint2.TXT para Linuxhint.TXT Conforme definido no comando de computador receptor.
Mostrando o progresso da transferência de arquivos ao usar NC
O PV A implementação do comando exibe o progresso da transferência através do tubo. Com este comando, podemos adicionar informações de progresso ao usar o netcat.
Para instalar PV Nas distribuições de Linux, baseadas em Debian, execute o comando abaixo.
sudo apt install pvAdicione um tubo após a porta no dispositivo de recepção, seguido pelo PV comando, o caminho e o nome do arquivo que você deseja salvar, como mostrado no exemplo abaixo.
netcat -l 9899 | PV> Linuxhint2.TXTEnvie o arquivo do dispositivo remetente:
Você verá o progresso no dispositivo receptor onde adicionou o PV comando.
Comprimindo e transferindo arquivos em tempo real com NC
Você também pode compactar arquivos ao enviar através do NetCat com uma única execução usando o Pipe. O exemplo a seguir mostra como comprimir o Linuxhint2 diretório e envie -o através do netcat.
Deixe a NC ouvindo conexões de entrada; Você pode implementar o comando PV para ver o progresso.
nc -l -p 9899 | PV> Linuxhint2No remetente, comprime o diretório ou arquivo usando o comando alcatrão com as opções adequadas e mostrado abaixo. Em seguida, adicione o tubo e envie como normal sem especificar o arquivo, já especificado ao compactar.
TAR CFVZ - Linuxhint2 | NC -W 2 192.168.1.102 9899Como você pode ver, o arquivo foi transferido e extraído corretamente.
Transferindo um disco inteiro ou partição usando NC
O último exemplo deste tutorial mostra como transferir uma partição ou disco inteiro usando o netcat.
No dispositivo receptor, execute o comando abaixo.
NC -P 9899 -L | BZIP2 -D | dd de =/dev/sda1No remetente, digite o seguinte comando, substitua /dev /sda1 para o disco ou partição que deseja transferir.
BZIP2 -C /DEV /SDA1 | NC 192.168.1.102 9899Conclusão
NetCat é uma ferramenta muito básica que qualquer usuário ou usuário do Linux lida com a rede deve saber. Usá -lo é bem simples, como mostrado neste tutorial. O NetCat foi projetado para ser usado por outros programas ou scripts; É uma boa ajuda para os desenvolvedores.
Espero que este tutorial netcat explicando 10 usos diferentes foi útil para você. Continue seguindo o Linux Dint para mais dicas e tutoriais do Linux.