8 Comando NetCat (NC) com exemplos

8 Comando NetCat (NC) com exemplos

Netcat (ou NC em resumo) é uma ferramenta de linha de comando de rede simples, mas poderosa, usada para executar qualquer operação no Linux relacionado a TCP, UDP, ou Unix-soquetes de domínio.

Netcat pode ser usado para varredura de porta, Redirecionamento da porta, como ouvinte de porto (para conexões de entrada); Também pode ser usado para abrir conexões remotas e tantas outras coisas. Além disso, você pode usá -lo como um backdoor para obter acesso a um servidor de destino.

Neste artigo, explicaremos Netcat Comandos de uso com exemplos.

Como instalar e usar o NetCat no Linux

Para instalar o pacote netcat No seu sistema, use o gerenciador de pacotes padrão para sua distribuição Linux.

$ yum install nc [no CENTOS/RHEL] $ DNF Instalação NC [On Fedora 22+ e Rhel 8] $ sudo apt-get install netcat [no debian/ubuntu] 

Uma vez pacote netcat instalado, você pode prosseguir para aprender o uso de comando netcat Nos exemplos a seguir.

Digitalização da porta

Netcat pode ser usado para digitalização da porta: para saber quais portas estão abertas e em execução em uma máquina de destino. Ele pode escanear uma única ou múltipla ou uma variedade de portas abertas.

Aqui está um exemplo, o -z Conjuntos de opções NC Para simplesmente escanear para ouvir daemons, sem realmente enviar dados para eles. O -v a opção permite o modo detalhado e -c Especifica um tempo limite para a conexão que não pode ser estabelecida.

$ nc -v -w 2 z 192.168.56.1 22 #scan uma única porta ou $ nc -v -w 2 z 192.168.56.1 22 80 #scan várias portas ou $ nc -v -w 2 z 192.168.56.1 20-25 #scan alcance de portas 
Digitalizar portas abertas no Linux

Transfira arquivos entre servidores Linux

Netcat permite transferir arquivos entre dois computadores ou servidores Linux e ambos os sistemas devem ter NC instalado.

Por exemplo, para copiar um arquivo de imagem ISO de um computador para outro e monitorar o progresso da transferência (usando o utilitário fotovoltaico), execute o seguinte comando no computador remetente/servidor (onde existe o arquivo ISO).

Isso vai funcionar NC No modo de escuta (-eu bandeira) na porta 3000.

$ tar -zcf -Debian -10.0.0-AMD64-XFCE-CD-1.iso | PV | nc -l -p 3000 -q 5 

E no computador receptor/cliente, execute o seguinte comando para obter o arquivo.

$ NC 192.168.1.4 3000 | PV | Tar -zxf - 
Transferência de arquivos entre sistemas Linux

Crie um servidor de bate -papo de linha de comando

Você também pode usar Netcat Para criar um servidor simples de mensagens de linha de comando instantaneamente. Como no exemplo de uso anterior, NC deve ser instalado nos dois sistemas usados ​​para a sala de bate -papo.

Em um sistema, execute o seguinte comando para criar o servidor de bate -papo ouvindo na porta 5000.

$ nc -l -vv -p 5000 

No outro sistema, execute o seguinte comando para iniciar uma sessão de bate -papo para uma máquina onde o servidor de mensagens está executando.

$ NC 192.168.56.1 5000 
Crie servidor de bate -papo na linha de comando

Crie um servidor web básico

Com o -eu opção de Comando NC Usado para criar um servidor web básico e inseguro para servir arquivos da Web estáticos para fins de aprendizado. Para demonstrar isso, crie um .html arquivo como mostrado.

ÍNDICE $ VIM.html 

Adicione as seguintes linhas HTML no arquivo.

  Página de teste   

Servindo este arquivo usando o NetCat Basic HTTP Server!

Salvar alterações no arquivo e saída.

Em seguida, sirva o arquivo acima sobre o HTTP executando o seguinte comando, o que permitirá que o servidor HTTP seja executado continuamente.

$ while :; do (echo -ne "http/1.1 200 ok \ r \ n "; índice de gato.html; ) | nc -l -p 8080; feito 
Crie servidor da web na linha de comando

Em seguida, abra um navegador da web e pode acessar o conteúdo usando o seguinte endereço.

http: // localhost: 8080 ou http: // server_ip: 8080 
Teste o servidor da web

Observe que você pode parar o NetCat HTTP Server pressionando [Ctrl+ C].

Solucionar problemas de conexão do servidor Linux

Outro uso útil de Netcat é para solucionar problemas de conexão do servidor. Aqui você pode usar Netcat Para verificar quais dados um servidor está enviando em resposta a comandos emitidos pelo cliente.

O seguinte comando recupera a página inicial de exemplo.com.

$ printf "get / http / 1.0 \ r \ n \ r \ n "| text.exemplo.com 80 

A saída do comando acima inclui os cabeçalhos enviados pelo servidor da web, que podem ser usados ​​para fins de solução de problemas.

Encontre um serviço em execução na porta

Você também pode usar Netcat Para obter banners de porta. Nesse caso, ele lhe dirá qual serviço está correndo atrás de uma determinada porta. Por exemplo, para saber que tipo de serviço está correndo atrás da porta 22 Em um servidor específico, execute o seguinte comando (substitua 192.168.56.110 com o endereço IP do servidor de destino). O -n Bandeira significa desativar as pesquisas de DNS ou serviço.

$ nc -v -n 192.168.56.110 80 
Encontre o serviço em execução na porta

Crie um fluxo de fluxo

Netcat também suporta a criação de soquetes de fluxo de domínio UNIX. O comando a seguir criará e ouvirá em um soquete de fluxo de domínio UNIX.

$ nc -lu/var/tmp/mysocket & $ ss -lpn | grep "/var/tmp/" 
Crie soquete de fluxo na linha de comando

Crie um backdoor

Você também pode correr Netcat Como um backdoor. No entanto, isso exige mais trabalho. Se Netcat está instalado em um servidor de destino, você pode usá -lo para criar um backdoor, para obter um prompt de comando remoto.

Para agir uma backdoor, você precisa Netcat para ouvir em uma porta escolhida (e.g porta 3001) no servidor de destino e então você pode se conectar a esta porta da sua máquina da seguinte forma.

Este é o comando destinado a ser executado no servidor remoto onde o -d opção desativa a leitura de stdin e -e Especifica o comando para executar no sistema de destino.

$ nc -l -p 3001 -d -e cmd.exe 

Por último, mas não menos importante, Netcat pode ser usado como proxy para diferentes serviços/protocolos, incluindo HTTP, SSH e muitos outros. Para mais informações, consulte sua página de homem.

$ MAN NC 

Neste artigo, explicamos 8 práticos Exemplos de uso do comando netcat. Se você conhece algum outro caso de uso prático (s), compartilhe conosco através do formulário de feedback abaixo. Você pode fazer uma pergunta também.