Como testar a conectividade de rede em uma porta UDP específica entre dois hosts linux

1

Estou procurando um método para testar a conectividade de rede em uma porta específica entre dois hosts linux.

Digamos, por exemplo: Estou enviando eventos syslog do servidor A para o servidor B na porta 514. No entanto, o servidor B nunca recebe eventos do Servidor A. Posso confirmar que o servidor A está enviando e a porta 514 no servidor B é aberto. Por enquanto, suspeito que o firewall entre esses servidores esteja bloqueando 514 conexões.

Existe alguma ferramenta ou método que pode ajudar a verificar se o firewall está aberto para a porta 514 nessa situação? Procurando por sua ajuda e aberto para discutir mais.

Obrigado em adiantamentos. Atenciosamente, Anh

    
por Anh 03.02.2018 / 15:55

2 respostas

1

Existem algumas coisas que você pode fazer.

Primeiro, verifique se os serviços que você acredita estar executando e ouvindo em certas portas estão de fato ouvindo, para fazer isso, use o netstat:

netstat -plunt

Mais do que isso, você pode usar um analisador de pacotes como o Wireshark ou a ferramenta interna do Linux chamada tcpdump.

Para analisar todo o tráfego, digamos, a placa de interface de rede chamada eth0, execute:

tcpdump -i eth0 

Para analisar todo o tráfego no nic eth0, protocolo udp e porta 514:

tcpdump -i eth0 -n udp 'port 514'

Se você suspeitar do firewall em uma das máquinas, poderá listar todas as regras ativas na máquina emitindo o próximo comando:

sudo iptables -S

Mais informações sobre o comando iptables que você pode executar para ajudá-lo a solucionar o problema podem ser encontradas aqui .

Outra etapa de solução de problemas que eu tomaria seria telnet da máquina emissora syslog para a máquina receptora syslog na porta 514:

telnet hostB:514

Se a sua sessão estiver aberta, significa que o hostA pode alcançar o hostB na porta especificada.

    
por 03.02.2018 / 16:39
0

Você pode usar traceroute para descobrir até que ponto os pacotes de um protocolo específico são obtidos. Aqui está um exemplo de como o comando poderia ser:

traceroute -n -T -p 514 2001:db8::1

O significado dos argumentos é o seguinte:

  • -n desativa o DNS reverso, que muitas vezes fará com que o comando seja executado muito mais rápido.
  • -T executa o rastreamento usando pacotes TCP SYN.
  • -p 514 envia os pacotes para a porta 514
  • 2001:db8::1 do endereço IP do destino. Um nome de host também pode ser usado.

Compare a saída de alguns números de porta diferentes para descobrir se um está sendo tratado de maneira diferente dos outros.

Observe que existem versões diferentes de traceroute . O acima foi testado usando o pacote traceroute no Ubuntu 16.04. Essa versão também é conhecida como traceroute.db .

    
por 04.02.2018 / 20:18