Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

How to test the reachability of a VPN-Connection?

0.00/5 (No votes)
15 May 2004 1  
Program to test the availability of hosts in a network on the basis of ICMP-Pings.

SimpleLineTester

What is this?

SimpleLineTester is a very easy to use command-line program (written in VB.NET) to test the availability of hosts in a network on the basis of ICMP-Pings. You can use it, if you want to check, when your provider is disconnecting you, and when your firewall / Router is connecting you up to the Internet again. It is also very helpful to test the availability of a VPN-Connection over more then 24 hours (especially in conjunction with a DynDNS-service). I personally needed this program to test a VPN-Online-Connection, so I thought, maybe anyone needs such a tool too?! Here it is!

This program is OPEN-SOURCE. See here for the open-source package.

Features:

  • Ping as many hostnames and IP-addresses as you want, only limitation is your computer-hardware! (threading)
  • High-resolution pings with 3 positions after decimal point (in the source, it is measured with the precision of 100ns).
  • 5-Mode System to ensure that a host is really gone down.

How does it function?

The program starts a new sub-thread for every host. The default-settings are as follows:

It pings the host every 1500 ms, and waits for a ping in normal mode 1200 ms. When a ping is not received, the mode is changed (Timeout is the time, the programs waits for a ping in ms, and Sleeptime is the time the program waits before sending a new ICMP-ping-packet:

Mode Timeout Sleeptime
NormalChecking 1200 1500
RetryTest1 2000 3000
RetryTest2 5000 6000
RetryTest3 10000 11000
DownTest 5000 6000

So, when a ping-packet is not received in time, the mode goes one level down. This function ensures compatibility with hosts that are becoming really slow. When a ping is received again, the mode is set to NormalChecking. The program resolves the given hostnames every 30 seconds (for use with DynDNS). This would be a sample-log-entry:

15.04.2004 20:50:58 | Thread started, testing 192.168.0.254 every 1500 ms
15.04.2004 20:50:59 | Resolved IP has changed from 127.0.0.1 to 192.168.0.50
15.04.2004 20:51:00 | Up | Delay: 90,125 ms
16.04.2004 09:00:23 | Down
16.04.2004 09:00:35 | Up | Delay: 981,402 ms

What are the Requirements to run the Program?

  • Windows 98/2K/Me/XP/2K3 (only tested under 2K, XP)
  • Microsoft .NET Framework Version 1.1 Redistributable Package
  • 21 KB of free disc-drive =)

How to use it?

  1. First, you need to install Microsoft .NET Framework Version 1.1 Redistributable Package (you can go to step 2 if you're sure that this is installed on your PC: download here).
  2. You need to download the SimpleLineTester, if you haven't done that already (here).
  3. Unpack SimpleLineTester (packed with WinRar).

    The archive contains 4 files:

    • SimpleLineTester.exe, the main program
    • SimpleLineTesterLib.dll, the libs for the program
    • config.txt, the config-file
    • readme.txt, this file
  4. Configure the program for your needs. The format in config.txt is:
    host.com 192.168.1.1 anotherhost.com

    This means write down the hostnames in the first line, separated with one space, there shouldn't be a space behind the last host ! :-/

  5. Finished!

Start SimpleLineTester.exe without parameters (that are none) and enjoy. Thank you for using!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here