diff --git a/src/packet/DNS.py b/src/packet/DNS.py index ce8fb303f111c18a04caeb9c4abb6c462e696e73..52ebe42704e818ccc336317a0682677ec45b3cf8 100644 --- a/src/packet/DNS.py +++ b/src/packet/DNS.py @@ -76,10 +76,13 @@ class DNS(Packet): # Field is query name elif field == "qname" and question_record is not None: old_value = question_record.getfieldval("qname") + suffix = old_value[-1] + old_value_trimmed = old_value[:-1] # Randomly change one character in query name - new_value = old_value - while new_value == old_value: - new_value = Packet.bytes_edit_char(old_value) + new_value_trimmed = old_value_trimmed + while new_value_trimmed == old_value_trimmed: + new_value_trimmed = Packet.bytes_edit_char(old_value_trimmed) + new_value = new_value_trimmed + bytes(chr(suffix), "utf-8") question_record.setfieldval("qname", new_value) # Update checksums