我正在爲大學項目製作一個簡單的網絡釣魚掃描工具。我的一個檢測方法包括檢查電子郵件中的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