有关Whois服务器回复的详细信息

时间:2011-06-14 19:47:53

标签: .net c++-cli whois

背景

今天我想测试 WHOIS 查询和响应协议是如何工作的,我在Wiki上阅读了一些信息并开始编写代码。 5分钟后,我有完整的工作代码,但我有一些问题,我想与你分享。

代码

这是一个简单的代码,可以向给定的whois.iana.org网址发出请求,并从中获取回复。例如,我在这里请求vitobrothersoft.com并获得回复。现在主要的问题不是这一切是如何运作的,这对我来说是可以理解的。在测试此部分代码时,我更改了请求域whois.iana.orgcom.whois-servers.netwhois.verisign-grs.com,并且在某些方面,回复在某些方面是相同的。你可以看到回复的例子。

#include "stdafx.h"

using namespace System;

#define PORT 43

int main(array<System::String ^> ^args)
{
    System::Net::Sockets::TcpClient^ client = gcnew System::Net::Sockets::TcpClient("whois.iana.org", PORT);

    if( client != nullptr ) {

        System::String^ formatedDomain = "vitobrothersoft.com" + "\r\n";
        System::Text::Encoding^ ascii  = System::Text::Encoding::ASCII;
        array<System::Byte>^ byteUrl   = ascii->GetBytes(formatedDomain);

        System::IO::Stream^ stream = client->GetStream();

        // Write formatted URL to stream.
        stream->Write( byteUrl, 0, formatedDomain->Length );

        System::IO::StreamReader^ streamReader = gcnew System::IO::StreamReader( stream, System::Text::Encoding::ASCII );

        Console::Write( streamReader->ReadToEnd( ) );
    }
}

回复示例

[Querying com.whois-servers.net]
[com.whois-servers.net]

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Domain Name: EXAMPLE.COM
   Registrar: RESERVED-INTERNET ASSIGNED NUMBERS AUTHORITY
   Whois Server: whois.iana.org
   Referral URL: http://res-dom.iana.org
   Name Server: A.IANA-SERVERS.NET
   Name Server: B.IANA-SERVERS.NET
   Status: clientDeleteProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Updated Date: 26-mar-2004
   Creation Date: 14-aug-1995
   Expiration Date: 13-aug-2011

>>> Last update of whois database: Tue, 17 Aug 2010 02:23:52 UTC <<<

问题

我想知道

  1. 不同服务(网址)之间有什么区别?
  2. 状态可以有多少值(clientDeleteProhibited,clientTransferProhibited,clientUpdateProhibited)?
  3. 我需要有关回复文字的每个字段的完整信息

3 个答案:

答案 0 :(得分:0)

全球化志愿服务青年

答案 1 :(得分:0)

whois.iana.org 是root whois服务器,它返回您指定的区域的whois服务器,例如.com,.net,.us,.ca等;对于每个区域whois服务器是不同的,并且诀窍是关于域信息的回复文本/格式在任何地方都不相同。请参阅google.us和google.ca的响应格式示例:
http://domain-records-lookup.com/whois/google.us
http://domain-records-lookup.com/whois/google.ca
还有 rfc3912 for whois可能对你有所帮助。

答案 2 :(得分:0)

请查看我的其他2个答案,它们将为您提供有关您的第一点的更多信息:

对于状态值,它又取决于TLD,但对于通用顶级域名(gTLD),请查看:https://www.icann.org/epp,其中包含完整的状态和说明列表。

至于每个字段的解释,这又取决于TLD,但对于通用顶级域名,您可以在此处找到答案:https://www.icann.org/rdds-labeling-display

对于其他TLD,您需要在相关的注册网站上搜索文档。