酷米网(kmw.com),专注高端域名快速交易!

  1. 当前位置: 
  2. 首页 > 
  3. 域名资讯  > 用VB.net和ASP.net实现Whois.aspx查询系统
服务器时间:2018-07-19 17:57:27 (CST +08:00)

用VB.net和ASP.net实现Whois.aspx查询系统

2017-12-17 17:33:28     浏览量: 39

[原创]用VB.net和ASP.net实现Whois.aspx查询系统
文章标题:[原创]用VB.net和ASP.net实现Whois.aspx查询系统顶部 dream2fly 发布于:2006-04-0218:08 [楼主][原创]用VB.net和ASP.net实现Whois.aspx查询系统
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
文章作者:swords[E.S.T]

你想知道是谁在攻击你吗?你想知道网站的所有者吗?你想进行旁注攻击吗?这一切可以用一个工具轻松搞定----whois查询。(先吹下)今天我将让你看怎样实现所谓WHOIS,用vb.net和ASP.NET书写Whois.Aspx查询系统,来简单实现whois查询的功能,希望能够抛砖引玉。

关于WHOIS
WHOIS既是一种协议,也是一种服务,使用WHOIS,就能透过Internet查询域名可用性,或者查明谁拥有这个域名,获知该域的已注册拥有者的信息(包括姓名、地址、联系信息等等),那我们就来看看如何在.NET框架中实现WHOIS。
一般来说,每当你做WHOIS查找时,你询问登记信息被保存的某种数据库。不过,WHOIS数据库没被集中,因此实际域记录一般不可以从一台单个的WHOIS服务器中获得(记录域名的组织管理WHOIS服务器)。
通常,WHOIS服务器在43端口上通过TCP接受连接,因此如果我们使用这个端口,我们就能与服务器联系。我有一份WHOIS服务器的详细一览表,请访问http://wmjie.51.net/swords/blog/index.php?action=show&id=104

导入.NET名字空间
.Netframework提供了一个TcpClient类(System.Net.Socketsnamespace),属于System.Net.Sockets名称空间,TcpClient类对TCP操作进行了抽象化,因而通过指定的TCP43端口建立连接、发送TCP请求和获取TCP返回值等操作都被简化了。用它我们就可以来连接WHOIS服务器直接获取域名注册信息。
首先我们需要用Imports语句导入System,,System.Net,System.IO和System.Net.Sockets名字空间:

<@ImportNamespace=System>
<@ImportNamespace=System.Net>
<@ImportNamespace=System.IO>
<@ImportNamespace=System.Net.Sockets>

连接whois服务器
TcpClient类提供了连接connecting,发送sending和接受receiving数据的方法,有两种方法可以连接远程服务器:
法一:初始化一个无参数的TcpClient类,然后再提供主机名和端口用Connect方法连接
DimWhoIsClientAsNewTcpClient()
WhoIsClient.Connect(request.form("WhoisServer"),43)
法二:直接用主机名和端口初始化TcpClient,这样会进行自动化连接:
DimWhoIsClient=newTcpClient(request.form("WhoisServer"),43)

开始发出查询
在我们已经成功连接WHOIS服务器之后,下一步将送出我们的域名查询。
首先我们定义一个字符串变量Hostname,它接受我们想要查的域名。注意,我们一定要在末尾加上vbcrlf,因为那是WHOIS服务器期望的形式(如果不加vbcrlf,相当于回车,则会进入假死状态.如果用c#编写,一定要在