Thank you for visiting The Ping Page! Below you can find a wealth of information regarding the Ping utility. Distributed under The GNU GPL
First of all, what exactly is Ping? In the course of doing research, it has been found that it has taken on several distinct meanings. One is that Ping is actually an acronym for the words 'Packet INternet Groper'. Another is that it is in fact not an acronym at all, but a noun that was adopted from a verb that the US Navy that uses to describe what its submarines do when looking for objects under the sea. Their subs send out sonar waves and then wait for a return wave when it bounces off something, such as another sub, whale, ocean floor etc. This, in turn, was adopted from bats and dolphins, who navigate in roughly the same way. This is what a system administrator does when Ping is used. As such, Ping has also evolved into a verb in the computer industry, and it is used in somewhat the same manner of the Navy. (more detail below)
The Ping utility is essentially a system administrator's tool that is used to see if a computer is operating and also to see if network connections are intact. Ping uses the Internet Control Message Protocol (ICMP) Echo function which is detailed in RFC 792. A small packet is sent through the network to a particular IP address. This packet contains 64 bytes - 56 data bytes and 8 bytes of protocol reader information. The computer that sent the packet then waits (or 'listens') for a return packet. If the connections are good and the target computer is up, a good return packet will be received. PING can also tell the user the number of hops that lie between two computers and the amount of time it takes for a packet to make the complete trip. Additionaly, an administrator can use Ping to test out name resolution. If the packet bounces back when sent to the IP address but not when sent to the name, then the system is having a problem matching the name to the IP address. As mentioned previously, Ping has also evloved from a noun/acronym into a verb, for example: "Ping server X to see if it is up" The time it takes for the packet to get to the target computer and back again is known as the round trip time. If this takes an extended period of time, it is indicative that something may be wrong. (Sources: Netlingo site, Windows NT Help Menu, Connected: An Internet Encyclopedia site, Brown Computer Solutions site, Guide to Practical Linux by Mark G. Sobell, FreeBSD Ping Manpage)
If you are looking for an even more detailed explanation of Ping and also how to use it in detecting network problems, goto Heavy Ping Detail. Here is a sample ping packet decode
Ping was created by Mike Muuss (pronounced "moose") of the Army Research Labortory in Decmeber of 1983 in about a day in response to network difficulties he encountered. To read the full story of the Ping program, click The History of Ping. To learn more about the brilliant inventor of Ping, clink the Inventor of Ping. It is worthy to note that Ping is a part of all Linux distributions, FreeBSD, NetBSD, OpenBSD, Solaris, all Unix variants and Windows 95/98/NT/2000/XP operating systems - making the program pretty much distributed all over the planet. This is fantastic accomplishment on Mike's part by any standard.
Mike died in a car accident on Interstate 95 near Havre de Grace, Maryland, USA at about 11 PM on Monday, November 20, 2000 at the age of 42. Mike accomplished much in his short life, but he will be best remembered for coding and giving away the source to ping. Read Mike Muuss' obituary from The Baltimore Sun, November 25. He serves as a lesson to all of us in the computer community that you are remembered not for how much you make, but how much you give away. Thank you Mike, for leaving a bit of yourself behind to help us in our computing journeys; we are going to miss you.
Looking for the source code for the first Ping program? Click the Ping Source Code (shell archive). Here is the source code on in text format Ping Source code (text format) For complete details on the options available with ping, please go to the FreeBSD Ping manual page. FreeBSD also has a Ping command that uses the ICMP6 ECHO_REQUEST datagram (as opposed to standard ICMP ECHO_REQUEST packets) that is called Ping6. Also, here is the Linux Ping manpage. In both FreeBSD and Linux, Ping is in Section 8 of the manpages. Here are the manpages for additional operating systems: NetBSD, OpenBSD and Plan 9 from Bell Labs
Since the first Ping program, there have been several additions and enhancements on the basic utility. One of the more fun ones is a utility where an administrator can Ping up to four Internet sites at once. Goto the Multiple Ping Gateway.
If you want to set up your site to be a Ping Gateway, feel free to copy the source code from Ping Gateway Source Code so that you can install it.
3 very cool utilities are at the sites PingMePlease, Ping2Me.com and Just Ping where one can have their computer pinged from a remote site via a web browser.
The Ping Of Death essentially crashes a system by sending a Ping packet that is larger than 65,536 bytes; the default is 64 bytes. An IP datagram of 65,536 bytes usually cannot be sent. But apparently when the packet is chooped up into small pieces as it is sent down the line and then rebuilt at it destination, the sheer size of the packet causes the buffer to overflow. The result can be a reboot, hang, etc. A site in the UK has a detailed explanation of the Ping Of Death (Source: Mike Bremford's Homepage).
To Smurf, Have Been Smurfed, Smurfing - no little blue creatures here
A new threat has emerged on the Internet that once again takes the Ping Utility and twists it around for evil ends. This new practice is called smurfing. Smurfing takes a Ping packet and sends it to a network's broadcast address. This is a specially designated address under which under usual circumstances sends a message to all computers attached to it (up to 255). So, a single Ping packet is increased by a factor of 255 and sent out. Only in this case, the return address is doctored so that the packets are sent to the address that the attacker choses. To give one an idea of how this can cripple a system, a 28.8 modem can send out 42 64-byte Ping packets per second. When sent to a broadcast network address, this becomes 10,626 packets or 5.2 Mbits of data per second - enough to bring down a T1. (Remember that a T1 is 1.5 Mbits/sec) Smurf attackers have now devised ways to have more than one broadcast address send out packets at once during an attack. Thus, using the previous example, we must increase by a factor of 50 (say if the attacker choses 50 broadcast addresses) the 10,626 packets, which increases the number of packets per second to 531,300. Boom. For more information and an excellent article from Wired magazine, click Smurf Article (Sources: PC Webopaedia site, Wired site)
Looking for a funny PING story? (Goto the bottom of the page) PING Story
What is PING 127.0.0.1 and why was it chosen as the name of the company? Goto Why PING 127.0.0.1
On a lighter note, please find below a list of Ping utilities from the FreeBSD Unix operating system Ports Collection, the SourceForge compilation of projects and freeware/shareware. Please note that Ping 127.0.0.1 Computer Services makes no claim that the files on the list are virus free; users must download them at their own risk. Ping 127.0.0.1 Computer Services cannot take any responsibility for direct or indirect losses arising from the use of these utilities, viruses included in them (if any) or any related losses thereof; nor do we support the claims that the programmers make for what their programs do. This list is provided for informational purposes only. If there are additional utilities that are not on this list, please feel free to email them to us. Note that there may be some duplicated programs; they are left on for price comparison and download redundancy.Ping Utilities from the FreeBSD Net Ports Collection
Ubuntu Linux packages
iputils-ping from Hoary version | netkit-ping from Warty version | Ping probe for the Multi Router Traffic Grapher from Edgy version
SourceForge Ping Projects
Autostatus | Nmap | PhonePing | IPing | Echoping | Sing | BTEGPing | Hping2 | Timetrial | Penemo | Kpinger | Kpinger from KDE site | Gping | Gping from Gnome site | Swatcher | fping
Freshmeat Ping Projects
fetchping | http_ping | ping-probe | echoping | libping | netping (anti-smurf tool) | webping | arping | fping | hping2 | sping | xping | pingirva | pingx |
Mac OS X Ping Utilities
Net Tool Box | OTTool | LogRobot | Java Scheduler | OTPing |
Perl modules that incorporate Ping:
Net::Ping | Another Net::Ping | Net::Ping::External | POE::Component::Client::Ping | Net::Peep::Client::Pinger | Net::Peep::Client::Pinger::Host | Fwctl::Services::ping
PHP function: imap_ping
Programs written in Java that implement Ping: Ping Applet | PingDisplay (bottom) | Win32 Java Ping (Spanish translation) | JMonitor
While Java itself does not have a ping utility included with the SDK, but it has 2 classes under java.net that are similar: java.net.DatagramPacket and java.net.DatagramSocket
Windows Ping Utilities
Wsping32, PingPlus, TJPingPro and Stealth Ping | PingIt, Ping Thingy, Pinger, SchizoPing!, Stealth Ping, TJPing, WinPing32, WS_Ping 32 | WS_Ping ProPack | Whole lotta Ping at Tucows.com: Ping Plotter | Ping Monitor | Flexiblesoft Ping | Ping Scanner | Ostrosoft | HostPing | IP Tools | Ping Sweep | PingSX2 | Seer | Hi Ping | DoctorZ, | Omni Ping | Ping-O-Meter | Shuttle | METoolBar | NetRanger | PCS | Site Status | CyberKit | DeEnesse | Toolbox | Sam Spade | Servers Alive | SuperScan | A1 Monitor | Host Monitor | ANT | Alpha | AnalogZ |
If there is any information that you feel might have a place on this page,
please feel free to email us at matt A T ping127001 D0T com.
Sorry for the crude email but the spammers have been pounding us.
- The Management at PING 127.0.0.1 Computer Services
The Ping Page built using HTML in Microsoft Notepad, Editpad 3.5.1, VIM 5.3 in Redhat Linux 5.2 (Kernel 2.0.36) and VIM 5.7 in Redhat Linux 7.0. Page last updated Feb, 2003