用VB.net和ASP.net實(shí)現(xiàn)Whois.aspx查詢系統(tǒng)
[原創(chuàng)]用VB.net和ASP.net實(shí)現(xiàn)Whois.aspx查詢系統(tǒng)文章標(biāo)題:[原創(chuàng)]用VB.net和ASP.net實(shí)現(xiàn)Whois.aspx查詢系統(tǒng)頂部 dream2fly 發(fā)布于:2006-04-
[原創(chuàng)]用VB.net和ASP.net實(shí)現(xiàn)Whois.aspx查詢系統(tǒng)
文章標(biāo)題:[原創(chuàng)]用VB.net和ASP.net實(shí)現(xiàn)Whois.aspx查詢系統(tǒng)頂部 dream2fly 發(fā)布于:2006-04-0218:08 [樓主][原創(chuàng)]用VB.net和ASP.net實(shí)現(xiàn)Whois.aspx查詢系統(tǒng)
信息來源:邪惡八進(jìn)制信息安全團(tuán)隊(duì)(www.eviloctal.com)
文章作者:swords[E.S.T]
你想知道是誰在攻擊你嗎?你想知道網(wǎng)站的所有者嗎?你想進(jìn)行旁注攻擊嗎?這一切可以用一個工具輕松搞定----whois查詢。(先吹下)今天我將讓你看怎樣實(shí)現(xiàn)所謂WHOIS,用vb.net和ASP.NET書寫Whois.Aspx查詢系統(tǒng),來簡單實(shí)現(xiàn)whois查詢的功能,希望能夠拋磚引玉。
關(guān)于WHOIS
WHOIS既是一種協(xié)議,也是一種服務(wù),使用WHOIS,就能透過Internet查詢域名可用性,或者查明誰擁有這個域名,獲知該域的已注冊擁有者的信息(包括姓名、地址、聯(lián)系信息等等),那我們就來看看如何在.NET框架中實(shí)現(xiàn)WHOIS。
一般來說,每當(dāng)你做WHOIS查找時(shí),你詢問登記信息被保存的某種數(shù)據(jù)庫。不過,WHOIS數(shù)據(jù)庫沒被集中,因此實(shí)際域記錄一般不可以從一臺單個的WHOIS服務(wù)器中獲得(記錄域名的組織管理WHOIS服務(wù)器)。
通常,WHOIS服務(wù)器在43端口上通過TCP接受連接,因此如果我們使用這個端口,我們就能與服務(wù)器聯(lián)系。我有一份WHOIS服務(wù)器的詳細(xì)一覽表,請?jiān)L問http://wmjie.51.net/swords/blog/index.php?action=show&id=104
導(dǎo)入.NET名字空間
.Netframework提供了一個TcpClient類(System.Net.Socketsnamespace),屬于System.Net.Sockets名稱空間,TcpClient類對TCP操作進(jìn)行了抽象化,因而通過指定的TCP43端口建立連接、發(fā)送TCP請求和獲取TCP返回值等操作都被簡化了。用它我們就可以來連接WHOIS服務(wù)器直接獲取域名注冊信息。
首先我們需要用Imports語句導(dǎo)入System,,System.Net,System.IO和System.Net.Sockets名字空間:
<@ImportNamespace=System>
<@ImportNamespace=System.Net>
<@ImportNamespace=System.IO>
<@ImportNamespace=System.Net.Sockets>
連接whois服務(wù)器
TcpClient類提供了連接connecting,發(fā)送sending和接受receiving數(shù)據(jù)的方法,有兩種方法可以連接遠(yuǎn)程服務(wù)器:
法一:初始化一個無參數(shù)的TcpClient類,然后再提供主機(jī)名和端口用Connect方法連接
DimWhoIsClientAsNewTcpClient()
WhoIsClient.Connect(request.form("WhoisServer"),43)
法二:直接用主機(jī)名和端口初始化TcpClient,這樣會進(jìn)行自動化連接:
DimWhoIsClient=newTcpClient(request.form("WhoisServer"),43)
開始發(fā)出查詢
在我們已經(jīng)成功連接WHOIS服務(wù)器之后,下一步將送出我們的域名查詢。
首先我們定義一個字符串變量Hostname,它接受我們想要查的域名。注意,我們一定要在末尾加上vbcrlf,因?yàn)槟鞘荳HOIS服務(wù)器期望的形式(如果不加vbcrlf,相當(dāng)于回車,則會進(jìn)入假死狀態(tài).如果用c#編寫,一定要在