Giter Club home page Giter Club logo

dnsclient's Issues

I improved your dnsclient, now can retern a ip list

  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

IPv6 also can be resolved

  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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.