github.com/n00py/Slackor@v0.0.0-20200610224921-d007fcea1740/impacket/tests/misc/test_dns.py (about)

     1  import unittest
     2  
     3  from impacket.dns import DNS
     4  
     5  class DNSTests(unittest.TestCase):
     6      def test_str(self):
     7          def chk(b,t):
     8              self.assertEqual(str(DNS(b)),t)
     9  
    10          chk(b"\x6a\x8c\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x03\x77\x77\x77"
    11              b"\x05\x74\x61\x72\x74\x61\x03\x63\x6f\x6d\x00\x00\x01\x00\x01",
    12              "DNS QUERY\n - Transaction ID -- [0x6a8c] 27276\n"
    13              " - Flags ----------- [0x0100] 256\n"
    14              " - QdCount --------- [0x0001] 1\n"
    15              " - AnCount --------- [0x0000] 0\n"
    16              " - NsCount --------- [0x0000] 0\n"
    17              " - ArCount --------- [0x0000] 0\n"
    18              " - Questions:\n"
    19              "  * Domain: www.tarta.com - Type: A [0x0001] - Class: IN [0x0001]\n")
    20  
    21          chk(b"\x6a\x8c\x81\x80\x00\x01\x00\x02\x00\x02\x00\x00\x03\x77\x77\x77"
    22              b"\x05\x74\x61\x72\x74\x61\x03\x63\x6f\x6d\x00\x00\x01\x00\x01\xc0"
    23              b"\x0c\x00\x05\x00\x01\x00\x00\x07\x08\x00\x02\xc0\x10\xc0\x10\x00"
    24              b"\x01\x00\x01\x00\x00\x07\x08\x00\x04\x45\x59\x1f\xc7\xc0\x10\x00"
    25              b"\x02\x00\x01\x00\x02\xa3\x00\x00\x0f\x03\x6e\x73\x31\x08\x62\x6c"
    26              b"\x75\x65\x68\x6f\x73\x74\xc0\x16\xc0\x10\x00\x02\x00\x01\x00\x02"
    27              b"\xa3\x00\x00\x06\x03\x6e\x73\x32\xc0\x4d",
    28              "DNS RESPONSE\n"
    29              " - Transaction ID -- [0x6a8c] 27276\n"
    30              " - Flags ----------- [0x8180] 33152\n"
    31              " - QdCount --------- [0x0001] 1\n"
    32              " - AnCount --------- [0x0002] 2\n"
    33              " - NsCount --------- [0x0002] 2\n"
    34              " - ArCount --------- [0x0000] 0\n"
    35              " - Questions:\n"
    36              "  * Domain: www.tarta.com - Type: A [0x0001] - Class: IN [0x0001]\n"
    37              " - Answers:\n"
    38              "  * Domain: www.tarta.com - Type: CNAME [0x0005] - Class: IN [0x0001] - TTL: 1800 seconds - {'Name': 'tarta.com'}\n"
    39              "  * Domain: tarta.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 1800 seconds - {'IPAddress': '69.89.31.199'}\n"
    40              " - Authoritative:\n"
    41              "  * Domain: tarta.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 172800 seconds - {'Name': 'ns1.bluehost.com'}\n"
    42              "  * Domain: tarta.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 172800 seconds - {'Name': 'ns2.bluehost.com'}\n")
    43  
    44          chk(b"\x82\x75\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x03\x77\x77\x77"
    45              b"\x04\x6a\x68\x6f\x6e\x03\x63\x6f\x6d\x00\x00\x01\x00\x01",
    46              "DNS QUERY\n"
    47              " - Transaction ID -- [0x8275] 33397\n"
    48              " - Flags ----------- [0x0100] 256\n"
    49              " - QdCount --------- [0x0001] 1\n"
    50              " - AnCount --------- [0x0000] 0\n"
    51              " - NsCount --------- [0x0000] 0\n"
    52              " - ArCount --------- [0x0000] 0\n"
    53              " - Questions:\n"
    54              "  * Domain: www.jhon.com - Type: A [0x0001] - Class: IN [0x0001]\n")
    55  
    56          chk(b"\x82\x75\x81\x80\x00\x01\x00\x01\x00\x02\x00\x02\x03\x77\x77\x77"
    57              b"\x04\x6a\x68\x6f\x6e\x03\x63\x6f\x6d\x00\x00\x01\x00\x01\xc0\x0c"
    58              b"\x00\x01\x00\x01\x00\x00\x00\x05\x00\x04\xd1\x3b\xc3\x14\xc0\x10"
    59              b"\x00\x02\x00\x01\x00\x00\x06\xf8\x00\x0f\x03\x6e\x73\x31\x08\x74"
    60              b"\x72\x61\x66\x66\x69\x63\x7a\xc0\x15\xc0\x10\x00\x02\x00\x01\x00"
    61              b"\x00\x06\xf8\x00\x06\x03\x6e\x73\x32\xc0\x3e\xc0\x3a\x00\x01\x00"
    62              b"\x01\x00\x00\x00\x0d\x00\x04\xd1\x3b\xc2\xf6\xc0\x55\x00\x01\x00"
    63              b"\x01\x00\x00\x00\x85\x00\x04\xd1\x3b\xc3\xf6",
    64              "DNS RESPONSE\n"
    65              " - Transaction ID -- [0x8275] 33397\n"
    66              " - Flags ----------- [0x8180] 33152\n"
    67              " - QdCount --------- [0x0001] 1\n"
    68              " - AnCount --------- [0x0001] 1\n"
    69              " - NsCount --------- [0x0002] 2\n"
    70              " - ArCount --------- [0x0002] 2\n"
    71              " - Questions:\n"
    72              "  * Domain: www.jhon.com - Type: A [0x0001] - Class: IN [0x0001]\n"
    73              " - Answers:\n"
    74              "  * Domain: www.jhon.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 5 seconds - {'IPAddress': '209.59.195.20'}\n"
    75              " - Authoritative:\n"
    76              "  * Domain: jhon.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 1784 seconds - {'Name': 'ns1.trafficz.com'}\n"
    77              "  * Domain: jhon.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 1784 seconds - {'Name': 'ns2.trafficz.com'}\n"
    78              " - Additionals:\n"
    79              "  * Domain: ns1.trafficz.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 13 seconds - {'IPAddress': '209.59.194.246'}\n"
    80              "  * Domain: ns2.trafficz.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 133 seconds - {'IPAddress': '209.59.195.246'}\n")
    81  
    82          chk(b"\xef\x55\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x04\x6d\x61\x69"
    83              b"\x6c\x06\x67\x6f\x6f\x67\x6c\x65\x03\x63\x6f\x6d\x00\x00\x01\x00"
    84              b"\x01",
    85              "DNS QUERY\n"
    86              " - Transaction ID -- [0xef55] 61269\n"
    87              " - Flags ----------- [0x0100] 256\n"
    88              " - QdCount --------- [0x0001] 1\n"
    89              " - AnCount --------- [0x0000] 0\n"
    90              " - NsCount --------- [0x0000] 0\n"
    91              " - ArCount --------- [0x0000] 0\n"
    92              " - Questions:\n"
    93              "  * Domain: mail.google.com - Type: A [0x0001] - Class: IN [0x0001]\n")
    94  
    95          chk(b"\xef\x55\x81\x80\x00\x01\x00\x04\x00\x04\x00\x04\x04\x6d\x61\x69"
    96              b"\x6c\x06\x67\x6f\x6f\x67\x6c\x65\x03\x63\x6f\x6d\x00\x00\x01\x00"
    97              b"\x01\xc0\x0c\x00\x05\x00\x01\x00\x00\x06\x79\x00\x0f\x0a\x67\x6f"
    98              b"\x6f\x67\x6c\x65\x6d\x61\x69\x6c\x01\x6c\xc0\x11\xc0\x2d\x00\x01"
    99              b"\x00\x01\x00\x00\x00\x77\x00\x04\xd1\x55\xc3\x53\xc0\x2d\x00\x01"
   100              b"\x00\x01\x00\x00\x00\x77\x00\x04\xd1\x55\xc3\x12\xc0\x2d\x00\x01"
   101              b"\x00\x01\x00\x00\x00\x77\x00\x04\xd1\x55\xc3\x13\xc0\x11\x00\x02"
   102              b"\x00\x01\x00\x00\x00\x5d\x00\x06\x03\x6e\x73\x33\xc0\x11\xc0\x11"
   103              b"\x00\x02\x00\x01\x00\x00\x00\x5d\x00\x06\x03\x6e\x73\x34\xc0\x11"
   104              b"\xc0\x11\x00\x02\x00\x01\x00\x00\x00\x5d\x00\x06\x03\x6e\x73\x31"
   105              b"\xc0\x11\xc0\x11\x00\x02\x00\x01\x00\x00\x00\x5d\x00\x06\x03\x6e"
   106              b"\x73\x32\xc0\x11\xc0\x9c\x00\x01\x00\x01\x00\x00\x04\x4e\x00\x04"
   107              b"\xd8\xef\x20\x0a\xc0\xae\x00\x01\x00\x01\x00\x00\x06\x64\x00\x04"
   108              b"\xd8\xef\x22\x0a\xc0\x78\x00\x01\x00\x01\x00\x00\x00\x05\x00\x04"
   109              b"\xd8\xef\x24\x0a\xc0\x8a\x00\x01\x00\x01\x00\x00\x00\x08\x00\x04"
   110              b"\xd8\xef\x26\x0a",
   111              "DNS RESPONSE\n"
   112              " - Transaction ID -- [0xef55] 61269\n"
   113              " - Flags ----------- [0x8180] 33152\n"
   114              " - QdCount --------- [0x0001] 1\n"
   115              " - AnCount --------- [0x0004] 4\n"
   116              " - NsCount --------- [0x0004] 4\n"
   117              " - ArCount --------- [0x0004] 4\n"
   118              " - Questions:\n"
   119              "  * Domain: mail.google.com - Type: A [0x0001] - Class: IN [0x0001]\n"
   120              " - Answers:\n"
   121              "  * Domain: mail.google.com - Type: CNAME [0x0005] - Class: IN [0x0001] - TTL: 1657 seconds - {'Name': 'googlemail.l.google.com'}\n"
   122              "  * Domain: googlemail.l.google.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 119 seconds - {'IPAddress': '209.85.195.83'}\n"
   123              "  * Domain: googlemail.l.google.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 119 seconds - {'IPAddress': '209.85.195.18'}\n"
   124              "  * Domain: googlemail.l.google.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 119 seconds - {'IPAddress': '209.85.195.19'}\n"
   125              " - Authoritative:\n"
   126              "  * Domain: google.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 93 seconds - {'Name': 'ns3.google.com'}\n"
   127              "  * Domain: google.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 93 seconds - {'Name': 'ns4.google.com'}\n"
   128              "  * Domain: google.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 93 seconds - {'Name': 'ns1.google.com'}\n"
   129              "  * Domain: google.com - Type: NS [0x0002] - Class: IN [0x0001] - TTL: 93 seconds - {'Name': 'ns2.google.com'}\n"
   130              " - Additionals:\n"
   131              "  * Domain: ns1.google.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 1102 seconds - {'IPAddress': '216.239.32.10'}\n"
   132              "  * Domain: ns2.google.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 1636 seconds - {'IPAddress': '216.239.34.10'}\n"
   133              "  * Domain: ns3.google.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 5 seconds - {'IPAddress': '216.239.36.10'}\n"
   134              "  * Domain: ns4.google.com - Type: A [0x0001] - Class: IN [0x0001] - TTL: 8 seconds - {'IPAddress': '216.239.38.10'}\n")
   135  
   136  if __name__=='__main__':
   137      unittest.main(verbosity=1)