Есть ли команда для выполнения только поиска DNS по имени домена?

Это стандартная процедура, чтобы сделать sed не жадным и с обратной ссылкой подсказкой для подстроки (строк) в скобках ()

sed 's/\(\"[^",]\{1,\}\),\([^",]\{1,\}\"\)/\1 | \2/g'

Или для GNU sed

sed -r 's/("[^",]+),([^",]+")/\1 | \2/g'
0
27.05.2018, 11:06
4 ответа

Depende de qué quiere decir exactamente con "solo" (en comparación con qué línea de base. ).host(de las herramientas de enlace -o el paquete de utilidades de enlace -)es bastante conciso en su salida, pero todavía tiene un poco de texto -legible por humanos a su alrededor:

[0 1016 8:16:41] ~ % host unix.stackexchange.com
unix.stackexchange.com has address 151.101.129.69
unix.stackexchange.com has address 151.101.193.69
unix.stackexchange.com has address 151.101.65.69
unix.stackexchange.com has address 151.101.1.69

Parte del "problema" es que pueden ocurrir más casos en los que necesitaría señalar en la salida y/o código de retorno, como :Fallo del servidor DNS, entradas CNAME (es decir, "linux.example.com es lo que sea unix.example.com, mira allí"):

[0 1018 8:17:36] ~ % host www.latimes.com
www.latimes.com is an alias for 32975.edgekey.net.
32975.edgekey.net is an alias for e11929.e12.akamaiedge.net.
e11929.e12.akamaiedge.net has address 23.219.130.10
e11929.e12.akamaiedge.net has address 23.219.130.8

y probablemente muchos más.

2
28.01.2020, 02:13

Otra herramienta de consulta de DNS, dig, es muy detallada de forma predeterminada, pero si la usa como dig +short, obtiene solo las respuestas, una por línea:

$ dig +short unix.stackexchange.com
151.101.65.69
151.101.193.69
151.101.129.69
151.101.1.69

$ dig +short www.latimes.com
32975.edgekey.net.
e11929.e12.akamaiedge.net.
2.22.63.16
2.22.63.11

Si el dominio solicitado no existe, simplemente no devuelve nada:

$ dig +short gbnjk.com
$
5
28.01.2020, 02:13

Las herramientas habituales de herramientas simples son:

$ host unix.stackexchange.com
unix.stackexchange.com has address 151.101.1.69
unix.stackexchange.com has address 151.101.65.69
unix.stackexchange.com has address 151.101.129.69
unix.stackexchange.com has address 151.101.193.69

$  nslookup unix.stackexchange.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   unix.stackexchange.com
Address: 151.101.1.69
Name:   unix.stackexchange.com
Address: 151.101.65.69
Name:   unix.stackexchange.com
Address: 151.101.129.69
Name:   unix.stackexchange.com
Address: 151.101.193.69

El host proviene de ISC sin vincular en el paquete de host bind9 -. Tanto dig como nslookup provienen del paquete dnsutils. Si necesita otras herramientas dirigidas a un análisis más detallado de DNS, existedig(de bind). Se da una respuesta breve con la opción +short(eliminar para obtener una respuesta más detallada):

$ dig +short unix.stackexchange.com
151.101.1.69
151.101.65.69
151.101.129.69
151.101.193.69

O perforar (desde sin consolidar):

$ drill @1.1.1.1 unix.stackexchange.com
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 48240
;; flags: qr rd ra ; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; unix.stackexchange.com.      IN      A

;; ANSWER SECTION:
unix.stackexchange.com. 250     IN      A       151.101.1.69
unix.stackexchange.com. 250     IN      A       151.101.65.69
unix.stackexchange.com. 250     IN      A       151.101.129.69
unix.stackexchange.com. 250     IN      A       151.101.193.69

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 3 msec
;; SERVER: 1.1.1.1
;; WHEN: Sun May 27 10:16:27 2018
;; MSG SIZE  rcvd: 104

Tenga cuidado con la excavación y especialmente con la confianza en las respuestas de los ejercicios si no sabe cómo establecer anclas de confianza. Ambas herramientas están lejos de ser simples.

Relacionado perforar si puede, excavar si es necesario, nslookup si es necesario

1
28.01.2020, 02:13

Sí, hay varios.

Herramientas ISC y varios sabores dehost

Las herramientas que acompañan a BIND de ISC son hosty dig. Puede ver su funcionamiento, incluido el modo corto de dig, en otras respuestas aquí.

Sin embargo, el ISC no es la única fuente de una herramienta host.

  • Knot DNS viene con su propia herramienta khost. En Debian, esto está empaquetado en el paquete knot-hostque también proporciona un enlace simbólico que lo hace accesible como hosttambién.
    % host unix.stackexchange.com.
    unix.stackexchange.com. has IPv4 address 151.101.1.69
    unix.stackexchange.com. has IPv4 address 151.101.65.69
    unix.stackexchange.com. has IPv4 address 151.101.129.69
    unix.stackexchange.com. has IPv4 address 151.101.193.69
    Host unix.stackexchange.com. has no AAAA record
    Host unix.stackexchange.com. has no MX record
    % 
  • Proporciono una herramienta hostpara usar con el conjunto de herramientas djbwares , que también proporciono en forma de un paquete djbdns-hostDebian. Es un envoltorio delgado alrededor de las herramientas de consulta nativas de djbdns. A diferencia de las herramientas Knot e ISC host, que, como puede ver en lo anterior, realizan múltiples transacciones en algunos casos, siempre realiza solo una transacción de DNS.
    % host unix.stackexchange.com.
    1 unix.stackexchange.com:
    104 bytes, 1+4+0+0 records, response, noerror
    query: 1 unix.stackexchange.com
    answer: unix.stackexchange.com 300 A 151.101.1.69
    answer: unix.stackexchange.com 300 A 151.101.65.69
    answer: unix.stackexchange.com 300 A 151.101.129.69
    answer: unix.stackexchange.com 300 A 151.101.193.69
    %
    % host gbnjk.com
    1 gbnjk.com:
    27 bytes, 1+0+0+0 records, response, authoritative, nxdomain
    query: 1 gbnjk.com
    % 

Herramientas de Daniel J. Bernstein

Las herramientas de consulta nativas de djbdns son dnsq, dnsqr, dnsqrx, dnsname, dnsnamex, dnsmx, dnsip, dnsipq, dnstxty dnstrace. Hay muchos de ellos porque se dividen en tres categorías:

Como se mencionó anteriormente, las herramientas -legibles por humanos realizan solo una transacción DNS e imprimen el contenido de la respuesta del servidor DNS relevante (diferentes herramientas que se adaptan a tipos específicos de servidor DNS, contenido o proxy).

% dnsqr ns stackexchange.com.
2 stackexchange.com:
170 bytes, 1+4+0+0 records, response, noerror
query: 2 stackexchange.com
answer: stackexchange.com 170156 NS ns-1029.awsdns-00.org
answer: stackexchange.com 170156 NS ns-925.awsdns-51.net
answer: stackexchange.com 170156 NS ns-cloud-d1.googledomains.com
answer: stackexchange.com 170156 NS ns-cloud-d2.googledomains.com
% 
% dnsq ns stackexchange.com. ns-925.awsdns-51.net.                                                         /package/admin/djbwares [pts/4.10022.1]
2 stackexchange.com:
170 bytes, 1+4+0+0 records, response, authoritative, noerror
query: 2 stackexchange.com
answer: stackexchange.com 172800 NS ns-1029.awsdns-00.org
answer: stackexchange.com 172800 NS ns-925.awsdns-51.net
answer: stackexchange.com 172800 NS ns-cloud-d1.googledomains.com
answer: stackexchange.com 172800 NS ns-cloud-d2.googledomains.com
% 
% dnsqr a gbnjk.com
1 gbnjk.com:
27 bytes, 1+0+0+0 records, response, authoritative, nxdomain
query: 1 gbnjk.com
% 

Las herramientas analizables de la máquina -están diseñadas para usarse en scripts de shell. No saturan sus salidas con cosas adicionales como "tiene una dirección ipv4" o "responde :", y sus salidas están bien definidas -. dnsipqsiempre imprime una sola línea (que posiblemente esté en blanco )para cada nombre de entrada o sale con un código de falla, por ejemplo. dnsnamexsiempre imprime una sola línea (que posiblemente esté en blanco o contenga múltiples espacios -nombres separados )para cada dirección IP de entrada, para otro ejemplo.

% dnsip unix.stackexchange.com. unix.stockexchange.com.
151.101.129.69 151.101.193.69 151.101.1.69 151.101.65.69 

% 
% dnsnamex `dnsip unix.stackexchange.com.`




% 
% dnsmx unix.stackexchange.com.
0 unix.stackexchange.com
% 
% dnsmx stackexchange.com.
1 aspmx.l.google.com
5 alt1.aspmx.l.google.com
5 alt2.aspmx.l.google.com
10 alt3.aspmx.l.google.com
10 alt4.aspmx.l.google.com
% 

Como puede ver, están orientados a realizar búsquedas de DNS para tareas específicas en lugar de realizar solo una transacción de DNS de un tipo específico. dnsmx, por ejemplo, informa dónde los MTS deben transmitir el correo SMTP y en qué orden lo intentan, en una máquina -analizable con un resultado --por -espacio en blanco de línea -de forma separada; recopilar qué información implica más de una transacción de DNS.

Herramientas de NLlabs

NLlabs'sdrillde LDNS(no Unbound como lo tiene otra respuesta )está diseñado para imprimir "incluso más información que dig" según su manual de usuario. No tiene un equivalente del modo corto de dig. Al igual que digen modo normal, su salida está en el formato de "archivo de zona" de ISC, completo con abundantes líneas de comentarios, que requiere un analizador completo de "archivo de zona" para manejarlo programáticamente. Por lo tanto, no es la herramienta para salida analizable de máquina corta -.

Su análisis de línea de comando -es bastante descuidado:

% drill you can have anything here +short and as much of it as you like '!' unix.stackexchange.com.
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 47385
;; flags: qr rd ra ; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 
;; QUESTION SECTION:
;; unix.stackexchange.com.  IN  A

;; ANSWER SECTION:
unix.stackexchange.com. 277 IN  A   151.101.193.69
unix.stackexchange.com. 277 IN  A   151.101.129.69
unix.stackexchange.com. 277 IN  A   151.101.65.69
unix.stackexchange.com. 277 IN  A   151.101.1.69

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 145 msec
;; SERVER: 127.0.0.1
;; WHEN: Sun May 27 10:52:12 2018
;; MSG SIZE  rcvd: 104
% 

Aunque este tipo de cosas ayuda a los humanos que no pueden recordar si el tipo o el nombre de dominio es el primer argumento del comando, es lo contrario de lo que uno quiere para fines de secuencias de comandos. Uno quiere una interfaz bien -definida, con un orden definido y documentado de parámetros, donde un mal uso es un error y que no intenta segundo -adivinar lo que uno quiso decir correr.

"solo DNS"

Entonces, como se señaló en otra respuesta, depende de lo que desee con "solo DNS".

  • Si desea herramientas con salidas analizables de máquina -para usar en secuencias de comandos, que generan solo la información resultante , consulte el conjunto de herramientas djbdns.
  • Si desea herramientas que solo realicen solo una transacción DNS pero que proporcionen un resultado que usted como ser humano pueda leer, mire mi hosto las herramientas del conjunto de herramientas djbdns.
  • De lo contrario, mire todos y cada uno de los mencionados anteriormente.

Tenga en cuenta que una de las varias fallas de nslookupes que en varios sistemas operativos, incluidos algunos Unices, se ha aumentado para hacer más que solo búsquedas de DNS . nslookupes una herramienta gravemente defectuosa, como yo y otros hemos estado explicando durante casi dos décadas. Definitivamente no debería ser "la herramienta habitual" y espero que debido a nuestros esfuerzos a lo largo de los años hoy en día no lo sea .

Lecturas adicionales

3
28.01.2020, 02:13

Теги

Похожие вопросы