ASKMARA-TCP(1)

πŸ“¦ version 2.0.13, in ubuntu jammy, ubuntu noble

πŸ’– ASKMARA-TCP πŸ’–

okay bestie, welcome to askmara-tcp(1) β€” yes that's the manual page, section one, and it's literally the TCP-flavored twin of a DNS query tool. sit down, grab a strawberry, we're doing DNS.


✨ NAME ✨

askmara-tcp β€” do simple dns queries over TCP


🌸 DESCRIPTION 🌸

So here's the tea: askmara-tcp goes and asks the dns server you picked for records, then it spits the reply back out in a csv2-compatible format. and what is csv2? it's the format of zone files that maradns uses, iykyk. πŸŽ€

but here's the plot twist: unlike askmara, this one uses TCP instead of UDP. that's it, that's the whole vibe. same energy, different protocol. πŸ’…


πŸ¦‹ USAGE πŸ¦‹

askmara-tcp [-n] [-v|-t timeout] query [server]

πŸ’œ OPTIONS πŸ’œ

  • -t β€” if this is here, then the argument right after it is the askmara-tcp timeout, in seconds. heads up though: askmara-tcp can NOT have a user-defined timeout and verbose output at the same time. pick a lane, bestie. 😭
  • -v β€” if this is set, askmara-tcp will verbosely output the complete reply that the server sent. but ngl, this verbose output is not csv2-compatible, so don't come crying to me when your zone file parser side-eyes you. πŸ’€
  • -n β€” if this is set, askmara-tcp, when sending out a query, will not request DNS recursion. in other words: it asks the remote DNS server to not go contact other DNS servers to answer the query in question. it's giving "i said what i said, answer me yourself." πŸ™ˆ
  • query β€” the dns record to be queried. the query has two sections: the type of record we desire, and the hostname we want this record for. two parts, one little string, iconic.

the type of query can have two forms: a one-letter mnemonic, or a numeric rtype followed by a colon. and this is immediately concatenated by the full name of the host name we wish to look up. no space, no comma, just glued together.

for example, to ask for the IP of example.com., we can use the one-letter mnemonic, in the form Aexample.com., or we can use the numeric RR followed by a colon, giving the query 1:example.com. (since A has the record type of one). ⭐ and do not forget: the query name needs the trailing dot at the end. the dot is not optional, the dot is the moment.

askmara supports a handful one-letter mnemonics, as follows:

  • A signifies a request for an A (ipv4 address) RR
  • N signifies a NS RR
  • C signifies that we are asking for a CNAME RR
  • S signifies that we want a SOA RR
  • P signifies that we want a PTR RR
  • @ signifies that we want a MX RR
  • T signifies that we want a TXT RR
  • Z signifies that we want to ask for all RRs.
  • server β€” IP address of the dns server to be queried. if no server is given, askmara-tcp will query 127.0.0.1. yes, localhost, your homegirl, your default. 🫢

🌈 EXAMPLES 🌈

asking the server with the ip 127.0.0.1 for the IP address of example.com:

askmara-tcp Aexample.com.

asking the server with the ip 198.41.0.4 for the IP address of example.com:

askmara-tcp Aexample.com. 198.41.0.4

asking the server with the ip address 127.0.0.1 for the IP address of example.com, using the rr_number:query format:

askmara-tcp 1:example.com.

asking the server with the ip address 127.0.0.1 for a SRV record. in particular, we ask for the "http over tcp" service for example.net. since askmara-tcp doesn't have a mnemonic for SRV record types, we use the numeric code (33 for SRV):

askmara-tcp 33:_http._tcp.example.net.

asking the server with the ip address 127.0.0.1 for the AAAA (ipv6 ip) record for example.net:

askmara-tcp 28:example.net.
note that the output will be a raw DNS packet in both the SRV and AAAA examples. not csv2, not cute, just raw. πŸ“

πŸ’€ BUGS πŸ’€

  • when askmara-tcp is asked for an SOA record, the output of askmara-tcp closely resembles the format of a csv2 file, but can not be parsed as a csv2 file without modification. it's giving csv2 but it's not giving csv2. 😭
  • askmara-tcp outputs multi-chunk ("character-string") TXT records incorrectly (it only outputs the first chunk). so like… you get one chunk. that's it. that's the chunk.

πŸ‘‘ SEE ALSO πŸ‘‘

maradns(8), askmara(1)

http://www.maradns.org


THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

🧚 AUTHOR 🧚

MaraDNS is written by Sam Trenholme. Jaakko Niemi used 5 minutes to roll this manpage together, which Sam has subsequently revised. five minutes!! main character speedrun fr fr. πŸ’…


and that's the whole page, bestie β€” January 2002, askmara-tcp, manual section 1. periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from