dnsclient icon indicating copy to clipboard operation
dnsclient copied to clipboard

IPv6 also can be resolved

Open breakwa2333 opened this issue 5 years ago • 0 comments

  ip_list = []
  if qtype.lower() == 'a' and data[60:64].int > 0:
    for x in range(len(data), 0, -128):
      if data[x:x + 16] == data[-128:-112]:
        for y in range(128):
          if data[x:x + 128][y:y + 20] == hex(65537):
            ip_list.append(".".join(
              [str(data[x + 96:x + 104].uintbe), str(data[x + 104:x + 112].uintbe),
               str(data[x + 112:x + 120].uintbe), str(data[x + 120:x + 128].uintbe)]))
  else:
    if qtype.lower() == 'aaaa':
      for x in range(len(data), 0, -224):
        if data[x:x + 16] == hex(49164) and str(data[76:80].hex) == '0':
          answer = ":".join(
            [str(hex(data[x + 96:x + 112].uintbe))[2:], str(hex(data[x + 112:x + 128].uintbe))[2:],
             str(hex(data[x + 128:x + 144].uintbe))[2:], str(hex(data[x + 144:x + 160].uintbe))[2:],
             str(hex(data[x + 160:x + 176].uintbe))[2:], str(hex(data[x + 176:x + 192].uintbe))[2:],
             str(hex(data[x + 192:x + 208].uintbe))[2:], str(hex(data[x + 208:x + 224].uintbe))[2:]])
          ip_list.append(answer[:answer.rfind(':0') + 2].replace(':0', '') + ':' + answer[answer.rfind(':0') + 2:])
  result['ip_address'] = ip_list

breakwa2333 avatar May 15 '19 08:05 breakwa2333