Kwakkelflap: tools for the IT pro

Thursday, November 13, 2008

Fping Video

I was checking some backlinks yesterday when I discovered that Amit Vartak made a complete video tutorial of Fping on SecurityTube. It describes every option of Fping version 2.17 . I've added a lot of cool stuff afterwards but it's still great to see that people like the software enough to create video tutorials. So thanks for creating these, I really appreciate it. There are 4 videos and I've embedded them all here.


Saturday, November 01, 2008

Fping 2.21

I took some time of other projects to update my Fping application. I've corrected several faults that have been in there since the first release but always went unnoticed. One of the things we corrected was the amount of data sent. We used the first 4 databytes to store timing information. These 4 bytes became obsolete when I introduced a new timing system. Unfortunately I forgot to remove those 4 bytes of data. These 4 bytes are now replaced with regular ping data.

I also adjusted the Windows timer resolution. Seems this was causing problems on certain systems and users where unable to ping fast enough. Now pinging should be lightning fast on all systems.

More information on Fping can be found here.


Wednesday, March 12, 2008

IPv6 Fping

Seems I won't be using RentACoder. I was creating a framework for the coder and I thought it would be easier to do it myself. So after 3 hours of coding and testing, Fping is now able to ping IPv6 addresses.

Some features are disabled for IPv6 (most importantly the features which won't work like Type Of Service and the don't fragment flag). I'm not sure when I'm going to release the new version. I'll have a look at my todo list first.


Sunday, March 09, 2008


I'm swamped with work. I've released a new version of Fping this weekend which should have been released a month ago. And I'm working on a new Service - O - Matic and Watchdog - O - Matic release at the same time.

I also need to add some features to Fping. Basically I want Fping to ping IPv6 addresses. I don't know where I'm going to find the time to do this so I thought I'd contact someone else to do it for me.

I went to RentACoder, a site that helps getting developers together. Basically you post a software project you want to create and people will place bids. Then you can choose the bid you like most and they can get to work.

I have 5 different bids after 48 hours. 3 of them seem interesting, most of them charging around $100 which is very cheap if you ask me. How can someone earn a living if they estimate 5 days of work at $100 total, living in the US?

I'm not sure if I'll take any bid. I fear I'll have a serious amount of work telling the developer what I want, creating a platform they can work with and checking the work when it's finished. It's probably easier and less time consuming to do it myself and I know I'll have what I want for sure. But it might be a good test for bigger projects later on.

Labels: ,

Wednesday, November 07, 2007

The Fping story

I created Fping in 1998 because I was frustrated with the ping application that comes with windows. I wanted to ping more than once a second, so I created a basic ping application that could do this. It didn't have many options at that time. Basically the only thing it did was sending ICMP 'echo request' packets and wait for the response. I had to give it a name and went with Fping (fast ping). How original.

Turns out it wasn't original at all. There was (and still is) an open source Fping application available with very similar goals. Oops. I swear I didn't know about it until it was too late. I was adding options to my Fping application and the program was spreading on the net. It first dawned on me when I got a 'bug report' with an option that didn't work like the open source program did.

So the name of my ping application was bad. Very bad. But the program was also successful, spreading fast, and I didn't want to change it at that time because of this. Also, my Fping is not simply a copy of the open source version. Some features are the same and some features are unique (for both). I will keep it this way, cause it seems the best thing to do.

In all those years the maintainers of the open source version never contacted me. I can only hope the name confusion didn't cause frustration. My sincere apologies.


Thursday, March 08, 2007

Fping speedup

One of the users of Fping informed me of a strange problem. He is using Fping to ping a certain address very fast (once every 1 millisecond with a 1 millisecond timeout). It works as it should. But then he runs a program called 'XNote Stopwatch' and Fping speeds up.

"I stumbled across a strange behavior related to timing. Using the options shown above, I get less than 100 pings per sec. But if I have a program called "XNote Stopwatch" running at the same time as fping, then the ping rate from fping roughly triples. As soon as I shutdown the Stopwatch program, fping returns to the slower rate.
I get the "stopwatch effect" both with and without -i. I have repeated it on 2 different machines, both WinXP SP2. As soon as I launch the stopwatch program, fping speeds up. As soon as I exit the stopwatch program, fping slows back down. The stopwatch doesn't need to be running."

I'm dumbfounded by this. I am unable to reproduce this on my development machine (also WinXP SP2). But I see the same thing when pinging on my old Windows 2000 system.

I checked the Fping code and it does 2 things related to time:
a) Sleep x milliseconds between pings
b) Query the high performance counter when sending an echo request, and again when receiving the reply to calculate the round trip time.

I'm not sure how the stopwatch program can influence Fping. My guess is they are doing some tricks to get a high precision timing. But this can only influence the high performance counter, if even that. This would result in strange round trip times, not in speeding up. It's hard to believe that they can influence the sleep of another application. I contacted dnSoft (the creators of the stopwatch program) to see how I can solve this.

Labels: ,