DonationCoder.com forum
 
Read-only archive. This is a static copy of the DonationCoder.com forum. Reading and searching work as before; logging in, posting and private messages do not.
Archive of 2026-10-21 · About this archive · Main site

Author Topic: NANY 2017 Release: sPinger  (Read 20,949 times)

skwire

  • I eat Coding Snacks for breakfast...
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 5,297
    • Participated in NANY Challenge Seventeen Times
    • Coding Snacks
    • Superboy Coder
    • Cody Award
    • Volunteers/Staff
    • Gathering Badge
NANY 2017 Release: sPinger
« on: January 01, 2017, 05:45 AM »
NANY 2017 Entry Information

Application Name sPinger
Supported OSes Windows 7 (Probably works, but not tested, on Windows XP/8/Vista/10)
Web Page Website
Download Link Download
Author Jody Holmes (Skwire Empire)

Description
If you’re up for it, some background is in order for this application so click the Spoiler button if interested.  If not, skip to the TL;DR section below.

Spoiler (click to show/hide)
In a network operations environment, there was always a need to quickly ping large numbers of IP addresses. The best application, by far, that I found is an app called HELIUM PINGer. Even though it’s an older app, it is a truly multi-threaded, outstandingly fast application that works extremely well. It was indispensable when I worked in network operations several years ago and I still keep it in my network app toolbox. If you need such an app, look no further. Another application in this vein is the professionally done PingInfoView by the incomparable Nir Sofer. I keep that installed as well.

Now, on to sPinger. During my tenure in network operations (2000-2010), I wrote a suite of applications, in my spare time, that my group used. One of these was a mass pinger, like the above, with a few extra features that we used extensively.

The first was the ability to quickly ping entire lists of subnets for only the reachable addresses. This allowed to you create a basic baseline of reachable customers and devices before, say, making a network change. You could easily see if your changes, in realtime, had any adverse affects in regards to reachability.
Another feature was in regards to IP subnet generation. Even though HELIUM PINGer has a subnet generator, you can only generate one subnet’s worth of addresses at a time. We needed the ability to simply paste in a list of subnets and quickly generate the addresses for all of them.
My applications are written in AutoHotkey so the main drawback of my original mass pinger app was that it was single-threaded because AutoHotkey itself is single-threaded. For DonationCoder’s NANY 2017 promotion, I wanted to see if I could rewrite that app with some pseudo-multi-threading and I’ve accomplished that. However, there is no way my app can compete with HELIUM PINGer when it comes to CPU usage when multiple threads are in use. Again, if you need an app like this for heavy-duty use, just get HELIUM PINGer already. That said, the multi-thread functionality is entirely configurable within sPinger, so you should be able to find a happy medium. As a final treat, I’ve made the list icons configurable and have included lots of fun themes I put together (see screenshot below).

TL;DR:
Ping multiple IP addresses and hostnames with fun icon themes. Features:

Pseudo multi-threaded.
Quickly generate lists of all addresses from a list of subnets.
Quickly generate lists of only pingable addresses from a list of subnets.  This feature is not available on Windows 8 & Windows 10.
DNS scan mode to quickly retrieve hostnames from IP addresses.
Fun icon themes in the list to show good, bad, and expired pings.
Configurable list — colours, fonts, etc.

Screenshots

1. main.png 2. main2.png

3. main3.png 4. main4.png

5. main5.png 6. options.png

7. themes.png

Usage
Installation
Download the zip file and extract its contents into a new folder.  Run sPinger.exe to start the application.

Uninstallation
Exit the application and delete the folder you unzipped it to.

jNizM

  • Participant
  • Joined in 2017
  • *
  • Posts: 6
Re: NANY 2017 Release: sPinger
« Reply #1 on: January 04, 2017, 09:25 AM »
:Thmbsup:

skwire

  • I eat Coding Snacks for breakfast...
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 5,297
    • Participated in NANY Challenge Seventeen Times
    • Coding Snacks
    • Superboy Coder
    • Cody Award
    • Volunteers/Staff
    • Gathering Badge
Re: NANY 2017 Release: sPinger
« Reply #2 on: January 04, 2017, 03:25 PM »
Thanks, jNizM.  Nice to see you on here.  :D

hugo nabais

  • Participant
  • Joined in 2016
  • *
  • Posts: 87
    • Participated in NANY Challenge Twice
Re: NANY 2017 Release: sPinger
« Reply #3 on: May 18, 2017, 11:50 AM »
Great job skwire.
I really think this is a good idea and has a very good potencial!

First, some bugs I have found:
- bugs opening with a previous big list of ips makes the program not show the mainform for a minute or so. Made me think I could not open the program!
- cancelling takes a long time and sometimes it hangs. I did some testing and I waited over 5 minutes and it stayed stuck cancelling. I had to kill sPinger.

Some ideas I have that are easy to implement:
- New option that allows max bad pings for individual hosts instead of only a global setting
- New option that allows ping sizes for individual hosts instead of only a global setting
- Don't allow adding empty lines, or adding invalid characters.
- Right button click should have options like:
open ip with web broswer port 80
open ip with web broswer port 443
open ip with ftp
open ip with telnet
open ip with explorer \\ browse
traceroute ip
etc
- More Column like, laste response time, average time, MAC, etc

Ideas (harder) for future improvements:
- Reporting system. Ability to check periods where failures occurred.
- Some kind of alerts. Maybe send emails after X fails.
- Port ping (checking if a port is open)
- Charting (display average response time)

I think that with some work this could be an application many system/network admins would use on a daily base.

jcamp

  • Participant
  • Joined in 2009
  • *
  • Posts: 4
Re: NANY 2017 Release: sPinger
« Reply #4 on: September 26, 2017, 08:21 AM »
Hi

Any chance this could work with a list or domain names? Would be a useful to check if a website is running on a regular basis (ping or check every 10 mins)?

If it could check for a 'string' at that domain it would be really useful to see if the website was running and showing the correct content (e.g. check for <body> tag, etc.)

Cheers (you probably have another tool for this but could not find it :) )
Jonathan

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,931
    • Gathering Badge
    • Plugin Coding Medal
    • Participated in NANY Challenge Seventeen Times
    • Cody Award
    • Coding Snacks
    • Volunteers/Staff
Re: NANY 2017 Release: sPinger
« Reply #5 on: September 26, 2017, 05:15 PM »
Nice ideas..

skwire

  • I eat Coding Snacks for breakfast...
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 5,297
    • Participated in NANY Challenge Seventeen Times
    • Coding Snacks
    • Superboy Coder
    • Cody Award
    • Volunteers/Staff
    • Gathering Badge
Re: NANY 2017 Release: sPinger
« Reply #6 on: September 26, 2017, 10:32 PM »
Hi, jcamp, and welcome to the DonationCoder site.

Any chance this could work with a list or domain names? Would be a useful to check if a website is running on a regular basis (ping or check every 10 mins)?

sPinger should work just fine with a list of domain names.

If it could check for a 'string' at that domain it would be really useful to see if the website was running and showing the correct content (e.g. check for <body> tag, etc.)

I think this functionality is outside the scope of sPinger.  However, read on...

Cheers (you probably have another tool for this but could not find it :) )

Though it doesn't handle multiple addresses, my TrayHostChecker app might be more of what you're looking for.  You can find it here:

http://skwire.dcmembers.com/fp/?page=tray-host-checker

I can look into adding your HTML check idea as one of the alert methods.

Original address: https://www.donationcoder.com/forum/index.php?topic=43351.0