Smokeping is an amazing and underrated resource as a network health metric and diagnostics tool.
If you have a network monitoring or asset system you can export IP addresses from, you should use a small glue script to automatically build a smokeping configuration. I've got one for our LAN and one for the WAN at each of our sites so I can track down issues at either level.
The LAN connection charts are a great daily sanity check, and the WAN connections (I have every-to-every for each site so any and all inter-site issues can be seen) can help keep your ISP honest with the service they're delivering.
Wooo, Windows support! Availability of network diagnostics tools in Windows has been problematic, particularly for very infrequent use. There are some good looking ones for purchase, but it's hard to purchase when we don't usually need it.
For a while, largely related I think to just not having enough bandwidth at our office, but also partly because our coax on the Xfinity cablemodem was sketchy, we were not infrequently having issues, and the majority of my coworkers are on Windows. ping and tracert aren't very good tools for finding out what is going on with intermitant networking issues, especially when it might also be people's home wifi from WFH. There were times I just wished they could run mtr.
Over the last year or so I've been seeing more Windows tools available, which has been great!
i still do like HLSW's TraceRoute if it can even be found online anymore; sometimes i just wanna see a monitor-wide graph of all the traceroutes in line-form. i, however, do not miss the glaringly bright day-star-theme at its core
What I like doing is using ttyplot and then it supports many commands and you can even specify an extraction param to plot on so then it's very Unix philosophy.
There’s also qping, tping and rping, but they are not implementing ping functionality, but are tools for checking the status of specific remote services.
Nice overview.
I see there's space for some more networking tools since there's plenty of letters to go. Is there a hash table to pick the next letter?
Also, the 'apple.com' IP address in the screenshot (221.194.154.187) belongs to a Chinese company.
The developer seems to be located in China. You are seeing the Great Firewall in action:
> The GFW does not have a unique technique of censorship. One of its strengths is to combine several techniques. One of them is the generation, by the network itself (and not by a lying resolver), of bogus DNS responses. You ask for a censored name and as a result you get an answer giving an IP address that has nothing to do with the question asked. [...] But if you ask him about a censored name, then the network generates a false answer. Even if the input is the same, the response varies from a request to another: [...]. The IP address 157.240.17.14 belongs to Facebook (normally scratch.mit.edu is at Fastly), a prime example of the lies generated by the GFW.
Hello, I'm the developer of Nping, I'm glad you're interested in Nping, forgive me for using translation software to write this content, usually a domain name itself will be resolved to more than one ip address, Nping uses the output of the system command Ping
Oh gosh, I'm so sorry. My comment wasn't meant as criticism of you or Nping; I had just never seen a DNS server intentionally return obviously incorrect results before.
They usually resolve to either other blocked websites to trigger a "dangerous website phishing" warning from the browser, or the ISP's own website pretending to be a captive portal.
Neat, reminds me a lot of noping which is a long-time favorite of mine (and its non-graphical counterpart oping): https://noping.cc/
One thing I've always wanted in a ping tool but never found is something that can log anomalous results, so for example one could leave it running in a screen/tmux session and come back a day or two later to not just see that there had been some instances of high latency or packet loss but also see when it happened and for now long per burst.
With all the existing tools I'm aware of I can come back to a long-running ping after a day or two and see that there were 170 pings that got lost but have no idea if that was individual intermittent drops or one continuous event like a cable modem rebooting in the middle of the night.
A couple of times I've attempted to do it myself but the nature of ICMP means it ends up requiring lower level programming than I'm comfortable with.
Random question, but how consistent should you expect to get pings to be over consumer internet to something like google? Single-digit ms variance? Few ms? 10's of ms? Always kind of curious for trying to optimize my network setup at home.
Before a bunch of people read this and become confused why their jitter didn't go to 0 "nothing you can do with your home network will ever make your jitter less than when you plug just your PC/Laptop directly into the ISP connection, let it get the public address, and only run a ping from it". Also things you do at home, such as use wireless, will often add a ms or two of occasional jitter even when you use a 6 GHz channel with extremely low contention and interference.
Bufferbloat is good thing to fix in general though and highlights why one should worry less about "how do single ICMP packets behave" and more about "how does actual loaded traffic of the protocol type I'm using behave in real usage". The results are often staggeringly different.
Partitioned and tabular views are supported, gping is slightly less noticeable when there are a lot of domains, and of course Nping has a lot of iterative optimization to do.
Thanks ~ I named it that way because of the pun in Chinese at the time, and didn't think it would have some heat at the time, so I'll take your offer seriously
Great work! There are quite a few flavors of ping:
TCPPing: https://netbeez.net/blog/tcping/
vmPing: <https://netbeez.net/blog/how-to-use-vmping/>
DNSPing: <https://netbeez.net/blog/dnsping-linux/>
PathPing: <https://netbeez.net/blog/path-analysis-pathping-windows/>
fping: <https://netbeez.net/blog/linux-how-to-use-fping/>
gping: <https://netbeez.net/blog/linux-how-to-use-gping/>
prettyping: <https://netbeez.net/blog/linux-how-to-use-prettyping/>
nping: <https://netbeez.net/blog/how-to-use-nping/>
fping is most commonly seen as the backend tool under the classic (24 years old now, and still maintained) smokeping
https://www.google.com/search?client=firefox-b-e&q=smokeping...
Smokeping is an amazing and underrated resource as a network health metric and diagnostics tool.
If you have a network monitoring or asset system you can export IP addresses from, you should use a small glue script to automatically build a smokeping configuration. I've got one for our LAN and one for the WAN at each of our sites so I can track down issues at either level.
The LAN connection charts are a great daily sanity check, and the WAN connections (I have every-to-every for each site so any and all inter-site issues can be seen) can help keep your ISP honest with the service they're delivering.
mtr is also pretty great!
Wooo, Windows support! Availability of network diagnostics tools in Windows has been problematic, particularly for very infrequent use. There are some good looking ones for purchase, but it's hard to purchase when we don't usually need it.
For a while, largely related I think to just not having enough bandwidth at our office, but also partly because our coax on the Xfinity cablemodem was sketchy, we were not infrequently having issues, and the majority of my coworkers are on Windows. ping and tracert aren't very good tools for finding out what is going on with intermitant networking issues, especially when it might also be people's home wifi from WFH. There were times I just wished they could run mtr.
Over the last year or so I've been seeing more Windows tools available, which has been great!
WinMTR is a thing, but you have to install it, ofcourse.
Thanks, WinMTR seems like exactly the sort of thing I was looking for back then, not sure why it didn't come up in our searches at the time.
i still do like HLSW's TraceRoute if it can even be found online anymore; sometimes i just wanna see a monitor-wide graph of all the traceroutes in line-form. i, however, do not miss the glaringly bright day-star-theme at its core
What I like doing is using ttyplot and then it supports many commands and you can even specify an extraction param to plot on so then it's very Unix philosophy.
https://github.com/tenox7/ttyplot
Also love gnuplot, and and ministat for stats/graphs from the command line
Another interesting tool in this space is trippy, which ‘combines the functionality of traceroute and ping’
https://github.com/fujiapple852/trippy
There’s also the somewhat similar mtr https://www.bitwizard.nl/mtr/
As other comments say, It’s a bit of a crowded market…
mtr is my go-to, great tool!
Wow ~, in all honesty, Nping needs to do more
There already exists a tool called nping. It comes with nmap.
https://nmap.org/nping/
thanks ~ I named it because of the pun in Chinese at the time, so maybe in the future I'll consider using a binary like pping.
How about "pingui"? :)
this really needs to be thought about.
pping already exists too. It’s a bit of a crowded market…
There’s:
• 2ping <https://www.finnie.org/software/2ping/>
• fping <https://www.fping.org/>
• hping <http://www.hping.org/>
• nping <https://nmap.org/>
• oping <https://noping.cc/documentation/oping/>
There’s also qping, tping and rping, but they are not implementing ping functionality, but are tools for checking the status of specific remote services.
Nice overview. I see there's space for some more networking tools since there's plenty of letters to go. Is there a hash table to pick the next letter?
Is there an awesome-{}-tools list of these somewhere by chance?
I just used
If I extend it to I also find:• smokeping <https://smokeping.org/>
smokeping is one of the best of these bunch, if not significantly more effort to setup.
Oh, my God. ~
I wonder why www.google.com resolved to 31.13.94.37, which IPinfo tells me belongs to AS32934 Facebook, Inc.
https://ipinfo.io/31.13.94.37
Also, the 'apple.com' IP address in the screenshot (221.194.154.187) belongs to a Chinese company.
The developer seems to be located in China. You are seeing the Great Firewall in action:
> The GFW does not have a unique technique of censorship. One of its strengths is to combine several techniques. One of them is the generation, by the network itself (and not by a lying resolver), of bogus DNS responses. You ask for a censored name and as a result you get an answer giving an IP address that has nothing to do with the question asked. [...] But if you ask him about a censored name, then the network generates a false answer. Even if the input is the same, the response varies from a request to another: [...]. The IP address 157.240.17.14 belongs to Facebook (normally scratch.mit.edu is at Fastly), a prime example of the lies generated by the GFW.
https://ipregistry.co/blog/chinese-national-firewall
> You are seeing the Great Firewall in action
Why? It's just that Apple has CDNs in China. Yes, as long as you do all the bureaucracy nonsense and comply to censorship you can do that.
e6858.e19.s.tl88.net resolves to 221.194.154.187. tl88.net is the domain for a CDN vendor mainly operating in China.
And it does serve www.apple.com content with actual www.apple.com TLS cert.
Thanks for the explanation about the CDN for apple.com. However, the parent's observation seems to be consistent with the Great Firewall, no?
Oops, sorry, yes you are right. For some reason I didn't see GP's comment at all and ignored the fact that you were replying to it /facepalm
thanks ~
Hello, I'm the developer of Nping, I'm glad you're interested in Nping, forgive me for using translation software to write this content, usually a domain name itself will be resolved to more than one ip address, Nping uses the output of the system command Ping
Oh gosh, I'm so sorry. My comment wasn't meant as criticism of you or Nping; I had just never seen a DNS server intentionally return obviously incorrect results before.
This may be a misunderstanding, it's the first time I've encountered this problem and it's helped me to learn more, thanks
A Domain name resolved to many IP addresses is true. But Google's domain name resolved to Facebook's IP? That is very odd.
When I switch to vpn I get the right results, maybe GFW is causing the problem
That's normal for most websites blocked in China.
They usually resolve to either other blocked websites to trigger a "dangerous website phishing" warning from the browser, or the ISP's own website pretending to be a captive portal.
How about using the system's own ping command? Nping essentially calls the system's Ping command
[dead]
Neat, reminds me a lot of noping which is a long-time favorite of mine (and its non-graphical counterpart oping): https://noping.cc/
One thing I've always wanted in a ping tool but never found is something that can log anomalous results, so for example one could leave it running in a screen/tmux session and come back a day or two later to not just see that there had been some instances of high latency or packet loss but also see when it happened and for now long per burst.
With all the existing tools I'm aware of I can come back to a long-running ping after a day or two and see that there were 170 pings that got lost but have no idea if that was individual intermittent drops or one continuous event like a cable modem rebooting in the middle of the night.
A couple of times I've attempted to do it myself but the nature of ICMP means it ends up requiring lower level programming than I'm comfortable with.
Random question, but how consistent should you expect to get pings to be over consumer internet to something like google? Single-digit ms variance? Few ms? 10's of ms? Always kind of curious for trying to optimize my network setup at home.
you can get it down to nearly zero using OpenWRT and configuring SQM. Use https://www.waveform.com/tools/bufferbloat to measure and tune until you get an A+ result.
Before a bunch of people read this and become confused why their jitter didn't go to 0 "nothing you can do with your home network will ever make your jitter less than when you plug just your PC/Laptop directly into the ISP connection, let it get the public address, and only run a ping from it". Also things you do at home, such as use wireless, will often add a ms or two of occasional jitter even when you use a 6 GHz channel with extremely low contention and interference.
Bufferbloat is good thing to fix in general though and highlights why one should worry less about "how do single ICMP packets behave" and more about "how does actual loaded traffic of the protocol type I'm using behave in real usage". The results are often staggeringly different.
The new generation has to rediscover gnuplot and ministat.
This has made me wonder if there's a tracert that attempts to geolocate the hops and put them on a map. That would be an interesting tool.
There is also nping that comes with nmap
I named it because of the pun in Chinese at the time, so maybe in the future I'll consider using a binary like pping.
> Nping mean NB Ping
What does NB Ping mean?
It'd be nice to provide install instructions for non-mac users as well.
thanks ~. I have compiled corresponding binaries for common operating system versions, which may not cover all operating systems.
Rename it to table ping.
thanks ~ I named it because of the pun in Chinese at the time, so maybe in the future I'll consider using a binary like pping.
tping !
That's a nice name, but I'll have to sacrifice my Chinese pun.
It's really an interesting idea; I'll try it.
I could not find how to install it on Linux.
This looks great, definitely gonna check it out
thanks ~
Very cool. I’ll be using this going forward
thanks ~
What's the difference from gping?
Partitioned and tabular views are supported, gping is slightly less noticeable when there are a lot of domains, and of course Nping has a lot of iterative optimization to do.
Reminds me of the old SmokePing.
Should have used GPL...
absolute cinema!
牛逼!
谢谢大佬
nping软件已经存在,就是跟nmap一起走的软件。 建议重新命名一下。
Thanks ~ I named it that way because of the pun in Chinese at the time, and didn't think it would have some heat at the time, so I'll take your offer seriously