域名的种类
(1)country-code:
国家/地区顶级域名(ccTLD:Country Code Top Level Domain)
(2)generic:
通用顶级域名 (gTLD:generic Top Level Domain)
(3)generic-restricted:
有限制的通用顶级域名(需要审核)
(4)infrastructure:
基础组织顶级域名(iTLD:Infrastructure TLD)
(5)sponsored:
组织顶级渔民sTLD
(6)test:
国际化域名(IDN TLD)
IANA
IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)是负责协调一些使Internet正常运作的机构。
WHOIS服务器
WHOIS服务器是一个基于"查询/响应"的TCP事务服务器,它运行在SRI-NIC机器上(26.0.0.73或10.0.0.51),向用户提供internet范围内的目录服务。本地主机上的用户程序可以通过Internet访问该服务器,其过程主要有下面三步:
(1)在TCP服务端口43(十进制)连接SRI-NIC服务主机;
(2)发送一个命令,以回车和换行(<CRLF>)结尾;
(3)接受相应命令的返回信息,一旦输出结束,服务器将关闭连接。
命令的格式非常简单。可以直接输入域名,例如,可以使用"sohu.com"查询"搜狐"网站的域名信息;也可以使用"help"得到具体的帮助信息。
通过Java的Socket类实现
public class Whois {
private static final int DEFAULT_PORT = 43;
public String query(String domain) throws Exception {
String server = "";
String tld = getTLD(domain);
if ("com".equals(tld)) {
server = "whois.verisign-grs.com";
} else if ("net".equals(tld)) {
server = "whois.verisign-grs.com";
} else if ("org".equals(tld)) {
server = "whois.pir.org";
} else if ("cn".equals(tld)) {
server = "whois.cnnic.cn";
} else if ("jp".equals(tld)) {
server = "whois.jprs.jp";
} else if ("kr".equals(tld)) {
server = "whois.kr";
}
return query(domain, server);
}
public String query(String domain, String server) throws Exception {
Socket socket = new Socket(server, DEFAULT_PORT);
String lineSeparator = "\r\n";
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.println(domain);
out.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
StringBuilder ret = new StringBuilder();
String line;
while ((line = in.readLine()) != null) {
ret.append(line + lineSeparator);
}
socket.close();
return ret.toString();
}
private String getTLD(String domain) {
final int index;
return (domain == null || (index = domain.lastIndexOf('.') + 1) < 1) ? domain
: (index < (domain.length())) ? domain.substring(index) : "";
}
public static void main(String[] args) throws Exception {
Whois w = new Whois();
System.out.println(w.query("baidu.com"));
System.out.println(w.query("csdn.net"));
System.out.println(w.query("apache.org"));
System.out.println(w.query("360.cn")); //china
System.out.println(w.query("mixi.jp")); //japan
System.out.println(w.query("laneige.co.kr")); //korea
}
}
【附录A】目前的顶级域名及WHOIS服务器一览:
来源:
http://www.iana.org/domains/root/db
【附录B】目前的IPv4分配及WHOIS服务器一览:
来源:
http://www.iana.org/assignments/ipv4-address-space
【附录C】全球IP地址分配组成图
- 大小: 454.1 KB
- 大小: 231.6 KB
- 大小: 34.8 KB
分享到:
相关推荐
以下资源提供有关获取代码和设置正在运行的系统的信息: 查看 和 的源代码 ,对于任何其他问题 如果您正在考虑使用我们的平台运行生产注册服务,请访问用户组并介绍您自己和您的用例。 要报告问题或做出贡献,请使用...
1.获取域名的 whois 信息,获取注册者邮箱姓名电话等。 2.通过站长之家、明小子、k8、站长之家等查询服务器旁站以及子域名站点,因为主站一般 比较难,所以先看看旁站有没有通用性的 cms 或者其他漏洞。 3、通过 DNS ...
20.2.5 注册域名 218 20.3 IP配置 218 20.4 配置路由表 218 20.5 异种协议的IP封装 219 20.6 小结 220 第21章 Windows 98 221 21.1 Windows 98网络体系结构 221 21.1.1 安装网卡 222 21.1.2 更改网卡配置 224 21.1.3...
20.2.5 注册域名 218 20.3 IP配置 218 20.4 配置路由表 218 20.5 异种协议的IP封装 219 20.6 小结 220 第21章 Windows 98 221 21.1 Windows 98网络体系结构 221 21.1.1 安装网卡 222 21.1.2 更改网卡配置 224 21.1.3...
20.2.5 注册域名 218 20.3 IP配置 218 20.4 配置路由表 218 20.5 异种协议的IP封装 219 20.6 小结 220 第21章 Windows 98 221 21.1 Windows 98网络体系结构 221 21.1.1 安装网卡 222 21.1.2 更改网卡配置 224 21.1.3...
20.2.5 注册域名 218 20.3 IP配置 218 20.4 配置路由表 218 20.5 异种协议的IP封装 219 20.6 小结 220 第21章 Windows 98 221 21.1 Windows 98网络体系结构 221 21.1.1 安装网卡 222 21.1.2 更改网卡配置 224 21.1.3...
20.2.5 注册域名 218 20.3 IP配置 218 20.4 配置路由表 218 20.5 异种协议的IP封装 219 20.6 小结 220 第21章 Windows 98 221 21.1 Windows 98网络体系结构 221 21.1.1 安装网卡 222 21.1.2 更改网卡配置 224 21.1.3...
1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 10 1.11 RFC 10 1.12 标准的简单服务 11 1.13 互联网 12 1.14 实现 12 1.15 应用编程接口 12 1.16 测试网络 13 1.17 小...
TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13...