Это стандартная процедура, чтобы сделать sed
не жадным и с обратной ссылкой подсказкой для подстроки (строк) в скобках ()
sed 's/\(\"[^",]\{1,\}\),\([^",]\{1,\}\"\)/\1 | \2/g'
Или для GNU sed
sed -r 's/("[^",]+),([^",]+")/\1 | \2/g'
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.
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
$
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
host
Las herramientas que acompañan a BIND de ISC son host
y 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
.
khost
. En Debian, esto está empaquetado en el paquete knot-host
que también proporciona un enlace simbólico que lo hace accesible como host
tambié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 %
host
para usar con el conjunto de herramientas djbwares , que también proporciono en forma de un paquete djbdns-host
Debian. 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 %
Las herramientas de consulta nativas de djbdns son dnsq
, dnsqr
, dnsqrx
, dnsname
, dnsnamex
, dnsmx
, dnsip
, dnsipq
, dnstxt
y dnstrace
. Hay muchos de ellos porque se dividen en tres categorías:
dnsq
, dnsqr
,dnsqrx
dnsname
, dnsnamex
, dnsmx
, dnsip
, dnsipq
,dnstxt
dnstrace
cuya salida es analizable por máquina -, y convencionalmente pasada a través de dnstracesort
,un filtro que convierte la máquina -analizable en humano -legible 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 -. dnsipq
siempre 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. dnsnamex
siempre 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.
NLlabs'sdrill
de 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 dig
en 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.
Entonces, como se señaló en otra respuesta, depende de lo que desee con "solo DNS".
host
o las herramientas del conjunto de herramientas djbdns. Tenga en cuenta que una de las varias fallas de nslookup
es que en varios sistemas operativos, incluidos algunos Unices, se ha aumentado para hacer más que solo búsquedas de DNS . nslookup
es 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 .
nslookup
es una herramienta muy defectuosa.No lo uses.. Respuestas dadas con frecuencia.