aspNetPing allows you to effortless enable your applications to send Internet Control Message Protocol (Ping/ICMP) packets in .NET. Programmatically ping a remote server, host, route, or any network device to see if it is up. aspNetPing fully supports RFC 792 standard.
aspNetPing is physically located in the aspNetDns.dll and is combined with the additional following components
aspNetDns - a complete .DNS Lookup component.
aspNetPing - a complete ICMP/Ping component.
aspNetTraceRoute - a complete TraceRoute component
aspNetWhois - a complete Whois lookup component.
aspNetPing provides the following classes to effortlessly and easily programmatically ICMP enable your .NET applications.
The IcmpPacket class is the basis of aspNetPing. It is builds a binary ICMP packet that is sent by the IcmpClient.
The IcmpClient class is a networking class that sends and receives IcmpPackets and ReplyPackets respectively. Using the IcmpClient class, you can also send asynchronous pings, and ping indefinitely and receive the results in an event driven model.
Built upon the IcmpPacket class, the ReplyPacket class parses ICMP packet replies. aspNetPing categorizes each IcmpPacket into one of the following types, to allow you to troubleshoot network connectivity issues:
Along with each type, aspNetPing also checks codes each packet with one of the following
The ReplyPacketCollection is a strongly typed collection of ReplyPackets. The ReplyPacketCollection allows the developer to easily query the success of a ping, and can store the results in a DataTable for easy databinding. The ReplyPacketCollection also exposes easy to use properties such as
The number of packets received.
The number of packets that timed out.
Minimum milliseconds (shortest time) a packet was received.
Maximum millisends (maximum time) a packet was received.
Average time in milliseconds that a packet was received
The percent of packets lost.