Executando verificação de segurança...
1

Pitch: Criei um script Batch para turbinar o diagnóstico de redes no CMD e quero compartilhar a jornada!

Fonte: NetRoute-Diag-CMD no GitHub

Olá, comunidade TabNews!

Meu nome é Jeiel Lima Miranda e, como um entusiasta da otimização de processos em TI e cibersegurança, frequentemente me deparo com a necessidade de diagnosticar problemas de rede de forma rápida e eficiente. Embora o CMD do Windows ofereça ferramentas poderosas como ping e tracert, eu sentia falta de algo que unificasse os testes essenciais e, principalmente, que apresentasse os resultados de uma maneira mais visual e intuitiva.

Foi dessa necessidade que nasceu o NetRoute-Diag-CMD, um script em Batch que desenvolvi para facilitar a análise de conectividade, MTU e saltos de rota. E hoje, quero compartilhar com vocês não apenas a ferramenta, mas também o "porquê" e o "como" por trás da sua construção.

Por que um script em Batch em pleno 2026?

Pode parecer um pouco anacrônico, mas a escolha pelo Batch foi intencional. Em muitos ambientes corporativos ou durante atendimentos de campo, nem sempre temos a liberdade de instalar ferramentas complexas ou interpretadores de linguagens como Python ou PowerShell. Um simples arquivo .bat é universal, portátil e executável em praticamente qualquer máquina Windows moderna sem pré-requisitos.

O objetivo era criar uma solução "plug-and-play" para agilizar o troubleshooting inicial, permitindo que qualquer analista, independentemente do nível de permissão, pudesse obter um diagnóstico claro e rápido.

O Desafio Técnico: Cores no CMD e a Magia do ANSI

Um dos meus principais objetivos era melhorar a legibilidade. Quem nunca se perdeu em um mar de texto branco no CMD? Eu queria que os resultados saltassem aos olhos: verde para sucesso, vermelho para falha. A solução foi mergulhar no uso de códigos de escape ANSI.

O Windows 10 e 11 trouxeram de volta o suporte nativo a essas sequências, mas capturar o caractere de escape (ESC) em um script Batch não é algo trivial. A solução que implementei foi um pequeno "hack" que utiliza o comando prompt para gerar o caractere especial e o armazena em uma variável. Parece simples, mas chegar a essa solução robusta exigiu bastante pesquisa e testes.

:: Captura o caractere de escape (ESC) para usar nas cores
for /F "tokens=1,2 delims=#" %%a in ('''"prompt #$H#$E# & echo on & for %%b in (1) do rem"''') do (set "ESC=%%b")

:: Define a paleta de cores
set "GREEN=%ESC%[32m"
set "RED=%ESC%[31m"
set "RESET=%ESC%[0m"

echo %GREEN%Isso é um texto verde!%RESET%

Com isso, pude finalmente dar vida ao terminal, tornando a identificação de um MTU inadequado ou de uma falha de ping instantânea.

As Funcionalidades Essenciais

O script foi estruturado para seguir um fluxo lógico de diagnóstico, cobrindo três áreas críticas:

  1. Teste de MTU (Maximum Transmission Unit): Ele envia um ping com um pacote de 1472 bytes e a flag de não fragmentar (-f). Se o comando falhar, é um forte indício de que há um problema de MTU na rota, algo muito comum em túneis VPN ou redes com configurações específicas.
  2. Teste de Latência: Um ping simples, mas essencial. Executa 5 disparos para dar uma média confiável do RTT e da perda de pacotes.
  3. Análise de Saltos (Pathping): Talvez a função mais poderosa. O pathping combina ping e tracert para mostrar a latência e a perda de pacotes em cada salto até o destino. Adicionei um aviso visual, pois este teste pode ser demorado, mas os insights que ele fornece são valiosíssimos para identificar o ponto exato de um gargalo na rede.

Convite à Colaboração

Desenvolvi o NetRoute-Diag-CMD com o intuito de ser uma ferramenta prática para o dia a dia. Acredito que a simplicidade é sua maior força, mas sei que sempre há espaço para evoluir.

Por isso, estou compartilhando o projeto com a comunidade. Ficarei muito feliz em receber feedbacks, sugestões de novas funcionalidades ou até mesmo pull requests! Quem sabe não podemos adicionar um log de saída, parâmetros de linha de comando ou testes mais avançados?

O código está totalmente aberto e comentado no GitHub. Dê uma olhada e me diga o que você acha!

>> Acessar o repositório NetRoute-Diag-CMD no GitHub <<

Obrigado pela atenção e espero que a ferramenta seja tão útil para vocês quanto tem sido para mim!

Carregando publicação patrocinada...
1
1
0