YZHTZIZJGZH543JVPRXDMAGZMTSVCOMI2RXRDAOIVYRV65ENWWWAC
2. For each item, construct `${length}${label}` segments. The final empty `label` gets converted to its own `0x0` byte
3. Concat the segments together, then append the empty label `0x0`
4. Append the DNS type & class (always IN/`0x1` for internet)
1. For each item, construct `${length}${label}` segments. The final empty `label` gets converted to its own `0x0` byte
2. Concat the segments together, then append the empty label `0x0`
1. Append the DNS type & class (always IN/`0x1` for internet)
As well as putting all kind of TYPEs in the Q and see what they get pushed out to https://www.netmeister.org/blog/dns-rrs.html#srv . For example TYPE0 CLASS8448 is a corruption of SRV rr
As well as putting all kind of TYPEs in the Q and see what they get pushed out to [https://www.netmeister.org/blog/dns-rrs.html]. For example TYPE0 CLASS8448 is a corruption of SRV rr
I chose NLnet's `domain` crate, because it is self-contained, comes
with a resolver. Fortunately it exposes the above hand-off function to give users' direct access to parsed domain bytes. I haven't wrapped my head around how to properly print out all kinds of answer data yet, so i resigned to asserting that the queried server ignores/refuses the bad questions. I can construct a bad `Dname`, pinky-promise to `domain` that it is good, and let it help me with the rest of DNS+UDP required data!
This last one `A (Class 256)?` was from a `CAA` rtype. Its high byte gets reinterpreted as `type A` again! But the `Class 256` is never fixable, and the whole packet is malformed beyond repair anyhow.