{
    "mode": "man",
    "parameter": "mdig",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/mdig/1/json",
    "generated": "2026-06-16T10:00:53Z",
    "synopsis": "mdig  {@server}  [-f  filename]  [-h]  [-v]  [ [-4] | [-6] ] [-m] [-b address] [-p port#] [-c\nclass] [-t type] [-i] [-x addr] [plusopt...]\nmdig {-h}\nmdig [@server] {global-opt...} { {local-opt...} {query} ...}",
    "sections": {
        "NAME": {
            "content": "mdig - DNS pipelined lookup utility\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "mdig  {@server}  [-f  filename]  [-h]  [-v]  [ [-4] | [-6] ] [-m] [-b address] [-p port#] [-c\nclass] [-t type] [-i] [-x addr] [plusopt...]\n\nmdig {-h}\n\nmdig [@server] {global-opt...} { {local-opt...} {query} ...}\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "mdig is a multiple/pipelined query version of dig: instead of waiting for  a  response  after\nsending each query, it begins by sending all queries. Responses are displayed in the order in\nwhich they are received, not in the order the corresponding queries were sent.\n\nmdig options are a subset of the dig options, and are divided into \"anywhere options,\"  which\ncan occur anywhere, \"global options,\" which must occur before the query name (or they are ig-\nnored with a warning), and \"local options,\" which apply to the  next  query  on  the  command\nline.\n\nThe  @server  option  is  a mandatory global option. It is the name or IP address of the name\nserver to query. (Unlike dig, this value is not retrieved from /etc/resolv.conf.) It  can  be\nan IPv4 address in dotted-decimal notation, an IPv6 address in colon-delimited notation, or a\nhostname. When the supplied server argument is a hostname, mdig  resolves  that  name  before\nquerying the name server.\n\nmdig  provides  a  number of query options which affect the way in which lookups are made and\nthe results displayed. Some of these set or reset flag bits in the query header, some  deter-\nmine  which  sections  of  the answer get printed, and others determine the timeout and retry\nstrategies.\n\nEach query option is identified by a keyword preceded by a plus sign (+). Some  keywords  set\nor reset an option. These may be preceded by the string no to negate the meaning of that key-\nword. Other keywords assign values to options like the timeout interval. They have  the  form\n+keyword=value.\n",
            "subsections": []
        },
        "ANYWHERE OPTIONS": {
            "content": "-f     This  option  makes mdig operate in batch mode by reading a list of lookup requests to\nprocess from the file filename. The file contains a number of queries, one  per  line.\nEach  entry in the file should be organized in the same way they would be presented as\nqueries to mdig using the command-line interface.\n\n-h     This option causes mdig to print detailed help information, with the full list of  op-\ntions, and exit.\n\n-v     This option causes mdig to print the version number and exit.\n",
            "subsections": []
        },
        "GLOBAL OPTIONS": {
            "content": "-4     This option forces mdig to only use IPv4 query transport.\n\n-6     This option forces mdig to only use IPv6 query transport.\n\n-b address\nThis  option  sets the source IP address of the query to address. This must be a valid\naddress on one of the host's network interfaces or \"0.0.0.0\" or \"::\". An optional port\nmay be specified by appending \"#<port>\"\n\n-m     This option enables memory usage debugging.\n\n-p port#\nThis  option  is  used  when a non-standard port number is to be queried. port# is the\nport number that mdig sends its queries to, instead of the standard  DNS  port  number\n53.  This  option is used to test a name server that has been configured to listen for\nqueries on a non-standard port number.\n\nThe global query options are:\n\n+additional, +noadditional\nThis option displays [or does not display] the additional section of a reply. The  de-\nfault is to display it.\n\n+all, +noall\nThis option sets or clears all display flags.\n\n+answer, +noanswer\nThis  option displays [or does not display] the answer section of a reply. The default\nis to display it.\n\n+authority, +noauthority\nThis option displays [or does not display] the authority section of a reply.  The  de-\nfault is to display it.\n\n+besteffort, +nobesteffort\nThis  option  attempts to display [or does not display] the contents of messages which\nare malformed. The default is to not display malformed answers.\n\n+burst This option delays queries until the start of the next second.\n\n+cl, +nocl\nThis option displays [or does not display] the CLASS when printing the record.\n\n+comments, +nocomments\nThis option toggles the display of comment lines in the  output.  The  default  is  to\nprint comments.\n\n+continue, +nocontinue\nThis option toggles continuation on errors (e.g. timeouts).\n\n+crypto, +nocrypto\nThis  option  toggles  the display of cryptographic fields in DNSSEC records. The con-\ntents of these fields are unnecessary to debug most DNSSEC validation failures and re-\nmoving  them makes it easier to see the common failures. The default is to display the\nfields. When omitted, they are replaced by the string \"[omitted]\"; in the DNSKEY case,\nthe key ID is displayed as the replacement, e.g., [ key id = value ].\n\n+dscp=value\nThis  option  formerly  set the DSCP value used when sending a query.  It is now obso-\nlete, and has no effect.\n\n+multiline, +nomultiline\nThis option toggles printing of records, like the SOA records, in a verbose multi-line\nformat  with  human-readable comments. The default is to print each record on a single\nline, to facilitate machine parsing of the mdig output.\n\n+question, +noquestion\nThis option prints [or does not print] the question section of a query when an  answer\nis returned. The default is to print the question section as a comment.\n\n+rrcomments, +norrcomments\nThis option toggles the display of per-record comments in the output (for example, hu-\nman-readable key information about DNSKEY records). The default is not to print record\ncomments unless multiline mode is active.\n\n+short, +noshort\nThis option provides [or does not provide] a terse answer. The default is to print the\nanswer in a verbose form.\n\n+split=W\nThis option splits long hex- or  base64-formatted  fields  in  resource  records  into\nchunks  of W characters (where W is rounded up to the nearest multiple of 4). +nosplit\nor +split=0 causes fields not to be split. The default is 56 characters, or 44 charac-\nters when multiline mode is active.\n\n+tcp, +notcp\nThis  option uses [or does not use] TCP when querying name servers. The default behav-\nior is to use UDP.\n\n+ttlid, +nottlid\nThis option displays [or does not display] the TTL when printing the record.\n\n+ttlunits, +nottlunits\nThis option displays [or does not display] the TTL  in  friendly  human-readable  time\nunits  of \"s\", \"m\", \"h\", \"d\", and \"w\", representing seconds, minutes, hours, days, and\nweeks. This implies +ttlid.\n\n+vc, +novc\nThis option uses [or does not use] TCP when querying name servers. This alternate syn-\ntax  to  +tcp is provided for backwards compatibility. The vc stands for \"virtual cir-\ncuit\".\n",
            "subsections": []
        },
        "LOCAL OPTIONS": {
            "content": "-c class\nThis option sets the query class to class. It can be any valid query  class  which  is\nsupported in BIND 9. The default query class is \"IN\".\n\n-t type\nThis  option sets the query type to type. It can be any valid query type which is sup-\nported in BIND 9. The default query type is \"A\", unless the -x option is  supplied  to\nindicate a reverse lookup with the \"PTR\" query type.\n\n-x addr\nReverse  lookups - mapping addresses to names - are simplified by this option. addr is\nan IPv4 address in dotted-decimal notation, or a colon-delimited  IPv6  address.  mdig\nautomatically  performs  a  lookup  for a query name like 11.12.13.10.in-addr.arpa and\nsets the query type and class to PTR and IN respectively. By default,  IPv6  addresses\nare looked up using nibble format under the IP6.ARPA domain.\n\nThe local query options are:\n\n+aaflag, +noaaflag\nThis is a synonym for +aaonly, +noaaonly.\n\n+aaonly, +noaaonly\nThis sets the aa flag in the query.\n\n+adflag, +noadflag\nThis  sets  [or  does not set] the AD (authentic data) bit in the query. This requests\nthe server to return whether all of the answer and authority sections  have  all  been\nvalidated  as  secure,  according to the security policy of the server. AD=1 indicates\nthat all records have been validated as secure and the answer is not  from  a  OPT-OUT\nrange.  AD=0  indicates  that  some  part of the answer was insecure or not validated.\nThis bit is set by default.\n\n+bufsize=B\nThis sets the UDP message buffer size advertised using EDNS0 to B bytes.  The  maximum\nand  minimum  sizes  of  this buffer are 65535 and 0 respectively. Values outside this\nrange are rounded up or down appropriately. Values other than zero cause a EDNS  query\nto be sent.\n\n+cdflag, +nocdflag\nThis sets [or does not set] the CD (checking disabled) bit in the query. This requests\nthe server to not perform DNSSEC validation of responses.\n\n+cookie=####, +nocookie\nThis sends [or does not send] a COOKIE EDNS option, with an optional value.  Replaying\na COOKIE from a previous response allows the server to identify a previous client. The\ndefault is +nocookie.\n\n+dnssec, +nodnssec\nThis requests that DNSSEC records be sent by setting the DNSSEC OK (DO) bit in the OPT\nrecord in the additional section of the query.\n\n+edns[=#], +noedns\nThis  specifies [or does not specify] the EDNS version to query with. Valid values are\n0 to 255.  Setting the EDNS version causes an EDNS query to be sent.   +noedns  clears\nthe remembered EDNS version. EDNS is set to 0 by default.\n\n+ednsflags[=#], +noednsflags\nThis  sets  the must-be-zero EDNS flag bits (Z bits) to the specified value.  Decimal,\nhex, and octal encodings are accepted. Setting a named flag (e.g. DO) is silently  ig-\nnored. By default, no Z bits are set.\n\n+ednsopt[=code[:value]], +noednsopt\nThis  specifies  [or  does not specify] an EDNS option with code point code and an op-\ntional payload of value as a hexadecimal string. +noednsopt clears the EDNS options to\nbe sent.\n\n+expire, +noexpire\nThis toggles sending of an EDNS Expire option.\n\n+nsid, +nonsid\nThis toggles inclusion of an EDNS name server ID request when sending a query.\n\n+recurse, +norecurse\nThis  toggles the setting of the RD (recursion desired) bit in the query.  This bit is\nset by default, which means mdig normally sends recursive queries.\n\n+retry=T\nThis sets the number of times to retry UDP queries to server to T instead of  the  de-\nfault, 2. Unlike +tries, this does not include the initial query.\n\n+subnet=addr[/prefix-length], +nosubnet\nThis  sends  [or does not send] an EDNS Client Subnet option with the specified IP ad-\ndress or network prefix.\n\nmdig +subnet=0.0.0.0/0, or simply mdig +subnet=0\nThis sends an EDNS client-subnet option with  an  empty  address  and  a  source  pre-\nfix-length  of  zero,  which  signals a resolver that the client's address information\nmust not be used when resolving this query.\n\n+timeout=T\nThis sets the timeout for a query to T seconds. The default timeout is 5  seconds  for\nUDP  transport  and  10 for TCP. An attempt to set T to less than 1 results in a query\ntimeout of 1 second being applied.\n\n+tries=T\nThis sets the number of times to try UDP queries to server to T  instead  of  the  de-\nfault,  3. If T is less than or equal to zero, the number of tries is silently rounded\nup to 1.\n\n+udptimeout=T\nThis sets the timeout between UDP query retries to T.\n\n+unknownformat, +nounknownformat\nThis prints [or does not print] all RDATA in unknown RR-type presentation format  (see\nRFC  3597).   The default is to print RDATA for known types in the type's presentation\nformat.\n\n+yaml, +noyaml\nThis toggles printing of the responses in a detailed YAML format.\n\n+zflag, +nozflag\nThis sets [or does not set] the last unassigned DNS header flag in a DNS query.   This\nflag is off by default.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "dig(1), RFC 1035.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Internet Systems Consortium\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "2026, Internet Systems Consortium\n\n9.18.39-0ubuntu0.22.04.4-Ubuntu             2025-08-13                                    MDIG(1)",
            "subsections": []
        }
    },
    "summary": "mdig - DNS pipelined lookup utility",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "dig",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/dig/1/json"
        }
    ]
}