dnsclient
dnsclient copied to clipboard
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