• 
    

      <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
      1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>

        如何抓取域名完整WHOIS信息

        2021-03-07    分類(lèi): 網(wǎng)站建設(shè)

        域名注冊(cè)信息(whois),即域名所有人信息,登記著域名歸屬人信息。既然是信息,就有他的價(jià)值所在。域名注冊(cè)信息對(duì)很有些人來(lái)說(shuō)非常重要,比如玩域名的米農(nóng)們,還有一些公司的銷(xiāo)售們,他們通過(guò)獲取域名的注冊(cè)信息來(lái)聯(lián)系到域名的所有人,可以和他們洽談收購(gòu)域名事宜?亦或者問(wèn)問(wèn)你注冊(cè)了域名要不要找我們做個(gè)網(wǎng)站?哈~反正由于騷擾量太大,所以現(xiàn)在很多人注冊(cè)域名都不留真實(shí)的聯(lián)系方式了。因?yàn)?a target="_blank">域名注冊(cè)信息這塊,注冊(cè)商是不做信息有效性審核的,隨便你填,只要格式正確就可以了。

        但我不關(guān)心他的信息真實(shí)性,既然有人要這信息,我們就要想辦法爬?。【W(wǎng)上有很多查詢(xún)whois信息的軟件,但都不太適合我們的軟件調(diào)用和數(shù)據(jù)分析。所以我們最好還是自己直接抓取比較方便。

        首先我們要了解域名注冊(cè)信息的存儲(chǔ)方式,我個(gè)人的理解是,全求有各大域名whois根服務(wù)器(有點(diǎn)像DNS根服務(wù)器)例如com的whois根服務(wù)器就是:whois.verisign-grs.com 這個(gè)服務(wù)器上存儲(chǔ)這域名的基本信息,包括創(chuàng)建時(shí)間,注冊(cè)時(shí)間,到期時(shí)間等等,比如我們查詢(xún)下今日頭條的域名toutiao.com的域名信息,具體信息如下圖

        每個(gè)后綴的域名的根whois服務(wù)器是固定的,但這里的信息太少,不是我們想要的。那哪里才能查到我們想要的具體信息呢,上圖中,大家注意到?jīng)],其中有條信息叫whois Server,指向了域名注冊(cè)商的whois服務(wù)器:whois.ename.com(易名中國(guó)),這個(gè)服務(wù)器存儲(chǔ)著域名更詳細(xì)的信息,其中就包括了我們想要的域名注冊(cè)人,聯(lián)系方式,郵箱等數(shù)據(jù)。

        到這里,我們的任務(wù)完成了一半了!知道了信息的獲取途徑,下面我們就用程序的方法去獲取吧!

        百度下whois協(xié)議,我們知道了whois協(xié)議通信是用的服務(wù)器43端口。這樣我們利用C#(亦或其他程序)中的SOCKET類(lèi)去和服務(wù)器進(jìn)行通信,協(xié)議方式就是連上43端口后,發(fā)送域名的ASCII編碼,以 (回車(chē)換行符)結(jié)束。成功的話服務(wù)器就會(huì)返回對(duì)應(yīng)域名的信息,C#的通信代碼如下:

        ///

        /// 查詢(xún)域名的 whois 信息

        ///

        /// 要查詢(xún)的域名

        /// whois 服務(wù)器地址

        /// whois 服務(wù)器端口

        ///

        /// 執(zhí)行成功: 返回詳細(xì)的whois信息

        /// 執(zhí)行失?。悍祷叵嗑偷漠惓;蚴清e(cuò)誤信息

        ///

        public static string Tcpwhois(string domain, string server, int port)

        {

        //domain = FunctionServices.getDomain(domain);

        // 連接域名 whois 查詢(xún)服務(wù)器

        TcpClient tcp = new TcpClient();

        tcp.SendTimeout = 10;

        //return string

        string returnstr = "String Error";

        try

        {

        tcp.Connect(server, port);

        }

        catch (SocketException)

        {

        returnstr = "查詢(xún)錯(cuò)誤:連接 whois 服務(wù)器[" + server + "]失敗";

        return returnstr;

        }

        // 向域名 whois 查詢(xún)服務(wù)器發(fā)送查詢(xún)的域名

        try

        {

        //構(gòu)造發(fā)送的字符串

        domain += " ";

        Byte[] DomainBytes = System.Text.Encoding.ASCII.GetBytes(domain.ToCharArray());

        // 將域名發(fā)送到域名 whois 查詢(xún)服務(wù)器

        Stream whoisStream = tcp.GetStream();

        whoisStream.Write(DomainBytes, 0, domain.Length);

        //返回流

        StreamReader whoisStreamReader = new StreamReader(whoisStream, System.Text.Encoding.UTF8);

        StringBuilder whoisInfo = new StringBuilder();

        string whoisLine = null;

        while (null != (whoisLine = whoisStreamReader.ReadLine()))

        {

        whoisInfo.Append(whoisLine + " ");

        }

        returnstr = whoisInfo.ToString();

        }

        catch (Exception)

        {

        returnstr = "查詢(xún)錯(cuò)誤:網(wǎng)絡(luò)無(wú)響應(yīng),或者是您的域名輸入有誤";

        }

        finally

        {

        tcp.Close();

        }

        return returnstr;

        }

        我們就用toutiao.com舉例,通過(guò)這個(gè)代碼,我們可以先連接到com域名的根whois服務(wù)器:whois.verisign-grs.com 來(lái)獲取基本信息,然后對(duì)信息分析,提取想要的信息,如到期時(shí)間等。同時(shí)我們要提取關(guān)鍵的whois SERVER的信息,獲取到結(jié)果:whois.ename.com,同樣的方式,我們?cè)龠B一次這個(gè)whois服務(wù)器,發(fā)送域名,得到域名具體的注冊(cè)信息。至此,我們就獲取到了一個(gè)完整的域名注冊(cè)信息了。

        獲取域名注冊(cè)信息需要注意的以下幾點(diǎn):

        1. 每個(gè)根服務(wù)器返回的信息格式有的時(shí)候并不一樣,這個(gè)就要靠我們?nèi)斯ば路治隽恕5瑐€(gè)服務(wù)器返回的信息格式是一樣的。所以針對(duì)不同的服務(wù)器返回,我們要區(qū)別對(duì)待。

        2. 域名未注冊(cè)時(shí),查詢(xún)的信息返回是未找到,每個(gè)根服務(wù)器返回的也不一樣。有的是“does not exist”,有的是“Not found”,也有的是“No match for”,這個(gè)也挺讓人難受的。對(duì)于這樣的問(wèn)題,我們只有針對(duì)不同的服務(wù)器,去做不同的判斷。主要做一些主流域名.com,.net,.cn的判斷基本就差不多了。

        3. 大多數(shù)域名服務(wù)器的請(qǐng)求頻率是有限制的。所以這里并不推薦多線程大批量獲取域名信息,為了穩(wěn)定,還是單線程設(shè)置個(gè)延時(shí),慢慢的抓吧。

        這里提供一下幾個(gè)主流域名的whois根服務(wù)器供大家測(cè)試,測(cè)試方式是用Telnet 軟件去連接whois服務(wù)器的43端口,連接上之后就可以輸入域名,然后回車(chē),就可以得到域名注冊(cè)信息了。

        域名后綴 whois服務(wù)器
        .com whois.verisign-grs.net
        .net whois.verisign-grs.net
        .cn whois.cnnic.net.cn"
        .org whois.pir.org
        .top whois.nic.top
        .cc whois.nic.cc
        .gov whois.internic.net
        也許大家會(huì)問(wèn)我,為什么不去站長(zhǎng)直接這類(lèi)網(wǎng)站獲取WOHIS信息呢?他們不是提供WEB查詢(xún)接口查詢(xún)么?要知道,起始他們也是最終到whois服務(wù)器去抓取的信息,他們只是緩存下來(lái)給大家查而已。我不想過(guò)于依賴(lài)別人,所以我們還是直接去whois服務(wù)器爬去實(shí)時(shí)的域名注冊(cè)

        信息吧。

        當(dāng)前文章:如何抓取域名完整WHOIS信息
        轉(zhuǎn)載注明:http://www.jbt999.com/news5/104705.html

        成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)、搜索引擎優(yōu)化、建站公司、定制網(wǎng)站、用戶(hù)體驗(yàn)

        廣告

        聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

        網(wǎng)站托管運(yùn)營(yíng)

      2. 
        

          <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
          1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>
            操逼图首页 | 中文字幕乱码中文乱码91 | 骚老汉影音 | 奇米影视狠狠干 | 第一操逼视频 | 97九色| 视频精品福利 | 国产精品久久久久久久久久久久午夜片 | 大香蕉人妻视频 | 大香蕉75 |