|
|
首先本文来自:
http://www.woai.it/293.html
近来有不少网友问我,如何做个域名查询工具?可查任何域名。
我说个大概原理吧,具体还得要大家自己去操作,这里我用python语言写一个简单的:
代码如下:
import socket
import time
def wr(domain):
output = open('domain.txt', 'a')
try:
output.write(domain)
finally:
output.close()
def whois(d):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('whois.nic.gl',43))
s.send(str(d)+"\r\n")
while 1:
v=s.recv(1024)
if 'No Object Found' in v:
print d +" FALSE \r\n"
wr( d +" FALSE \r\n")
break
else:
print v+" TRUE"
break
s.close()
k="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
k2=k.split(",")
for i in xrange(0,len(k2)):
for i2 in xrange(0,len(k2)):
whois(str(k2)+str(k2[i2])+".gl")
time.sleep(10)
#whois("adfsdfa.ca")
现在我们来分析一下代码:
def wr()这个是把查询到的未注册域名写入TXT文档
def whois()这个是主方法
下面的是历遍所有两位英文gl域名方法!
我们来着重分析一下def whois()这个函数。
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)初始化SOCKet连接
s.connect(('whois.nic.gl',43))连接gl域名whois服务器,端口一般是43.whois.nic.gl这个是gl域名的whois服务器
可到whois.iana.org 这里查询
查询到refer: whois.nic.gl这里就是whois服务器
s.send(str(d)+"\r\n")这个是发送查询指令
下面就是接收并分析了,这里只接收1024字节,对于只查询是否已经注册,已经足够了。
如果要查询到期时间,就要接收2048,当然也可以全部接收完,但不是这里的目的。
if 'No Object Found' in v:如果包含No Object Found这个字符串的就是未注册的,写入TXT文本 |
|