nc- arbitrary TCP and UDP connections and listens
SYNOPSIS
nc
.Bk -words]]
.Ek
DESCRIPTION
Thenc(or netcat)utility is used for just about anything under the sun involving TCPor UDP.It can open TCP connections, send UDP packets, listen on arbitraryTCP and UDP ports, do port scanning, and deal with both IPv4 andIPv6.,Unliketelnet (1), ncscripts gently, and separates error messages on standard error instead of sending them to standard output, astelnet(1) does with some.
os usos Comuns incluem:
- simples de TCP proxies
- shell-script baseado HTTP clientes e servidores
- network daemon de teste
- um SOCKS ou HTTP ProxyCommand forssh(1)
- e muito, muito mais
as opções são As seguintes:
Descrição | |
---|---|
-4 | Forcesncto usar endereços IPv4 somente., |
-6 | para utilizar apenas endereços IPv6. |
-D | permitir a depuração no socket. |
-d | não tente ler a partir de stdin. |
-h | |
-I intervalo | |
especifica um intervalo de tempo de atraso entre as linhas de texto enviadas e recebidas.Também causa um tempo de atraso entre conexões para várias portas. | |
-k | pode permanecer à escuta de outra conexão após a sua conexão atual estar concluída.,É um erro usar esta opção sem a opção-l. |
-l | usado para especificar que não deve ouvir uma ligação recebida em vez de iniciar uma ligação a um remoto host.It is an error to use this option in conjunction with the-p,-s ,or-z options.Além disso, todos os tempos-limite especificados com a opção-w são ignorados. |
-n | não faça nenhuma pesquisa de DNS ou serviços em quaisquer endereços,nomes de host ou portos especificados., |
-p source_port | |
Especifica a fonte portncshould, sujeito a privilégios e restrições de disponibilidade.É um erro usar essa opção em conjunto com a opção-l. | |
-r | Especifica que os portos de origem e / ou de destino devem ser escolhidos aleatoriamente em vez de sequencialmente dentro de uma gama ou na ordem em que o sistema os atribua. |
-s | permite a opção de assinatura MD5 RFC 2385 TCP., |
-s source_ip_address | |
Especifica o IP da interface que é utilizada para enviar os pacotes.É um erro usar essa opção em conjunto com a opção-l. | |
– T ToS | |
especifica o tipo de Serviço IP (ToS) para a conexão.Valid values are the tokens”lowdelay”,”throughput”,”reliability”,or an 8-bit hexadecimal value preceded by”0x”. | |
-t | causa não enviar RFC 854 não e não vai responder a RFC 854 DO e WILL pedidos.,Isto torna possível usencto script sessões telnet. |
-U | especifica para usar Sockets de domínio Unix. |
-u | Use UDP em vez da opção padrão do TCP. |
-v | Havencive uma saída mais descritiva. |
-W Tempo-limite | |
se uma ligação e stdin estiverem inactivos por mais do que tempo-limite, então a ligação é silenciosamente fechada.A bandeira-w não tem efeito na opção-l, ou seja, a NC vai ouvir para sempre por uma conexão, com ou sem a bandeira-W.O valor por omissão é sem tempo-limite., | |
– x proxy_version | |
solicita que não se utilize o protocolo especificado ao falar com o servidor proxy.Protocolos suportados são “4”(SOCKS v. 4),”5″(SOCKS v. 5) e”connect” (https proxy).Se o protocolo não for especificado, é usada a versão 5 do SOCKS. | |
-x proxy_address | |
Pedidos de thatncshould ligar para hostnameusing um proxy no proxy_addressand porta.Se portis não for especificado, a porta bem conhecida para o protocolo proxy é usada (1080 para SOCKS, 3128 para HTTPS)., | |
-z | Especifica que não deve apenas procurar por servidores de escuta, sem enviar quaisquer dados para them.It é um erro usar esta opção em conjunto com a opção-l. |
hostnamecan ser um endereço IP numérico ou simbólico nome de host(a menos que a opção-n é dado).Em geral, um nome deve ser especificado,a menos que a opção-l é dado(no caso, o host local é usado).
a porta pode ser números inteiros ou intervalos únicos.As gamas são na forma nn-mm.,Em geral, um porto de destino deve ser especificado, a menos que a opção-U seja dada(nesse caso, um socket deve ser especificado).
CLIENT / SERVER MODEL
it is quite simple to build a very basic client / server model usingnc.Em uma consola, inicialização em uma porta específica para uma conexão.Por exemplo:
$ nc-l 1234
ncis agora ouvindo na porta 1234 para uma conexão.Em uma segunda consola (ou uma segunda máquina),conecte-se à máquina e porta sendo escutada em:
$ nc 127.0.0.1 1234
deve agora haver uma conexão entre as portas.,Qualquer coisa digitada no segundo console será concatenado para o primeiro,e vice-versa.Depois de a ligação ter sido estabelecida,o NCD não se importa realmente com que lado está a ser usado como’servidor’ e que lado está a ser usado como ‘agente’.A conexão pode ser terminada usando um EOF(‘^D’).
transferência de dados
O exemplo na secção anterior pode ser expandido para construir um modelo de transferência de dados abasic.Qualquer entrada de informação em um extremo da conexão será output para o outro extremo, e entrada e saída pode ser facilmente capturado, a fim de preencher a transferência de arquivo.,
comece por usar o ncto para ouvir num porto específico, com o resultado capturado num ficheiro:
$ nc-l 1234 > nome do ficheiro.out
Usando uma segunda máquina, ligue-se ao processo listeningnc, alimentando-o com o ficheiro a ser transferido:
$ nc host.example.com 1234 < filename.in
Após a transferência do ficheiro, a ligação irá fechar automaticamente.
falar com os servidores
às vezes é útil falar com os servidores”à mão”ao invés de através de uma interface de usuário.,Ele pode ajudar na solução de problemas,quando pode ser necessário verificar que dados um servidor está enviando em resposta aos comandos emitidos pelo cliente.Por exemplo, para recuperar a página inicial de um site web:
$ echo -n "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80
Note que isso também exibe os cabeçalhos enviados pelo servidor web.Eles podem ser filtrados, usando uma ferramenta como assed (1), Se necessário.
exemplos mais complicados podem ser construídos quando o usuário conhece o formato de Pedidos necessários pelo servidor.,Como outro exemplo, um e-mail pode ser submetido a um servidor SMTP usando:
varredura de portas
pode ser útil saber quais portas estão abertas e executando serviços em uma máquina de destino.A bandeira-z pode ser usada para informar portas abertas, ao invés de iniciar uma conexão.Por exemplo:
o intervalo de portas foi especificado para limitar a busca aos portos 20 – 30.
alternativamente, pode ser útil saber quais softwareis do servidor estão rodando, e quais versões.Esta informação é muitas vezes contida dentro dos banners de saudação.,A fim de recuperar estes,é necessário primeiro fazer uma conexão, e então quebrar a conexão quando o banner foi recuperado.Isso pode ser feito especificando-se um pequeno tempo de espera com a bandeira w, ou, talvez, mediante a emissão de uma”SAIA”de comando para o servidor:
EXEMPLOS
Abre uma conexão TCP para a porta de 42 host.example.com, usando a porta 31337 asthe de porta de origem, com um tempo de espera de 5 segundos:
$ nc-p 31337 -w 5 host.example.com 42
Abra uma conexão UDP porta 53. host.example.com:
$ nc-u host.example.com 53
Abre uma conexão TCP para a porta 42 do host.exemplo.,com usando 10.1.2.3 como theIP para o local final da conexão:
$ nc-s 10.1.2.3 host.example.com 42
Criar e ouvir em um Soquete de Domínio Unix:
$ nc lU /var/tmp/dsocket
Conectar-se à porta de 42 host.example.com através de um proxy HTTP no 10.2.3.4,a porta 8080.Este exemplo também pode ser usado porssh(1); Veja a ProxyCommanddirective inssh_config(5) para mais informações.
$ nc-x10.2.3.4:8080 -Xconnect host.example.com 42
VEJA TAMBÉM:
ssh(1)
AUTORES
implementação Original pelo *Hobbit*<[email protected]>.,
reescrito com o suporte IPv6 por
.An Eric Jackson Aq [email protected] .
CAVEATS
UDP port scans será sempre bem sucedido(ou seja, relate a porta como aberta), tornando a combinação-uz de bandeiras relativamente inútil.
Publicidade