Tuesday, 26 July 2011

Performing a DNS query using ASP.NET 2.0 and VB .NET


This tutorial will show you how to perform a DNS query using the .NET System.Net class, ASP.NET 2.0 and VB.NET

The .NET Framework offers a number of types that makes accessing networked resources easy.

To perform a DNS query, we will need to first import the System.Net namespace. The System.Net namespace contains the Dns.GetHostByName method, IPHostEntry container class and IPAddress class we will use to perform our DNS query.

imports System.Net;

We moved our web sites to Server Intellect and have found them to be incredibly professional. Their setup is very easy and we were up and running in no time.

We'll put our code in a subroutine called DNSLookup() and call it from the btnSubmit_Click() event.

When the btnSubmit_Click() event fires it calls our DNSLookup() function. This function creates a new instance of the IPHostEntry container class and assigns it a host entry returned from the Dns.GetHostByName method. It then create an array of IPAddress objects using the AddressList of our host entry object. After that, it iterates through each ip and adds it to the text box.

Protected Sub DNSLookup(ByVal domain As String)
Try
'performs the DNS lookup
Dim he As IPHostEntry = Dns.GetHostEntry(domain)
Dim ip_addrs As IPAddress() = he.AddressList
txtIPs.Text = ""
For Each ip As IPAddress In ip_addrs
txtIPs.Text = ip.ToString()

Next ip
Catch ex As System.Exception
lblStatus.Text = ex.ToString()
End Try
End Sub
We have two textboxes, a submit button, and a label on the front end for user interaction. The front end .aspx page looks something like this:

<table>
<tr>
<td align="right" bgcolor="#eeeeee" class="header1">Domain Name:</td>
<td bgcolor="#FFFFFF"><asp:textbox ID="txtDomain" runat="server"></asp:textbox><br />
<asp:button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" /></td>
</tr>
<tr>
<td width="100" align="right" bgcolor="#eeeeee" class="header1">IP Address(es)
Assigned to Domain Name:</td>
<td bgcolor="#FFFFFF"> &nbsp;<br />
<asp:textbox ID="txtIPs" runat="server"></asp:textbox><br />
<br />
<asp:label ID="lblStatus" runat="server"></asp:label></td>
</tr>
</table>

Need help with Windows Dedicated Hosting? Try Server Intellect. I'm a happy customer!

The flow for the code behind page is as follows:

Imports System.Net
Partial Public Class _Default : Inherits System.Web.UI.Page
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs)
DNSLookup(txtDomain.Text)
End Sub

Protected Sub DNSLookup(ByVal domain As String)
Try
'performs the DNS lookup
Dim he As IPHostEntry = Dns.GetHostEntry(domain)
Dim ip_addrs As IPAddress() = he.AddressList
txtIPs.Text = ""
For Each ip As IPAddress In ip_addrs
txtIPs.Text = ip.ToString()

Next ip
Catch ex As System.Exception
lblStatus.Text = ex.ToString()
End Try
End Sub
End Class

Looking for the C#.NET 2005 Version? Click Here!

Looking for more ASP.NET Tutorials? Click Here!

No comments:

Post a Comment