# dns :53

TCP is only used in DNS when the response size is greater than 512 bytes.

## DNS Version

```bash
$ dig version.bind CHAOS TXT @IP
$ nmap --script dns-nsid IP
```

## Domain check

```bash
dnsrecon -r IP/CIDR -n TARGET_IP -d ['' | DOMAIN]
dnsrecon -r 127.0.0.1/24 -n IP -d ''
```

## Domain Name Loopup

```bash
$ nslookup
> server IP
> IP
# should give you domain information

dig @IP -x IP
```

## Zone Transfer Check

Check for additional sub-domains

```bash
$ host -l <domain> <IP>
[OR]
$ dig axfr @<IP> <domain>

# find domains
wfuzz -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -u "http://<DOMAIN>" -H "HOST: FUZZ.<DOMAIN>"
# when run you'll see a lot of page coming with a specified number of characters, to eliminate them add flag
--hh <character-value>
```

## Adding key to DNS using nsupdate

[see nsupdate.](/kashz-jewels/services/nsupdate.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kashz.gitbook.io/kashz-jewels/protocols/dns-53.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
