'for each blob, examine each segment (UDP packet) seperately as each will be a DNS Q/A
pair Q/A by ID and return as pairs'

def blobHandler(self, conn, blob):

    connrqs = self.requests.setdefault(conn, {})
    for data in blob:
        try:
            dns = dpkt.dns.DNS(data)
        except Exception as e:
            self._exc(e)
            continue
        if (dns.qr == dpkt.dns.DNS_Q):
            connrqs[dns.id] = [blob.starttime, dns, 0]
        elif (dns.qr == dpkt.dns.DNS_A):
            rq = connrqs.get(dns.id, [None, None, 0])
            rq[2] += 1
            if ('DNSHandler' in dir(self)):
                self.DNSHandler(conn=conn, request=rq[1], response=dns, requesttime=rq[0], responsetime=blob.starttime, responsecount=rq[2])
