我正在为大学项目制作一个简单的网络钓鱼扫描工具。我的一个检测方法包括检查电子邮件中的DNS是否有效,我也想检查他们的年龄。这是我如何检查,如果他们是现有的示例代码:通过Java检查域名年龄
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import java.util.Hashtable;
public class DNSExample {
static int doLookup(String hostName) throws NamingException {
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"com.sun.jndi.dns.DnsContextFactory");
DirContext ictx = new InitialDirContext(env);
Attributes attrs =
ictx.getAttributes(hostName, new String[] { "MX" });
Attribute attr = attrs.get("MX");
if(attr == null) return(0);
return(attr.size());
}
public static void main(String args[]) {
String [] array = {"google.com","dsad33114sssaxzx.com"} ;
for(int i = 0; i < array.length; i++) {
try {
System.out.println(array[i] + " has " +
doLookup(array[i]) + " mail servers");
}
catch(Exception e) {
System.out.println(array[i] + " : " + e.getMessage());
}
}
}
}
我怎么会需要修改上面的代码包括 年龄存在服务器支票?
您是否想过通过WHOIS获取此信息?如果是这样,不同的WHOIS服务器在输出格式上出现了不一致的情况,所以你最终会得到很多不同的模式来解析。 – Celada 2013-03-02 01:24:36
从我读过的一些文章中,我建议使用WHOIS。我想知道是否有一个我可以通过java使用的中央源。理想情况下,它不会太麻烦,因为它只是应用程序的一个小特征。 – Giannis 2013-03-02 01:25:49
没有中央资源。每个不同的域名注册管理机构都拥有自己的WHOIS服务器,大多数(所有?)域名注册机构也都运行他们自己的WHOIS服务器。最糟糕的是,一些域名注册管理机构可能根本就没有运营一个。而且,正如我所说的,他们的输出格式大多完全不同。 – Celada 2013-03-02 01:37:40