Estou atrás de firewall, e me faltam informações de como descobrir qual IP/porta deve ser aberta para determinada aplicação. No meu caso atual, é telegrama.
Não encontrei nenhum documento "permitir esses IPs/portas". Encontrei intervalos de IP relacionados ao telegrama, mas quando usei sudo tcpdump -i <iface> -nn -s 0 -v > /tmp/tcpDump
e gerei algum tráfego de saída, não consegui encontrar nenhum desses IPs. E é aí que meu "conhecimento" termina.
Como posso encontrar, o que deve ser configurado no firewall? (claro, gostaria de ouvir uma resposta relacionada ao telegrama, mas estou mais interessado em saber como isso é resolvido em geral).
Não estou muito familiarizado com o telegram, então isso é da perspectiva de um administrador que está solucionando problemas gerais de portas.
A maioria dos aplicativos geralmente possui documentações do que precisa ser ativado para permitir que o aplicativo funcione . Normalmente, você pode encontrar uma lista de portas, IPs, FQDN simplesmente pesquisando no Google "quais portas usam". No seu exemplo específico, os resultados do Google mostram o seguinte: https://core.telegram.org/bots/webhooks
Depois de obter essas informações de porta, você geralmente faz um teste para ver se meu dispositivo pode alcançar o referido ouvinte. Meu método preferido e eu realmente acredito que é uma das maneiras mais fáceis é tentar telnet para o host nessa porta. Não importa se eles têm um servidor telnet configurado ou não, você pode verificar se o destino é válido. Portanto, em um servidor de janela, eu abriria o prompt de comando e tentaria telnet 149.154.167.197 443 . Em todas as distribuições Linux, você pode usar o comando idêntico telnet 149.154.167.197 443 . Se você obtiver uma resposta, poderá restringir que o problema está em algum lugar da fonte ou que não é a porta de que você precisa.
Se você não conseguir encontrar nenhuma documentação ou se ela não estiver funcionando, você pode pesquisar suas conexões ativas . No Windows, você pode fazer isso iniciando o aplicativo e, em seguida, abrindo o prompt de comando e executando o comando netstat -a -b . Netstat é um comando que exibe informações sobre conexões TCP em seu dispositivo. Na maioria das distribuições Linux, você pode usar o nstat -a muito mais robusto do iproute2.
Isso deve resolver seu problema de encontrar portas quase todas as vezes. Se não, sua última ferramenta principal é baixar uma ferramenta de análise de pacotes, como ngrep ou wireshark, e analisar manualmente o tráfego de seu dispositivo . Se você conhece a origem/destino, geralmente pode encontrá-lo rapidamente.
Uma nota final é que antes de qualquer coisa se vai sair na internet. Há uma chance muito grande de usar a porta 80 (http) ou 443 (https) e provavelmente deve ser o primeiro palpite, a menos que esteja usando um protocolo distinto.