Pergunta

Estou usando o NetCat como um back -end para os dados da Shovel para um programa que estou fazendo. Eu testei meu programa na rede local e, uma vez funcionado, pensei que seria uma questão de simplesmente encaminhar uma porta do meu roteador para que meu programa funcione pela Internet. Infelizmente! Parece não ser o caso.

Se eu iniciar o NetCat ouvindo na porta 6666 com:

nc -vv -l -p 6666,

então vá para 127.0.0.1:6666 Em um navegador, como esperado, eu vejo uma solicitação HTTP GET vinha através do NetCat (e meu navegador fica esperando em vão). Se eu for para my.external.ip.address:6666, no entanto, nada aparece e os telas do navegador não conseguiram se conectar a my.external.ip.address:6666'.

Sei que a porta é encaminhada corretamente, pois www.canyouseeeme.org diz que a porta 6666 está aberta (e quando o NetCat não está ouvindo, está fechado).

Se eu executar o NetCat com -g my.adslmodem's.local.address Para definir o endereço do gateway, recebo o mesmo comportamento. Estou usando esta opção de linha de comando corretamente? Alguma percepção do que estou fazendo de errado?

Foi útil?

Solução 2

Acontece que não há problema. Só parece assim porque meu roteador não permite conexões de gancho de cabelo. Ou seja, mesmo que eu o tenha configurado corretamente, o roteador não faria a conexão quando a fonte e o destino estiverem atrás do NAT. Simplesmente ncat -l -p 6666 Funciona bem, desde que a solicitação venha de fora da LAN. Para testar isso, eu naveguei my.external.ip.address:6666 Com meu telefone celular 3G e com certeza, uma solicitação HTTP chegou :)

Esta resposta veio de: uma pergunta do serverfault, que é onde eu deveria ter feito essa pergunta em primeiro lugar. Desculpas por isso.

Outras dicas

Você deve ouvir na interface pública. Você está ouvindo atualmente no local, onde ninguém fora do seu computador pode se conectar.

Sua milhagem pode variar, mas com minha implementação de netcat Eu tenho que usar essa linha de comando para ouvir em todas as interfaces públicas.

netcat -vv -l 0.0.0.0 6666

Para especificar um endereço de escuta:

nc -l -s <LISTENING_IP_ADDR> -p <LISTENING_PORT>

Testado em uma Jessie Debian com netcat-traditional-1.10-41

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top