Software in Review

Netkit Component for NET

Developer ComponentPro
Category Software Development
Date Added October 18, 2015
Downloads n/a | 27
License Commercial

Editor's rating + + + + +

If you have found a broken link, please contact us

Get Full Version Home Page

Netkit Component for NET
Reviewed by: Diana on 2018-07-01

Comprehensive set of internet components including Proxy, DNS, Trace Route, Ping/ICMP, WhoIs, IP Lookup, and Time

A set of .NET classes that makes the work of querying DNS servers for resource record types defined by RFC-1034 and RFC-1035, and performing domain registration with the WhoIs class more easily. In addition to supporting DNS and WhoIs features, the component also lets you easily find from which countries your visitors are coming from. This can help you prevent credit card fraud, automatically select language, and currency for your visitor and much more benefits. The package also includes TraceRoute and Time components which let you perform Internet Route Tracing to determine network delays and topology, and get exact time from and keep all the computers running your application synchronized with public time servers over the Internet.

Ultimate Netkit's Key Features

DNS Features

• Lookup for Resource Records - Host name to A Record (IP address), MX Record, etc.
• Reversve lookup for PTR Record - IP address to host name
• Supports RFC-1034/RFC-1035
• Retrieve the list of available DNS servers
• Send and receive DNS request and response messages
• Support for IPv6, the next generation Internet protocol
• 100% managed code written in C#
• Support for .NET Full Framework, Xamarin iOS, Mac, Android, Mono, .NET CF, and .NET Core, Standard (will be available soon)

TraceRoute Features

• Instigates route tracing easily
• Sets maximum hops
• Includes complete hop information
• Resolves IP addresses while performing Internet Route Tracing
• Retrieves hops counts, router addresses and names, response time and Time To Live (TTL)
• Fully supports RFC-792
• Echo Reply Message is fully parsed

WhoIs Features

• Fully compliant with RFC-954
• Specify the question to ask
• Request domain registration, user, mailbox and related information

IP Lookup Features

• Easily find from which countries your visitors are coming from
• Show country info and flag

Time (NTP) Features

• Supports the Network Time Protocol (RFC-1305)
• Supports the Time Protocol (RFC-868)
• Supports the Daytime Protocol (RFC-867)
• Supports conversion between NTP time and .NET time
• Supports both SNTP (version 3) and NTP(version 4)
• Provides access to all NTP packet fields

What is DNS?

DNS (English Domain Name System - a system of domain names) is a computer distributed system for obtaining information about domains. It is most often used to obtain an IP address by the host name (computer or device), receiving information about mail routing, serving
nodes for protocols in the domain (SRV record). A distributed DNS database is maintained using a hierarchy of DNS servers that communicate
over a specific protocol.

What is WhoIs?

WHOIS is an application-level network protocol based on the TCP protocol (port 43). The main application is obtaining registration data about owners of domain names, IP-addresses and autonomous systems.

What is NTP?

NTP (English Network Time Protocol) is a network protocol for synchronizing internal clock of a computer with the use of networks with variable latency. The protocol was developed by David L. Mills, a professor at the University of Delaware, in 1985. The version for 2015 is NTPv4. NTP, based on the Marzullo algorithm, uses the UDP protocol for its work and takes into account the transmission time. The NTP system is extremely resistant to changes in the latency of the transmission medium. In version 4 it is able to achieve accuracy of 10 ms (1/100 sec) when working through the Internet, and up to 0.2 ms (1/5000 s) and better within local networks.

Creating project using the Netkit component

Let's create a simple WPF application using the Netkit component

We will need to add links to our project. Therefore, click  on "Links" and select "Add link"

We will need to select such links - ComponentPro.Time.dll, ComponentPro.Common.dll, ComponentPro.TraceRoute.dll and ComponentPro.WhoIs.dll. Which, I remind, are in the Extensions.

Work with Code

As the example, we will query the time data using the NtpTimeClient class

NtpTimeClient ntpTimeClient = new NtpTimeClient();
WriteLine("Connecting to time server {0}...", cbxServer.Text);
ntpTimeClient.ServerName = cbxServer.Text;
NtpMessage m = ntpTimeClient.GetTime();
WriteLine("Server's time: {0}", DateTime.Now.Add(m.TimeOffset.ToTimeSpan()));
WriteLine("Server's NTP Version: {0}", m.ProtocolVersion);
WriteLine("Sent at: {0} UTC", m.OriginateTimestamp);
WriteLine("Received at: {0} UTC", m.DestinationTimestamp);
WriteLine("Server's Stratum: {0}", m.Stratum);
WriteLine("Ntp Message Mode: {0}", m.Mode);
WriteLine("Poll Interval: {0}", m.PollInterval);

As a result, the application will look like this:

Also consider another example using WhoIs. The code with all event handlers is shown below:

if (txtAddress.Text.Length == 0)
MessageBox.Show("Please enter a domain name to query");
WhoIsClient domainWhoIsClient = new WhoIsClient();
if (txtWhoIsServer.Text.Length > 0)
// Reset the list of Whois servers.
// And use only the specified whois server.
domainWhoIsClient.WhoIsServers.Add(new WhoIsServer(txtWhoIsServer.Text, 43, "*.*", "no match"));
// Download the whois server from the resources in ComponentPro.WhoIs.dll
txtInfo.Text = string.Empty;
domainWhoIsClient.LookupCompleted += domainWhoIsClient_LookupCompleted;
// Asynchronously perform a search.

And also look at the event handler domainWhoIsClient_LookupCompleted

private void domainWhoIsClient_LookupCompleted(object sender, ExtendedAsyncCompletedEventArgs e)
WhoIsClient domainWhoIsClient = (WhoIsClient)sender;            
if (e.Error != null)
Exception ex = e.Error;
if (ex.InnerException != null)
ex = ex.InnerException;
MessageBox.Show("Error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Stop);
DomainLookupResult info = e.Result;
if (info != null)
if (info.Result.Trim().Length == 0)
MessageBox.Show("Response from the server is empty", "WhoIs", MessageBoxButton.OK, 
txtInfo.Text = info.Result;
MessageBox.Show("No Domain Extension matches for this domain", "WhoIs", MessageBoxButton.OK, 

As a result, the application will look like this:

Conclusions and recommendations

With a package like Netkit, which includes another 4 classes for working with the network and checking various addresses and domains, you will be able to do a lot of things in your application, because the libraries give you the freedom to create and support powerful functionality, literally for a small amount of code and simple architecture of classes. Let me remind you that the component also makes it easy to find out which countries your visitors come from. This can help you prevent credit card fraud, automatically choose the language and currency for your visitor and get much more benefits

If you have found a broken link, please contact us

Get Full Version Home Page

Write your comment
Your Name:
Please enter the word above
into the Control box.
Featured Product
Mobile Device Lockdown. With SureLock, you can allow only desired applications to run on the device and only admin can access the password protected settings to either modify lockdown configurations or exit the lockdown.

Categories Tree
Operating Systems
Recently Added Developers
Products Archive
«        December 2020        »

Copyright © 2008-2017 TheDownloadPlanet, Inc. All Rights Reserved Terms of Use »  Disclaimer »  Privacy Policy »  Our Partners Free software - Pages in the main Google index, Pages in the supplemental Google index and Supplemental Ratio(!less is better!). Click image for more detailed information.