Я делаю простой инструмент для фишинга для университетского проекта. Один из моих методов обнаружения включает проверку правильности 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
Из некоторого чтения мне было предложено использовать WHOIS. Мне было интересно, есть ли центральный источник, который я могу использовать через java. В идеале это не было бы слишком хлопотно, поскольку это была лишь небольшая особенность приложения. – Giannis
Центрального источника нет. Каждый реестр доменов использует собственные серверы WHOIS, и большинство (все?) Регистраторов доменов также управляют собственным сервером WHOIS. Хуже всего то, что некоторые реестры домена вообще не работают. И, как я уже сказал, их выходные форматы в основном разные. – Celada