4 pontos por GN⁺ 2023-07-02 | 1 comentários | Compartilhar no WhatsApp
  • Ferramenta que mostra os resultados do ping em gráfico, visualizando os tempos de ping de vários hosts
  • Com a flag --cmd, em vez de pingar hosts, exibe em gráfico o tempo de execução de comandos
  • É executado no formato gping [host]; ao usar --cmd, é possível definir como alvo um comando como curl google.com
  • Suporta notação abreviada de regiões de nuvem como aws:eu-west-1 e aws:ca-central-1; no momento, apenas aws é suportado
  • É possível ajustar por opções o intervalo exibido no gráfico, o intervalo de execução, a versão de IP, a interface de rede, o modo gráfico, as cores e a remoção do gráfico ao encerrar
    • O padrão de --watch-interval é 0,2 s para ping e 0,5 s para cmd
    • O padrão de --buffer é 30 segundos
    • --color suporta o formato #RRGGBB e nomes de cores predefinidos
  • Suporta Windows, Mac e Linux, oferecendo caminhos de instalação via Homebrew, MacPorts, Scoop, Chocolatey, Fedora COPR, Cargo, Arch Linux, Alpine linux, Ubuntu/Debian, Gentoo, FreeBSD, Docker, Flox e gah
  • A instalação via Cargo requer rustc 1.67.0 ou superior

1 comentários

 
GN⁺ 2023-07-02
Comentários do Hacker News
  • É muito bom que, ao passar vários hosts ao mesmo tempo, ele os desenhe no mesmo gráfico
    Por exemplo, gping mydomain.com google.com é muito útil para verificar rapidamente se “o problema é no meu Wi‑Fi ou no provedor de hospedagem?”

    • O mtr (Matt's traceroute) também é uma ótima ferramenta para esse tipo de uso
      Não tem saída em gráfico, mas mostra conectividade, latência, perda de pacotes e variação para os hosts entre meu IP e o destino
      https://www.bitwizard.nl/mtr/
      Link mencionado antes pelo westurner neste tópico: https://news.ycombinator.com/item?id=36549005
    • Também dá para passar comandos em vez de hosts. Por exemplo, executar curl google.com
  • O mtr também faz traceroute: https://en.wikipedia.org/wiki/MTR_(software)
    É muito usado para diagnosticar problemas de rede e mostra a lista de roteadores pelo caminho, o tempo médio de ida e volta até cada um e a perda de pacotes, permitindo identificar qual link entre roteadores está causando a latência ou a perda total
    O Scapy tem um recurso para fazer visualização 3D com vpython do caminho de um traceroute único. Na faculdade, cheguei a modificar isso para executar vários traceroutes e sobrepor todos os caminhos, e tinha curiosidade sobre quão estável era um caminho específico ao longo de toda a sequência de pacotes do traceroute: https://scapy.readthedocs.io/en/latest/usage.html#tcp-tracer...
    Uma forma de evitar executar ferramentas que exigem root para criar pacotes de camada 2 é usar setcap: setcap CAP_NET_RAW /use/bin/python-scapy
    Será que o traceroute não está ligando os pontos de forma inadequada?

    • Estou executando o mtr com um Prometheus exporter. Acho que o que uso é https://github.com/mgumz/mtr-exporter
      Configurei para fazer traceroute para 1.1.1.1 e 8.8.8.8, e vejo os gráficos no Prometheus
      Montei essa configuração depois que a internet da casa onde fica meu computador ficou muito instável por vários dias
      Também fiz um vídeo sobre os gráficos: https://video.nstr.no/w/hjTH3Vggn2fvpTrQitMmVP
    • Esse gráfico 3D é realmente impressionante. É quase tão futurista e dinâmico que dá vontade de usar como protetor de tela
    • O MTR já fazia isso 30 anos atrás, então não entendi bem o que foi acrescentado aqui. Mesmo assim, vou testar a exportação 3D; obrigado por compartilhar
  • Gostei do gráfico e do uso de vários hosts
    HTTPS costuma chegar a mais lugares do que ICMP, que frequentemente é bloqueado nos últimos hops atrás de firewalls de data center, então uma função bash com gping + cmd + curl também pode ser bem útil
    Métricas de ICMP podem ser enganosas, porque a maioria dos sistemas operacionais aplica limitação de taxa, e muitos roteadores tratam ICMP com baixa prioridade dependendo da carga de CPU do backplane, mas isso não tem relação com a capacidade real de encaminhamento de pacotes
    Ao usar -4 em um host que tem endereços IPv4 e IPv6, parece que ele mostra o endereço IPv4 na interface, mas na prática envia ping para o endereço IPv6. Acontece com mais alguém? A versão é 1.8.0

  • Como ferramenta vagamente relacionada, isto também é um “ping com gráfico”, mas de outro tipo: https://github.com/denilsonsa/prettyping

  • Pedido de recurso: som
    Raramente preciso de feedback enquanto mexo em cabos. Já fiz uma ferramenta improvisada para isso, mas no fim é só uma gambiarra em volta do ping
    Contemple o poder do pingu: https://pastebin.com/qTfdZ7C8

    • O utilitário padrão ping já tem ping com som em -a. Ele toca o sino do terminal a cada resposta
    • Você pode adicionar essa sugestão como issue no GitHub? Gostei da ideia e posso avaliar melhor se dá para incluir
  • Relacionado e muito importante: https://www.cloudflare.com/learning/network-layer/what-is-mt...
    É essencial entender o que o MTR realmente mostra e por quê

  • Gosto do gping, mas queria informações mais detalhadas ou uma manpage
    A documentação incluída não explica muita coisa. Por exemplo, é difícil saber o que é t/o e como os valores são calculados, e a página do GitHub também não ajuda muito

    • Sim, com certeza quero melhorar isso. O projeto acabou sendo usado muito mais do que eu esperava, então a documentação ficou um pouco deficiente
      Para referência, t/o significa timeouts
  • Outras coisas para ver junto: ministat, gnuplot, https://www.brendangregg.com/dtkshdemos.html

  • Sinto falta do bing, que não era o mecanismo de busca, e sim uma “ferramenta probabilística de medição de largura de banda”
    Ele conseguia informar a largura de banda entre quaisquer dois links de rede, independentemente da largura de banda limitada entre mim e o destino. Eu mesmo estava conectado alguns hops distante por um link de modem de 33.6 Kbps, e ainda assim conseguia medir a velocidade de links de backbone T-3 ou OC-48
    Parece ter sido abandonado pouco tempo depois, e até distribuições Linux populares deixaram de empacotá-lo. Não conheço outra ferramenta que faça a mesma medição

  • Antes do IPv6, no passado, o geoip de IPv4 funcionava razoavelmente bem, e no Windows havia uma ferramenta parecida com traceroute chamada NeoTrace Pro, que conseguia mostrar IPs em um mapa
    Pelo que lembro, ela também incluía algo como um mapa de ping que repingia cada equipamento intermediário
    Hoje em dia, nem todos os equipamentos intermediários respondem, e há overlays de operadoras e gerenciamento de fluxos por SDN demais para que um IP seja facilmente mapeado a uma localização física específica. Não é mais como na época da telefonia fixa, quando empresas pequenas compravam um Class C e colocavam o número de telefone da empresa no banco de dados da ARIN

    • Era algo parecido com o pingplotter?