Escaneie uma ou todas as portas, em UDP ou em todos os protocolos, para ver se estou conseguindo, o que eu suponho

2

Eu tenho um localizador de GPS (TK102). Configurei-o para enviar respostas por GPRS para um determinado IP e por uma determinada porta. Foi-me dito que usa UDP.

Parece que alguma coisa está sendo enviada (transferência paga registrada na lista de conexão para o número de telefone usado pelo localizador), mas não chegou ao servidor (provavelmente).

Parece que meu ouvinte, executado no servidor, não está recebendo nenhuma resposta do localizador.

Ouvinte em si está funcionando bem (escutando UDP apenas nas portas 3333 e 7777), porque eu posso enviar pacotes UDP de qualquer outro cliente e eles estão sendo corretamente alcançados e registrados no banco de dados. Eu testei NetCat e UDP Test Tool em duas portas diferentes. Tudo funciona bem.

A minha pergunta é, existe alguma ferramenta ou serviço, que eu possa rodar no meu servidor para escanear essa particular ou todas as portas, no UDP ou em todos os protocolos, para ver se estou conseguindo algo desse localizador? Em outras palavras, se isso é um problema do localizador ou do servidor ou algo entre eles.

BTW: Estou usando um servidor muito limitado (na verdade, dispositivo NAS), então não consigo executar muitas ferramentas ou comandos do sistema, que normalmente podem ser encontrados diretamente na distribuição.

    
por trejder 06.09.2012 / 12:23

1 resposta

3

Parece que tcpdump é a melhor, se não a única resposta aqui. Parece perfeito para este trabalho. Desde então, estou usando uma versão muito limitada do Linux no meu NAS, não estava lá. Mas uma chamada simples para ipkg install tcpdump resolveu o problema (espero que eu tenha instalado o Optware antes, como também estava faltando).

Para este problema específico (escutar pacotes UDP nas portas 3333 ou 7777), o comando a executar é:

tcpdump -i eth0 -n udp port \( 3333 or 7777 \)

onde -i diz ao tcpdump para escutar apenas a interface eth0 (execute tcpdump -D para ver todos os adaptadores disponíveis para tcpdump em determinada máquina) e -n força o tcpdump a não traduzir endereços de origem de pacotes interceptados e exibi-los como IPs puros.

Para testar se meu localizador não está alterando as portas usadas, posso ligar para:

tcpdump -i eth0 -n udp

que faz com que ele ouça qualquer coisa (qualquer porta) no protocolo UDP.

Uma alternativa de:

tcpdump -i eth0 -n port \( 3333 or 7777 \)

fará com que o tcpdump intercepte qualquer tráfego na porta 3333 ou 7777, não importa qual protocolo seja usado.

Executando tcpdump com apenas parâmetro de interface:

 tcpdump -i eth0

ou até mesmo chamando-o sem nenhum parâmetro irá capturar todo o tráfego vindo para a máquina que executa tcpdump . No entanto, isso é útil, se você tiver acesso físico a ele e puder executar o programa manualmente. Se você tiver acesso somente remoto e precisar executar tcpdump via SSH, talvez não tenha essa sorte. O próprio SSH envia tantos pacotes que, mesmo com todos os outros serviços inativos, você provavelmente não conseguirá ver nada neste " ruído dos pacotes ".

Isso pode ser parcialmente resolvido se você souber o endereço IP de origem (ou seja, o endereço remoto da máquina, que enviará o tráfego que deseja capturar). Com isso, você pode limitar tcpdump assim:

 tcpdump -i eth0 -n src 77.233.177.237

Este é um ouvinte unidirecional que captura todo o tráfego proveniente desse IP para sua máquina.

Versão alternativa:

tcpdump -i eth0 -n dst 77.233.177.237

permite que você verifique todas as "respostas" enviadas da sua máquina para o endereço IP especificado.

Finalmente, executando este commad:

tcpdump -i eth0 -n host 77.253.175.217

mostrará todo o tráfego que está sendo trocado entre o computador, onde você executa tcpdump e mencionou o IP, que neste formulário é considerado fonte e destino, assim você vê tanto "perguntas" quanto "respostas".

Você também pode usar tcpdump em sua máquina para ouvir o tráfego trocado entre duas outras máquinas, conectado à mesma rede. Como isso é muito fora do tópico e está usando o programa como um sniffer, talvez para fazer algumas coisas ruins, não darei a você o comando correto para executar. Consulte as fontes que usei ou pesquise na Internet.

Fontes:

  1. link
  2. link
  3. link
  4. link
  5. link
por 06.09.2012 / 22:53