В этом уроке мы покажем вам, как получить серверы имен веб-сайта с помощью команды Java + dig.
1. Использование команды Dig
1.1 В Linux мы можем использовать команда dig
для запроса DNS-поиска веб-сайта, например:
$ dig any mkyong.com //... mkyong.com. 299 IN A 162.159.x.x mkyong.com. 299 IN A 198.41.x.x mkyong.com. 299 IN MX 10 aspmx2.googlemail.com. mkyong.com. 299 IN MX 10 aspmx3.googlemail.com. mkyong.com. 299 IN MX 1 aspmx.l.google.com. mkyong.com. 299 IN MX 5 alt1.aspmx.l.google.com. mkyong.com. 299 IN MX 5 alt2.aspmx.l.google.com. mkyong.com. 21599 IN NS max.ns.cloudflare.com. mkyong.com. 21599 IN NS erin.ns.cloudflare.com. ;; Query time: 246 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Mar 18 08:35:24 Malay Peninsula Standard Time 2014 ;; MSG SIZE rcvd: 387
P.S То копать это встроенная команда на *nix, устанавливать не нужно.
1.2 В Windows вам необходимо установить пакет BIND ( (zip-файл) из isc.org , и
большой команда находится внутри zip-файла. После извлечения загруженного zip-файла установите папку "привязать" к переменной среды, чтобы вы могли использовать команду
dig
C:\> dig +short NS mkyong.com max.ns.cloudflare.com. erin.ns.cloudflare.com.
2. Пример DNS Java
В Java мы можем вызвать внешнюю команду dig
, чтобы легко получить серверы имен.
package com.mkyong.shell; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ShellCommand { public static void main(String args[]) { ShellCommand shell = new ShellCommand(); String result = shell.run("dig +short NS mkyong.com"); System.out.println(result); } public String run(String command) { StringBuilder sb = new StringBuilder(); BufferedReader reader = null; Process p; try { p = Runtime.getRuntime().exec(command); p.waitFor(); reader = new BufferedReader( new InputStreamReader(p.getInputStream())); String line = ""; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } } catch (Exception e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return sb.toString(); } }
Выход
max.ns.cloudflare.com. erin.ns.cloudflare.com.
3. Получить почтовые серверы
Кроме того, вы можете использовать “MX” для получения почтовых серверов.
C:\> dig +short MX mkyong.com 10 aspmx2.googlemail.com. 5 alt2.aspmx.l.google.com. 5 alt1.aspmx.l.google.com. 1 aspmx.l.google.com. 10 aspmx3.googlemail.com.
Рекомендации
- 10 Примеров команд Linux DIG для поиска DNS
- Википедия: Копать (команда)
- Официальный сайт DNSJava
- Как Выполнить Команду Оболочки Из Java
Оригинал: “https://mkyong.com/java/java-get-nameservers-of-a-website/”