/** Converts the header into a String */ public String toString() { return toStringWithRcode(getRcode()); }
/** Converts the header into a String */ public String toString() { return toStringWithRcode(getRcode()); }
/** Converts the header into a String */ public String toString() { return toStringWithRcode(getRcode()); }
/** Converts the header into a String */ public String toString() { return toStringWithRcode(getRcode()); }
/** * Returns the message's rcode (error code). This incorporates the EDNS * extended rcode. */ public int getRcode() { int rcode = header.getRcode(); OPTRecord opt = getOPT(); if (opt != null) rcode += (opt.getExtendedRcode() << 4); return rcode; }
/** * Returns the message's rcode (error code). This incorporates the EDNS * extended rcode. */ public int getRcode() { int rcode = header.getRcode(); OPTRecord opt = getOPT(); if (opt != null) rcode += (opt.getExtendedRcode() << 4); return rcode; }
/** * Returns the message's rcode (error code). This incorporates the EDNS * extended rcode. */ public int getRcode() { int rcode = header.getRcode(); OPTRecord opt = getOPT(); if (opt != null) rcode += (opt.getExtendedRcode() << 4); return rcode; }
/** * Returns the message's rcode (error code). This incorporates the EDNS * extended rcode. */ public int getRcode() { int rcode = header.getRcode(); OPTRecord opt = getOPT(); if (opt != null) rcode += (opt.getExtendedRcode() << 4); return rcode; }
assertEquals(NOERROR, responseMsg.getHeader().getRcode()); assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER)); assertNotEquals(0, responseMsg.getSectionArray(Section.AUTHORITY).length);
return; int rcode = response.getHeader().getRcode(); if (rcode != Rcode.NOERROR && rcode != Rcode.NXDOMAIN) {
return; int rcode = response.getHeader().getRcode(); if (rcode != Rcode.NOERROR && rcode != Rcode.NXDOMAIN) {
if (h.getRcode() == Rcode.NOERROR)
assertEquals(NOERROR, responseMsg.getHeader().getRcode()); assertArrayEquals(new Record[] {}, responseMsg.getSectionArray(Section.ANSWER)); assertNotEquals(0, responseMsg.getSectionArray(Section.AUTHORITY).length);
@Override protected void processPacketPayload(Packet packet, byte[] payload) { String protocol = (String)packet.get(Packet.PROTOCOL); if (!PcapReader.PROTOCOL_UDP.equals(protocol) && !PcapReader.PROTOCOL_TCP.equals(protocol)) return; DnsPacket dnsPacket = (DnsPacket)packet; if (DNS_PORT == (Integer)packet.get(Packet.SRC_PORT) || DNS_PORT == (Integer)packet.get(Packet.DST_PORT)) { if (PROTOCOL_TCP.equals(protocol) && payload.length > 2) // TODO Support DNS responses with multiple messages (as used for XFRs) payload = Arrays.copyOfRange(payload, 2, payload.length); // First two bytes denote the size of the DNS message, ignore them try { Message msg = new Message(payload); Header header = msg.getHeader(); dnsPacket.put(DnsPacket.QUERYID, header.getID()); dnsPacket.put(DnsPacket.FLAGS, header.printFlags()); dnsPacket.put(DnsPacket.QR, header.getFlag(Flags.QR)); dnsPacket.put(DnsPacket.OPCODE, Opcode.string(header.getOpcode())); dnsPacket.put(DnsPacket.RCODE, Rcode.string(header.getRcode())); dnsPacket.put(DnsPacket.QUESTION, convertRecordToString(msg.getQuestion())); dnsPacket.put(DnsPacket.QNAME, convertRecordOwnerToString(msg.getQuestion())); dnsPacket.put(DnsPacket.QTYPE, convertRecordTypeToInt(msg.getQuestion())); dnsPacket.put(DnsPacket.ANSWER, convertRecordsToStrings(msg.getSectionArray(Section.ANSWER))); dnsPacket.put(DnsPacket.AUTHORITY, convertRecordsToStrings(msg.getSectionArray(Section.AUTHORITY))); dnsPacket.put(DnsPacket.ADDITIONAL, convertRecordsToStrings(msg.getSectionArray(Section.ADDITIONAL))); } catch (Exception e) { // If we cannot decode a DNS packet we ignore it } } }
if (header.getRcode() != Rcode.NOERROR) return errorMessage(query, Rcode.FORMERR); if (header.getOpcode() != Opcode.QUERY)
byte [] in = client.recv(); Message response = parseMessage(in); if (response.getHeader().getRcode() == Rcode.NOERROR && verifier != null)
byte [] in = client.recv(); Message response = parseMessage(in); if (response.getHeader().getRcode() == Rcode.NOERROR && verifier != null)
byte [] in = client.recv(); Message response = parseMessage(in); if (response.getHeader().getRcode() == Rcode.NOERROR && verifier != null)