Ping, traceroute, and DNS with PHP's Net library

Ever wonder how to interface your PHP application with networking-layer functions such as ping and traceroute? It's a cinch with the Net library in the PHP Extension and Application Repository (PEAR). We'll show you the basics to using this powerful PHP library.

For developers building PHP-backed Web applications, there may come a time when you'll need to interface with networking-layer functions such as ping and traceroute. The problem, of course, is that these aren't built right into PHP, so you have to find a module that emulates these common networking functions.

One easy solution lies in the PHP Extension and Application Repository (PEAR), which contains a number of PHP classes to accomplish these tasks. This series of articles will delve into the PEAR Net/* hierarchy to explain how to perform common network-layer tasks.

Ping a remote host to see if it's alive

We'll explain what is perhaps the most basic of networking functions: using the Net_Ping class to ping a remote site and make sure it's responding as it should.

Retrieve specific ping statistics

Once you're mastered the basics of Net_Ping, you'll probably want to extract some human-readable data from the response packet. Thankfully, this class supports a bunch of additional methods for extracting ping data.

Run a traceroute to a remote host

Based on the Net_Ping class, Net_Traceroute allows you to trace the route between your server and a remote host. And it's a cinch to use.

Obtain DNS records

If you need to obtain DNS information, the Net_DNS class is for you. But the records it returns are a lot more detailed than what you get from Net_Ping and Net_Traceroute. Here's how to make sense from the jumble of data.

Editor's Picks