-
-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CNAME multiple identical lines in output #21
Comments
This should be a trivial fix, but I wanted to confirm what you think the default behavior should be. What do you think about only removing duplicate answers when using the default query types? |
Hi @natesales, Thank's for your work on this tool. Yes, I think still asking all 6 types, and removing only duplicates is the best default behavior.
So I would ignore this TTL value before removing duplicates, and I would report in output the longest TTL found
Thank's ! |
This remains a problem in other formatting modes e.g. |
TL;DR (UPDATE 3):
Update prior to TLDR (collapsed for brevity)UPDATE: The
I am not familiar with DNS enough to know, but assume that the only real difference here is TTL? Below I have noted a query that sometimes responded with a result with two UPDATE 2: With Same request, variety of responses (Click to expand)# Different CNAME resolved for IPv4 vs IPv6
# x1 static.crates.io => cloudfront-static.crates.io
# x1 cloudfront-static.crates.io => d19xqa3lc3clo8.cloudfront.net
# x2 static.crates.io => fastly-static.crates.io
# x2 fastly-static.crates.io => dualstack.k.sni.global.fastly.net
$ q @1.1.1.1 CNAME A NS TXT AAAA static.crates.io
static.crates.io. 5m CNAME fastly-static.crates.io.
d19xqa3lc3clo8.cloudfront.net. 18s A 65.9.141.105
d19xqa3lc3clo8.cloudfront.net. 18s A 65.9.141.122
d19xqa3lc3clo8.cloudfront.net. 18s A 65.9.141.40
d19xqa3lc3clo8.cloudfront.net. 18s A 65.9.141.65
static.crates.io. 4m18s CNAME cloudfront-static.crates.io.
cloudfront-static.crates.io. 4m18s CNAME d19xqa3lc3clo8.cloudfront.net.
fastly-static.crates.io. 1m CNAME dualstack.k.sni.global.fastly.net.
fastly-static.crates.io. 54s CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 4m54s CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:200::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:400::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:600::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42::649
# This time IPv4 and IPv6 hosts switched, and CNAME duplicates for fastly differ:
# x1 static.crates.io => cloudfront-static.crates.io
# x1 cloudfront-static.crates.io => d19xqa3lc3clo8.cloudfront.net
# x3 static.crates.io => fastly-static.crates.io
# x1 fastly-static.crates.io => dualstack.k.sni.global.fastly.net
$ q @1.1.1.1 CNAME A NS TXT AAAA static.crates.io
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:4000:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:4c00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:8200:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:c000:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:c400:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:d000:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:f600:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 46s AAAA 2600:9000:204b:f800:1b:d7a6:ee00:93a1
static.crates.io. 2m CNAME cloudfront-static.crates.io.
cloudfront-static.crates.io. 2m CNAME d19xqa3lc3clo8.cloudfront.net.
static.crates.io. 2m43s CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s A 151.101.130.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.194.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.2.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.66.137
fastly-static.crates.io. 1m CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 1m59s CNAME fastly-static.crates.io.
static.crates.io. 5m CNAME fastly-static.crates.io.
# No cloudfront CNAME thus less duplicates, all queries to fastly (1 per IPv4 + IPv6?):
# x2 static.crates.io => fastly-static.crates.io
# x2 fastly-static.crates.io => dualstack.k.sni.global.fastly.net
$ q @1.1.1.1 CNAME A NS TXT AAAA static.crates.io
static.crates.io. 5m CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s A 151.101.130.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.194.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.2.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.66.137
fastly-static.crates.io. 1m CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 1m20s CNAME fastly-static.crates.io.
fastly-static.crates.io. 57s CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 4m57s CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:200::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:400::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:600::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42::649
# 1 less layer of CNAME indirection:
# x5 cloudfront-static.crates.io => d19xqa3lc3clo8.cloudfront.net
$ q @1.1.1.1 CNAME A NS TXT AAAA cloudfront-static.crates.io
cloudfront-static.crates.io. 5m CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 1s A 3.163.43.100
d19xqa3lc3clo8.cloudfront.net. 1s A 3.163.43.21
d19xqa3lc3clo8.cloudfront.net. 1s A 3.163.43.28
d19xqa3lc3clo8.cloudfront.net. 1s A 3.163.43.37
cloudfront-static.crates.io. 3m59s CNAME d19xqa3lc3clo8.cloudfront.net.
cloudfront-static.crates.io. 3m14s CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 47h58m14s NS ns-1118.awsdns-11.org.
d19xqa3lc3clo8.cloudfront.net. 47h58m14s NS ns-1570.awsdns-04.co.uk.
d19xqa3lc3clo8.cloudfront.net. 47h58m14s NS ns-246.awsdns-30.com.
d19xqa3lc3clo8.cloudfront.net. 47h58m14s NS ns-793.awsdns-35.net.
cloudfront-static.crates.io. 3m42s CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:2000:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:2600:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:8800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:8e00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:9c00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:a400:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:c000:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:d600:1b:d7a6:ee00:93a1
cloudfront-static.crates.io. 3m11s CNAME d19xqa3lc3clo8.cloudfront.net.
# When TTL cache is cold, no duplicates:
# x1 static.crates.io => fastly-static.crates.io
# x1 fastly-static.crates.io => dualstack.k.sni.global.fastly.net
$ q @1.1.1.1 CNAME A NS TXT AAAA static.crates.io
static.crates.io. 5m CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s A 151.101.130.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.194.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.2.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.66.137
fastly-static.crates.io. 1m CNAME dualstack.k.sni.global.fastly.net.
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:200::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:400::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:600::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42::649
# Attempt to opt-out of possible influences?:
# x3 static.crates.io => fastly-static.crates.io
# x4 fastly-static.crates.io => dualstack.k.sni.global.fastly.net
$ q @1.1.1.1 CNAME A NS TXT AAAA static.crates.io +noreuse-conn +noid-check
static.crates.io. 5m CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s A 151.101.130.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.194.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.2.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.66.137
fastly-static.crates.io. 24s CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 4m24s CNAME fastly-static.crates.io.
fastly-static.crates.io. 10s CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 4m10s CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 6s AAAA 2a04:4e42:200::649
dualstack.k.sni.global.fastly.net. 6s AAAA 2a04:4e42:400::649
dualstack.k.sni.global.fastly.net. 6s AAAA 2a04:4e42:600::649
dualstack.k.sni.global.fastly.net. 6s AAAA 2a04:4e42::649
fastly-static.crates.io. 36s CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 4m36s CNAME fastly-static.crates.io. Original response
For reference: $ q @1.1.1.1 static.crates.io --format column
A 30s 151.101.130.137
A 30s 151.101.194.137
A 30s 151.101.2.137
A 30s 151.101.66.137
AAAA 30s 2a04:4e42:200::649
AAAA 30s 2a04:4e42:400::649
AAAA 30s 2a04:4e42:600::649
AAAA 30s 2a04:4e42::649
CNAME 1m dualstack.k.sni.global.fastly.net.
CNAME 5m fastly-static.crates.io.
# Again shortly afterwards (16s):
$ q @1.1.1.1 static.crates.io --format column
A 14s 151.101.130.137
A 14s 151.101.194.137
A 14s 151.101.2.137
A 14s 151.101.66.137
AAAA 30s 2a04:4e42:200::649
AAAA 30s 2a04:4e42:400::649
AAAA 30s 2a04:4e42:600::649
AAAA 30s 2a04:4e42::649
CNAME 44s dualstack.k.sni.global.fastly.net.
CNAME 1m dualstack.k.sni.global.fastly.net.
CNAME 4m44s fastly-static.crates.io.
CNAME 3m31s fastly-static.crates.io.
CNAME 5m fastly-static.crates.io. The UPDATE: This actually occurs with the default $ q @1.1.1.1 static.crates.io
dualstack.k.sni.global.fastly.net. 30s A 151.101.130.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.194.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.2.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.66.137
fastly-static.crates.io. 1m CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 5m CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:200::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:400::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:600::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42::649
$ q @1.1.1.1 static.crates.io
fastly-static.crates.io. 30s CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 4m30s CNAME fastly-static.crates.io.
fastly-static.crates.io. 1m CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 5m CNAME fastly-static.crates.io.
dualstack.k.sni.global.fastly.net. 30s A 151.101.130.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.194.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.2.137
dualstack.k.sni.global.fastly.net. 30s A 151.101.66.137
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:200::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:400::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42:600::649
dualstack.k.sni.global.fastly.net. 30s AAAA 2a04:4e42::649
fastly-static.crates.io. 29s CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. 4m29s CNAME fastly-static.crates.io. Potentially related, when I queried again after the 2nd time it stalled and I got a failure, presumably the number of DNS requests is growing?:
Possibly related to the above error, which may be related to the duplicates (click to expand)I know presently without using $ doggo static.crates.io
ERROR[2024-05-12T01:04:49Z] error looking up DNS records error="dns: buffer size too small" That seems like it might be related to $ doggo @1.1.1.1 static.crates.io
NAME TYPE CLASS TTL ADDRESS NAMESERVER
static.crates.io. CNAME IN 171s fastly-static.crates.io. 1.1.1.1:53
fastly-static.crates.io. CNAME IN 56s dualstack.k.sni.global.fastly.net. 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 26s 151.101.2.137 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 26s 151.101.130.137 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 26s 151.101.194.137 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 26s 151.101.66.137 1.1.1.1:53 but is fine resolving just the
Thus Maybe it's the # When using the DNS server from the router / ISP, duplicate records are also returned by doggo in this case:
# EDIT: Cannot reproduce after trying again, some sort of cache/issue presumably with this service / router handling responses.
$ doggo cloudfront-static.crates.io
NAME TYPE CLASS TTL ADDRESS NAMESERVER
cloudfront-static.crates.io. CNAME IN 22s d19xqa3lc3clo8.cloudfront.net. 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 44s 65.9.141.40 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 44s 65.9.141.122 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 44s 65.9.141.105 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 44s 65.9.141.65 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 22s 65.9.141.122 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 22s 65.9.141.40 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 22s 65.9.141.105 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 22s 65.9.141.65 192.168.65.7:53
# However, when querying directly instead of via the CNAME, no duplicates:
$ doggo d19xqa3lc3clo8.cloudfront.net
NAME TYPE CLASS TTL ADDRESS NAMESERVER
d19xqa3lc3clo8.cloudfront.net. A IN 49s 65.9.141.122 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 49s 65.9.141.65 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 49s 65.9.141.40 192.168.65.7:53
d19xqa3lc3clo8.cloudfront.net. A IN 49s 65.9.141.105 192.168.65.7:53
# Unique despite indirect (EDIT: Appears to be due to defaults):
$ doggo @1.1.1.1 cloudfront-static.crates.io
NAME TYPE CLASS TTL ADDRESS NAMESERVER
cloudfront-static.crates.io. CNAME IN 251s d19xqa3lc3clo8.cloudfront.net. 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 11s 65.9.141.105 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 11s 65.9.141.65 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 11s 65.9.141.40 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 11s 65.9.141.122 1.1.1.1:53
# Not unique when specifically requesting both record types:
$ doggo @1.1.1.1 CNAME A cloudfront-static.crates.io
NAME TYPE CLASS TTL ADDRESS NAMESERVER
cloudfront-static.crates.io. CNAME IN 300s d19xqa3lc3clo8.cloudfront.net. 1.1.1.1:53
cloudfront-static.crates.io. CNAME IN 271s d19xqa3lc3clo8.cloudfront.net. 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 31s 65.9.141.40 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 31s 65.9.141.105 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 31s 65.9.141.122 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 31s 65.9.141.65 1.1.1.1:53
# But works fine when only requesting single record type:
$ doggo @1.1.1.1 CNAME cloudfront-static.crates.io
NAME TYPE CLASS TTL ADDRESS NAMESERVER
cloudfront-static.crates.io. CNAME IN 186s d19xqa3lc3clo8.cloudfront.net. 1.1.1.1:53
$ doggo @1.1.1.1 A cloudfront-static.crates.io
NAME TYPE CLASS TTL ADDRESS NAMESERVER
cloudfront-static.crates.io. CNAME IN 153s d19xqa3lc3clo8.cloudfront.net. 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 60s 65.9.141.40 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 60s 65.9.141.65 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 60s 65.9.141.122 1.1.1.1:53
d19xqa3lc3clo8.cloudfront.net. A IN 60s 65.9.141.105 1.1.1.1:53 I observed the same with
# Direct without 1.1.1.1, duplicate A / AAAA records no longer present:
$ q d19xqa3lc3clo8.cloudfront.net
d19xqa3lc3clo8.cloudfront.net. 21h4m23s NS ns-1118.awsdns-11.org.
d19xqa3lc3clo8.cloudfront.net. 21h4m23s NS ns-1570.awsdns-04.co.uk.
d19xqa3lc3clo8.cloudfront.net. 21h4m23s NS ns-246.awsdns-30.com.
d19xqa3lc3clo8.cloudfront.net. 21h4m23s NS ns-793.awsdns-35.net.
d19xqa3lc3clo8.cloudfront.net. 58s A 18.67.93.107
d19xqa3lc3clo8.cloudfront.net. 58s A 18.67.93.30
d19xqa3lc3clo8.cloudfront.net. 58s A 18.67.93.39
d19xqa3lc3clo8.cloudfront.net. 58s A 18.67.93.48
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:1000:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:1a00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:5c00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:8800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:9400:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:a800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:d800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 58s AAAA 2600:9000:204b:fa00:1b:d7a6:ee00:93a1
# Thus no difference with 1.1.1.1:
$ q @1.1.1.1 d19xqa3lc3clo8.cloudfront.net
d19xqa3lc3clo8.cloudfront.net. 13s A 65.9.141.105
d19xqa3lc3clo8.cloudfront.net. 13s A 65.9.141.122
d19xqa3lc3clo8.cloudfront.net. 13s A 65.9.141.40
d19xqa3lc3clo8.cloudfront.net. 13s A 65.9.141.65
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:1000:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:1a00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:5c00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:8800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:9400:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:a800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:d800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 13s AAAA 2600:9000:204b:fa00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-1118.awsdns-11.org.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-1570.awsdns-04.co.uk.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-246.awsdns-30.com.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-793.awsdns-35.net.
# Timeout error was encountered after a repeat check (rate limited?)
$ q @1.1.1.1 d19xqa3lc3clo8.cloudfront.net
FATA[0010] read udp 172.17.0.9:51513->1.1.1.1:53: i/o timeout Issue identified as due to multiple record types requested: $ q CNAME cloudfront-static.crates.io
cloudfront-static.crates.io. 1m3s CNAME d19xqa3lc3clo8.cloudfront.net.
$ q CNAME A cloudfront-static.crates.io
cloudfront-static.crates.io. 58s CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 52s A 18.67.93.107
d19xqa3lc3clo8.cloudfront.net. 52s A 18.67.93.30
d19xqa3lc3clo8.cloudfront.net. 52s A 18.67.93.39
d19xqa3lc3clo8.cloudfront.net. 52s A 18.67.93.48
d19xqa3lc3clo8.cloudfront.net. 51s A 65.9.141.105
d19xqa3lc3clo8.cloudfront.net. 51s A 65.9.141.122
d19xqa3lc3clo8.cloudfront.net. 51s A 65.9.141.40
d19xqa3lc3clo8.cloudfront.net. 51s A 65.9.141.65
cloudfront-static.crates.io. 51s CNAME d19xqa3lc3clo8.cloudfront.net.
# Now using 1.1.1.1 to workaround duplicate A records with local DNS server responses:
# NOTE: Must repeat the same request to get the unique TTLs (prior one since, and new one)
$ q @1.1.1.1 CNAME A cloudfront-static.crates.io
cloudfront-static.crates.io. 4m49s CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.105
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.122
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.40
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.65
cloudfront-static.crates.io. 5m CNAME d19xqa3lc3clo8.cloudfront.net.
# Three CNAME, one per record type resolved from it?
# NOTE: TTLs for CNAME returned vary across runs, they don't decrement like A
# NS also resets TTL in a much shorter time span
$ q @1.1.1.1 CNAME A NS cloudfront-static.crates.io
cloudfront-static.crates.io. 46s CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 39s A 65.9.141.105
d19xqa3lc3clo8.cloudfront.net. 39s A 65.9.141.122
d19xqa3lc3clo8.cloudfront.net. 39s A 65.9.141.40
d19xqa3lc3clo8.cloudfront.net. 39s A 65.9.141.65
cloudfront-static.crates.io. 47s CNAME d19xqa3lc3clo8.cloudfront.net.
cloudfront-static.crates.io. 5m CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-1118.awsdns-11.org.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-1570.awsdns-04.co.uk.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-246.awsdns-30.com.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-793.awsdns-35.net.
Output improvements?As can be seen above, the column layout loses a bit of context with the mapping for Feature request here (with some examples if implemented), to support Full original response with examples# Better clarity of the CNAME record indirection that the A/AAAA records are for
$ q @1.1.1.1 static.crates.io --format column
A 30s 151.101.130.137
A 30s 151.101.194.137
A 30s 151.101.2.137
A 30s 151.101.66.137
AAAA 30s 2a04:4e42:200::649
AAAA 30s 2a04:4e42:400::649
AAAA 30s 2a04:4e42:600::649
AAAA 30s 2a04:4e42::649
CNAME 1m fastly-static.crates.io. => dualstack.k.sni.global.fastly.net.
CNAME 5m static.crates.io. => fastly-static.crates.io. Or alternatively, as per my feature request (with control over what "columns" / record fields are displayed): $ q @1.1.1.1 static.crates.io --format column --columns name,type,data
dualstack.k.sni.global.fastly.net. A 151.101.130.137
dualstack.k.sni.global.fastly.net. A 151.101.194.137
dualstack.k.sni.global.fastly.net. A 151.101.2.137
dualstack.k.sni.global.fastly.net. A 151.101.66.137
dualstack.k.sni.global.fastly.net. AAAA 2a04:4e42:200::649
dualstack.k.sni.global.fastly.net. AAAA 2a04:4e42:400::649
dualstack.k.sni.global.fastly.net. AAAA 2a04:4e42:600::649
dualstack.k.sni.global.fastly.net. AAAA 2a04:4e42::649
fastly-static.crates.io. CNAME dualstack.k.sni.global.fastly.net.
static.crates.io. CNAME fastly-static.crates.io. $ q @1.1.1.1 static.crates.io --format column --columns type,name,data
A dualstack.k.sni.global.fastly.net. 151.101.130.137
A dualstack.k.sni.global.fastly.net. 151.101.194.137
A dualstack.k.sni.global.fastly.net. 151.101.2.137
A dualstack.k.sni.global.fastly.net. 151.101.66.137
AAAA dualstack.k.sni.global.fastly.net. 2a04:4e42:200::649
AAAA dualstack.k.sni.global.fastly.net. 2a04:4e42:400::649
AAAA dualstack.k.sni.global.fastly.net. 2a04:4e42:600::649
AAAA dualstack.k.sni.global.fastly.net. 2a04:4e42::649
CNAME fastly-static.crates.io. dualstack.k.sni.global.fastly.net.
CNAME static.crates.io. fastly-static.crates.io. # Default format is presently `type,ttl,data` columns, thus omitting a column also works:
$ q @1.1.1.1 static.crates.io --format column +nocolumns ttl
A 151.101.130.137
A 151.101.194.137
A 151.101.2.137
A 151.101.66.137
AAAA 2a04:4e42:200::649
AAAA 2a04:4e42:400::649
AAAA 2a04:4e42:600::649
AAAA 2a04:4e42::649
CNAME dualstack.k.sni.global.fastly.net.
CNAME fastly-static.crates.io. UPDATE: Not long after the output above, the domain has updated DNS records, so that the # Only showing the newly received records in addition to those above
$ q @1.1.1.1 static.crates.io
static.crates.io. 5m CNAME cloudfront-static.crates.io.
cloudfront-static.crates.io. 5m CNAME d19xqa3lc3clo8.cloudfront.net. # Results that aren't included in main query (only one CNAME was followed?)
$ q @1.1.1.1 cloudfront-static.crates.io
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:5e00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:6e00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:800:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:a400:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:a600:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:ae00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:dc00:1b:d7a6:ee00:93a1
d19xqa3lc3clo8.cloudfront.net. 1m AAAA 2600:9000:204b:ec00:1b:d7a6:ee00:93a1
cloudfront-static.crates.io. 5m CNAME d19xqa3lc3clo8.cloudfront.net.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-1118.awsdns-11.org.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-1570.awsdns-04.co.uk.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-246.awsdns-30.com.
d19xqa3lc3clo8.cloudfront.net. 48h NS ns-793.awsdns-35.net.
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.105
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.122
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.40
d19xqa3lc3clo8.cloudfront.net. 1m A 65.9.141.65 Due to the above, I noticed if I specifically query the # The result returned varies (by TTL cache?)
$ q CNAME static.crates.io
static.crates.io. 2m50s CNAME cloudfront-static.crates.io.
$ q @1.1.1.1 CNAME static.crates.io
static.crates.io. 4m23s CNAME fastly-static.crates.io. Meanwhile, $ doggo @1.1.1.1 static.crates.io
NAME TYPE CLASS TTL ADDRESS NAMESERVER
static.crates.io. CNAME IN 288s fastly-static.crates.io. 1.1.1.1:53
fastly-static.crates.io. CNAME IN 48s dualstack.k.sni.global.fastly.net. 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 18s 151.101.66.137 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 18s 151.101.194.137 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 18s 151.101.2.137 1.1.1.1:53
dualstack.k.sni.global.fastly.net. A IN 18s 151.101.130.137 1.1.1.1:53 EDIT: Now I had a quick glance over the project source and I think
|
Hi,
Thank's for sharing
q
I understand not putting a record type, test/output the results for
MX
TXT
NS
,A
AAAA
CNAME
.. (which is nice default)But in some cases, this will report the identical
CNAME
answer for each of those records types.Which may be quite confusing into the output as all exact same
CNAME
line.The text was updated successfully, but these errors were encountered: