4 điểm bởi GN⁺ 2023-07-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • Công cụ hiển thị kết quả ping dưới dạng đồ thị, giúp trực quan hóa thời gian ping của nhiều host
  • Khi dùng cờ --cmd, công cụ sẽ hiển thị dưới dạng đồ thị thời gian thực thi của lệnh thay vì ping host
  • Chạy theo dạng gping [host], và khi dùng --cmd có thể chỉ định các lệnh như curl google.com
  • Hỗ trợ ký hiệu viết tắt cho các vùng cloud như aws:eu-west-1, aws:ca-central-1; hiện tại chỉ hỗ trợ aws
  • Có thể điều chỉnh phạm vi hiển thị đồ thị, khoảng thời gian chạy, phiên bản IP, giao diện mạng, cách vẽ đồ họa, màu sắc và việc xóa đồ thị sau khi thoát bằng các tùy chọn
    • Giá trị mặc định của --watch-interval là 0,2 giây với ping và 0,5 giây với cmd
    • Giá trị mặc định của --buffer là 30 giây
    • --color hỗ trợ định dạng #RRGGBB và các tên màu được chỉ định
  • Hỗ trợ Windows, Mac, Linux và cung cấp các cách cài đặt qua Homebrew, MacPorts, Scoop, Chocolatey, Fedora COPR, Cargo, Arch Linux, Alpine linux, Ubuntu/Debian, Gentoo, FreeBSD, Docker, Flox, gah
  • Cài đặt bằng Cargo yêu cầu rustc 1.67.0 trở lên

1 bình luận

 
GN⁺ 2023-07-02
Ý kiến trên Hacker News
  • Điểm rất hay là nếu đưa nhiều host cùng lúc, nó sẽ vẽ chúng trên cùng một biểu đồ
    Ví dụ gping mydomain.com google.com rất hữu ích để nhanh chóng kiểm tra xem “lỗi ở Wi‑Fi của mình hay ở nhà cung cấp hosting”

    • mtr (Matt's traceroute) cũng là một công cụ tuyệt vời cho mục đích này
      Dù không có đầu ra dạng biểu đồ, nó cho thấy khả năng kết nối, độ trễ, mất gói và độ biến thiên đối với các host giữa IP của tôi và đích đến
      https://www.bitwizard.nl/mtr/
      Liên kết mà westurner đã nhắc trước đó trong chủ đề này: https://news.ycombinator.com/item?id=36549005
    • Bạn cũng có thể truyền vào lệnh thay vì host. Ví dụ như chạy curl google.com
  • mtr cũng thực hiện traceroute: https://en.wikipedia.org/wiki/MTR_(software)
    Nó thường được dùng để xử lý sự cố mạng, hiển thị danh sách các router đi qua cùng thời gian khứ hồi trung bình và mức mất gói đến từng router, từ đó có thể xác định liên kết giữa các router nào là nguyên nhân gây ra toàn bộ độ trễ hoặc mất gói
    Scapy có tính năng trực quan hóa 3D đường đi của một lần traceroute bằng vpython. Hồi đại học tôi từng sửa nó để chạy nhiều traceroute rồi chồng tất cả các đường đi lên nhau, và tôi muốn biết liệu một đường cụ thể có ổn định trong toàn bộ chuỗi gói traceroute hay không: https://scapy.readthedocs.io/en/latest/usage.html#tcp-tracer...
    Có thể dùng setcap như một cách tránh phải chạy công cụ cần root để tạo gói lớp 2: setcap CAP_NET_RAW /use/bin/python-scapy
    Liệu traceroute có đang nối các điểm lại với nhau một cách không phù hợp không?

    • Tôi đang chạy mtr bằng Prometheus exporter. Thứ tôi dùng có lẽ là https://github.com/mgumz/mtr-exporter
      Tôi cấu hình nó để thực hiện traceroute tới 1.1.1.1 và 8.8.8.8, rồi xem biểu đồ trong Prometheus
      Tôi đã dựng cấu hình này sau khi Internet ở nhà nơi đặt máy tính trở nên cực kỳ bất ổn trong vài ngày
      Tôi cũng đã làm một video về biểu đồ: https://video.nstr.no/w/hjTH3Vggn2fvpTrQitMmVP
    • Biểu đồ 3D đó thực sự đáng kinh ngạc. Nó được vẽ động theo phong cách gần như tương lai, đến mức tôi còn muốn dùng làm trình bảo vệ màn hình
    • MTR đã làm được việc này từ 30 năm trước nên tôi không rõ ở đây có gì được bổ sung thêm. Dù vậy tôi vẫn nên thử phần xuất 3D, cảm ơn vì đã chia sẻ
  • Tôi thích biểu đồ và khả năng dùng nhiều host
    HTTPS có thể đi tới nhiều nơi hơn ICMP, vốn thường bị chặn ở vài hop cuối phía sau tường lửa của datacenter, nên một hàm bash dùng gping + cmd + curl cũng có thể khá hữu ích
    Các số liệu ICMP có thể gây hiểu nhầm, vì hầu hết hệ điều hành đều áp dụng giới hạn tốc độ, và nhiều router xử lý ICMP với ưu tiên thấp tùy theo tải CPU của backplane, nhưng điều đó không liên quan tới năng lực chuyển tiếp gói thực tế
    Khi dùng -4 với một host có cả địa chỉ IPv4 và IPv6, có vẻ như nó vẫn ping tới địa chỉ IPv6 trong khi phần hiển thị lại cho thấy địa chỉ IPv4. Những người khác có gặp vậy không? Phiên bản là 1.8.0

  • Một công cụ liên quan lỏng lẻo, cũng là “ping có biểu đồ” nhưng mang tính chất khác: https://github.com/denilsonsa/prettyping

  • Yêu cầu tính năng: âm thanh
    Thỉnh thoảng có lúc cần phản hồi trong khi loay hoay với dây cáp. Tôi từng tạo một công cụ tạm thời cho mục đích đó, nhưng thực chất chỉ là một công cụ thô sơ bọc quanh ping
    Hãy chiêm ngưỡng sức mạnh của pingu: https://pastebin.com/qTfdZ7C8

    • Tiện ích ping tiêu chuẩn cũng đã có ping phát âm thanh bằng -a. Nó sẽ phát tiếng chuông terminal cho mỗi phản hồi
    • Bạn có thể thêm đề xuất này thành một GitHub issue không? Tôi thích ý tưởng này và chắc chắn có thể xem xét kỹ xem có thêm được hay không
  • Có liên quan và rất quan trọng: https://www.cloudflare.com/learning/network-layer/what-is-mt...
    Cần phải hiểu rõ MTR thực sự hiển thị điều gì và vì sao

  • Tôi thích gping, nhưng mong có thêm thông tin chuyên sâu hơn hoặc manpage
    Tài liệu đi kèm không giải thích nhiều. Ví dụ, khó biết t/o là gì và các giá trị được tính như thế nào, còn trang GitHub cũng không giúp được bao nhiêu

    • Đúng vậy, đây là phần tôi rất muốn cải thiện. Dự án đã được dùng nhiều hơn rất nhiều so với dự đoán ban đầu nên phần tài liệu hóa còn hơi thiếu
      Nhân tiện, t/o là timeouts
  • Những thứ đáng xem cùng: ministat, gnuplot, https://www.brendangregg.com/dtkshdemos.html

  • Tôi nhớ bing thời nó không phải là công cụ tìm kiếm mà là một “công cụ đo băng thông xác suất”
    Nó có thể cho biết băng thông giữa hai liên kết mạng bất kỳ mà không phụ thuộc vào băng thông hạn chế giữa tôi và mục tiêu. Cá nhân tôi kết nối qua một đường modem 33.6Kbps cách vài hop, vậy mà vẫn có thể đo tốc độ các liên kết backbone T-3 hay OC-48
    Có vẻ nó không tồn tại lâu và bị bỏ rơi, các bản phân phối Linux phổ biến cũng ngừng đóng gói nó. Tôi không biết công cụ nào khác có thể thực hiện cùng phép đo đó

  • Thời xa xưa trước IPv6, geoip của IPv4 còn hoạt động khá tốt, và trên Windows có một công cụ giống traceroute tên là NeoTrace Pro có thể hiển thị IP trên bản đồ
    Nếu tôi nhớ không nhầm, nó còn có tính năng kiểu bản đồ ping, gửi ping lại tới từng thiết bị trung gian
    Ngày nay, không phải mọi thiết bị trung gian đều phản hồi, lại có quá nhiều overlay của nhà mạng và quản lý luồng SDN nên khó ánh xạ IP tới một vị trí vật lý cụ thể. Không còn là thời kỳ kiểu điện thoại cố định khi các công ty nhỏ mua Class C rồi điền số điện thoại công ty vào cơ sở dữ liệu ARIN nữa

    • Có phải nó giống công cụ pingplotter không?