有没有办法在vb.net中使用webclient查询whois服务器?

时间:2013-10-29 06:06:01

标签: vb.net telnet whois

http://www.anta.net/misc/telnet-troubleshooting/whois.shtml表明我们可以使用telnet获取whois服务器

但是,webclient使用get和http协议。

那么如何通过vb.net获取whois呢?

像domainpunch这样的软件可以获得大量的域信息。但是,他们不可能只查询whois服务器,因为大多数服务器都是速率限制的。

也许他们会查询大量的whois服务器。

或者怎么样?

1 个答案:

答案 0 :(得分:1)

简单TcpClient即可。 WhoIs是一个非常简单的协议:您只需连接并发送查询,然后\r\n

示例:

Private Sub Main()
    Dim data = System.Text.Encoding.ASCII.GetBytes("stackoverflow.com" & Microsoft.VisualBasic.vbCr & Microsoft.VisualBasic.vbLf)
    Using client = New TcpClient("whois.name.com", 43),
        stream = client.GetStream()
        stream.Write(data, 0, data.Length)

        data = New Byte(255) {}
        Dim responseData = String.Empty
        Dim read = stream.Read(data, 0, data.Length)
        While read > 0
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, read)
            Console.Write(responseData)
            read = stream.Read(data, 0, data.Length)
        End While
    End Using
End Sub

<强>输出:

__   _                             ____                
| \ | | __ _ _ __ ___   ___       / ___|___  _ __ ___  
|  \| |/ _` | '_ ` _ \ / _ \     | |   / _ \| '_ ` _ \ 
| |\  | (_| | | | | | |  __/  _  | |__| (_) | | | | | |
|_| \_|\__,_|_| |_| |_|\___| (_)  \____\___/|_| |_| |_|
On a first name basis with the rest of the world.


Get your <a href="http://www.name.com">domains</a> at Name.com.


Domain Name:     stackoverflow.com
Registrar:       Name.com LLC

Expiration Date: 2015-12-26 19:18:07
Creation Date:   2003-12-26 19:18:07

Name Servers:
  ns1.serverfault.com
  ns2.serverfault.com

REGISTRANT CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

ADMINISTRATIVE CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

TECHNICAL CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

BILLING CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

Timestamp: 1383039360.9081

The Data in the Name.com LLC WHOIS database is provided by Name.com LLC for information purposes, and to assist persons in obtaining information about or related to a domain name registration record.  Name.com LLC does not guarantee its accuracy.  By submitting a WHOIS query, you agree that you will use this Data only for lawful purposes and that, under no circumstances will you use this Data to:  (1) allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations via e-mail (spam); or (2) enable high volume, automated, electronic processes that apply to Name.com LLC (or its systems). Name.com LLC reserves the right to modify these terms at any time.  By submitting this query, you agree to abide by this policy.

Cached on: 2013-10-29T03:36:00-06:00