def buildResponse(query, packetNumber):
message = ('II II' '81 80' # TID, Flags
'00 00' # question count
'00 01' # answer count
'00 00' # authority count
'00 00' # additional count
)
message = message.replace('II II', "%04x" % packetNumber)
for chunk in query.split("."):
message += ' %02x' % len(chunk)
for c in chunk:
message += ' %02x' % ord(c)
message += ' 00'
message += '00 01' # type A query
message += '00 01' # Class IN
#message += 'c0 0c 00 01 00 01' # answer header: type a, class IN
message += "00 00 00 01"
#message += '00 01' # ttl: 1 second?
message += '00 04' # response length
hostchunk = query.split('.')[0]
respIP = binascii.crc32(hostchunk) & 0xffffffff
message += "%08x" % respIP
return message
评论列表
文章目录