def data_example(self): data = PacketsExample() data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.uchile.cl', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.123456.cl', 'qtype': 2}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.123.cl', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'dcc.uchile.cl', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.niclabs.cl', 'qtype': 2}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'a.cl', 'qtype': 3}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'b.cl', 'qtype': 3}]}) data.set_expected(1, {10: 2, 13: 2}) data.set_expected(2, {13: 1, 14: 1}) data.set_expected(3, {4: 2}) data.put_information('QtypeVSQnamelen', [1, 2, 3]) return data
def data_example(self): data = PacketsExample() for i in range(30): data.add_packet({'flags': '0', 'source': '12345678', 'queries': [ {'qname': 'www.nic.cl.', 'qtype': 1}]}) for i in range(12): data.add_packet({'flags': '0', 'source': '87654321', 'queries': [ {'qname': 'www.niclabs.cl.', 'qtype': 2}]}) data.add_packet({'flags': '0', 'source': '8765432100', 'queries': [ {'qname': 'www.niclabs.cl.', 'qtype': 2}]}) for i in range(25): data.add_packet({'flags': '0', 'source': '12348765', 'queries': [ {'qname': 'www.uchile.cl.', 'qtype': 3}]}) data.add_packet({'flags': '0', 'source': '1234876500', 'queries': [ {'qname': 'www.uchile.cl.', 'qtype': 3}]}) data.add_packet({'flags': '0', 'source': '12345678', 'queries': [ {'qname': 'www.uchile.cl.', 'qtype': 3}]}) data.set_expected('IPv4', {1: 30, 2: 12, 3: 50}) data.set_expected('IPv6', {2: 12, 3: 25}) data.put_information('DnsIpVersionVSQtype', ['IPv4', 'IPv6']) return data
def data_repeat_error(self): data = PacketsExample() data.put_information('problematicQNames', { 'www.ni_c.cl', 'www.nic_labs.cl'}) expected_list = [] for i in range(3): data.add_packet({'dest': 'encrypted(dnsip1)', 'source': 'encrypted(ip1)', 'flags': '0', 'queries': [ {'qname': 'www.ni_c.cl', 'qtype': '1'}]}) expected_list.append({'server': 'encrypted(dnsip1)', 'sender': 'encrypted(ip1)', 'query': { 'qname': 'www.ni_c.cl', 'qtype': '1'}}) data.set_expected('www.ni_c.cl', expected_list) expected_list = [] for i in range(2): data.add_packet({'dest': 'encrypted(dnsip2)', 'source': 'encrypted(ip2)', 'flags': '0', 'queries': [ {'qname': 'www.nic_labs.cl', 'qtype': '2'}]}) expected_list.append({'server': 'encrypted(dnsip2)', 'sender': 'encrypted(ip2)', 'query': { 'qname': 'www.nic_labs.cl', 'qtype': '2'}}) data.set_expected('www.nic_labs.cl', expected_list) return data
def data_example(self): data = PacketsExample() for i in range(50): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl.', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.uchile.cl.', 'qtype': 2}]}) for i in range(50): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.google.com.', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.facebook.com.', 'qtype': 2}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.asdf.net.', 'qtype': 3}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.qwerty.net.', 'qtype': 3}]}) data.set_expected(1, {'cl': 50, 'com': 50}) data.set_expected(2, {'cl': 50, 'com': 50}) data.set_expected(3, {'net': 2}) data.put_information('QtypeVSTld', [1, 2, 3]) return data
def data_example(self): data = PacketsExample() for i in range(3): data.add_packet({"flags": "0", "queries": [{"qname": u"www.nic.xn--cm-5ja."}]}) data.add_packet({"flags": "0", "queries": [{"qname": u"www.uchile.cl."}]}) data.add_packet( { "flags": "0", "queries": [{"qname": u"data-agkn-com-1198526359." + u"us-east-1.elb.amazonaws.com.imunimacu.cl."}], } ) data.add_packet( { "flags": "0", "queries": [ {"qname": u"data-agkn-com-1198526359.us-east-1" + u".elb.amazonaws.com.xn--imunimacu-t6a.cl."} ], } ) data.set_expected(unicode("xn--cm-5ja", "utf8").encode("idna"), 3) data.set_expected(unicode("cl", "utf8").encode("idna"), 3) data.put_information("IdnVSTld", [unicode("cóm", "utf8").encode("idna"), unicode("cl", "utf8").encode("idna")]) return data
def data_example(self): data = PacketsExample() for i in range(5): data.add_packet({"flags": "8000", "queries": [{"qname": "www.nic.cl"}]}) data.set_expected("www.nic.cl", 5) for i in range(4): data.add_packet({"flags": "0", "queries": [{"qname": "www.niclabs.cl"}]}) data.set_expected("www.niclabs.cl", 4) for i in range(3): data.add_packet({"flags": "0", "queries": [{"qname": "www.uchile.cl"}]}) data.set_expected("www.uchile.cl", 3) for i in range(3): data.add_packet({"flags": "8000", "queries": [{"qname": "www.jerry.cl"}]}) data.set_expected("www.jerry.cl", 3) for i in range(2): data.add_packet({"flags": "0", "queries": [{"qname": "www.pinky.cl"}]}) data.set_expected("www.pinky.cl", 2) data.put_information( "QNames", {"www.nic.cl", "www.niclabs.cl", "www.uchile.cl", "www.jerry.cl", "www.pinky.cl"} ) return data
def dataExample(self): data = PacketsExample() data.add_packet({'flags': '0', 'queries': []}) data.set_expected('', 1) data.put_information('QNames', {''}) return data
def data_example(self): data = PacketsExample() for i in range(5): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl'}]}) data.set_expected('512-1023', 5) data.put_information("EdnsBufsiz", ['512-1023']) return data
def data_example(self): data = PacketsExample() for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.nic.cl'}]}) data.set_expected(0, 5) data.put_information("Rcode", [0]) return data
def data_example(self): data = PacketsExample() for i in range(5): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl'}]}) data.set_expected("set", 5) data.put_information('rdBit', ["set"]) return data
def data_without_alonePackets(self): data = PacketsExample({'queries': 2, 'answers': 2}) data.add_packet({'flags': '8000', 'id': '1111'}) data.add_packet({'flags': '0', 'id': '12cb'}) data.add_packet({'flags': '8000', 'id': '12cb'}) data.add_packet({'flags': '0', 'id': '1111'}) data.set_expected('AloneAnswers', []) data.set_expected('AloneQueries', []) return data
def data_without_answers(self): queries = [{'flags': '0', 'id': 'a6c7'}, {'flags': '0', 'id': '5433'}, {'flags': '0', 'id': 'a276'}, {'flags': '0', 'id': '4321'}] data = PacketsExample({'queries': len(queries), 'answers': 0}) for query in queries: data.add_packet(query) data.set_expected('AloneAnswers', []) data.set_expected('AloneQueries', queries) return data
def data_without_queries(self): answers = [{'flags': '8000', 'id': 'a6c7'}, { 'flags': '8000', 'id': '5433'}, {'flags': '8000', 'id': 'a276'}] data = PacketsExample({'queries': 0, 'answers': len(answers)}) for answer in answers: data.add_packet(answer) data.set_expected('AloneAnswers', answers) data.set_expected('AloneQueries', []) return data
def data_example(self): data = PacketsExample() for i in range(30): data.add_packet({"flags": "8000", "source": "12345678", "queries": [{"qname": "www.nic.cl."}]}) for i in range(25): data.add_packet({"flags": "8000", "source": "1234567890", "queries": [{"qname": "www.uchile.cl."}]}) data.set_expected("udp", {"IPv4": 30, "IPv6": 25}) data.put_information("TrafficVolumeResponses", ["udp"]) return data
def data_example(self): data = PacketsExample({'queries': 2, 'answers': 2}) answer_without_query = {'flags': '8000', 'id': '1111'} query_without_answer = {'flags': '0', 'id': '3333'} data.add_packet(answer_without_query) # Answer without query data.add_packet({'flags': '0', 'id': '12cb'}) data.add_packet({'flags': '8000', 'id': '12cb'}) data.add_packet(query_without_answer) # Query without answer data.set_expected('AloneAnswers', [answer_without_query]) data.set_expected('AloneQueries', [query_without_answer]) return data
def data_different_case(self): data = PacketsExample() data.put_information("problematicQName", "www.ni_c.cl") expected_list = [] data.add_packet( { "dest": "encrypted(dnsip1)", "source": "encrypted(ip1)", "flags": "0", "queries": [{"qname": "www.ni_c.cl", "qtype": "1"}], } ) expected_list.append( {"server": "encrypted(dnsip1)", "sender": "encrypted(ip1)", "query": {"qname": "www.ni_c.cl", "qtype": "1"}} ) data.add_packet( { "dest": "encrypted(dnsip1)", "source": "encrypted(ip1)", "flags": "0", "queries": [{"qname": "WWW.NI_C.CL", "qtype": "1"}], } ) expected_list.append( {"server": "encrypted(dnsip1)", "sender": "encrypted(ip1)", "query": {"qname": "WWW.NI_C.CL", "qtype": "1"}} ) data.set_expected("www.ni_c.cl", expected_list) data.add_packet( { "dest": "encrypted(dnsip1)", "source": "encrypted(ip1)", "flags": "0", "queries": [{"qname": "wwww.ni_c.cl", "qtype": "1"}], } ) data.add_packet( { "dest": "encrypted(dnsip1)", "source": "encrypted(ip1)", "flags": "0", "queries": [{"qname": "WWW:NI_C.CL", "qtype": "1"}], } ) return data
def data_only_answers(self): data = PacketsExample() for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.nic.cl'}]}) data.set_expected('www.nic.cl', 5) for i in range(3): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.jerry.cl'}]}) data.set_expected('www.jerry.cl', 3) return data
def data_example(self): data = PacketsExample() for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.nic.cl'}]}) data.set_expected('www.nic.cl', 5) for i in range(3): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.jerry.cl'}]}) data.set_expected('www.jerry.cl', 3) data.put_information('QNames', {'www.nic.cl', 'www.jerry.cl'}) return data
def data_different_case(self): data = PacketsExample() for i in range(5): data.add_packet({"flags": "8000", "queries": [{"qname": "www.nic.cl"}]}) for i in range(5): data.add_packet({"flags": "8000", "queries": [{"qname": "WWW.NIC.CL"}]}) data.set_expected("www.nic.cl", 10) for i in range(5): data.add_packet({"flags": "8000", "queries": [{"qname": "WWW:NIC.CL"}]}) for i in range(5): data.add_packet({"flags": "8000", "queries": [{"qname": "wwww.nic.cl"}]}) data.put_information("criticalQName", "www.nic.cl") return data
def data_example(self): data = PacketsExample() for i in range(5): data.add_packet({'dest': 'encrypted(dnsip1)', 'source': 'encrypted(ip1)', 'flags': '0', 'queries': [ {'qname': 'www.ni_c.cl', 'qtype': '1'}]}) data.set_expected("encrypted(ip1)", 5) data.put_information("src", ["encrypted(ip1)"]) return data
def data_example(self): data = PacketsExample() for i in range(30): data.add_packet({"flags": "0", "queries": [{"qname": "www.nic.cl.", "qtype": 1}]}) data.add_packet({"flags": "0", "queries": [{"qname": "www.nic.cl.", "qtype": 2}]}) for i in range(25): data.add_packet({"flags": "0", "queries": [{"qname": "www.uchile.cl.", "qtype": 3}]}) data.set_expected(1, {"www.nic.cl.": 30}) data.set_expected(2, {"www.nic.cl.": 30}) data.set_expected(3, {"www.uchile.cl.": 25}) data.put_information("ChaosTypesAndNames", [1, 2, 3]) return data
def data_example(self): data = PacketsExample() for i in range(30): data.add_packet({'flags': '0', 'source': '12345678', 'queries': [{'qname': 'www.nic.cl.'}]}) for i in range(25): data.add_packet({'flags': '0', 'source': '1234567890', 'queries': [{'qname': 'www.uchile.cl.'}]}) data.set_expected('udp', {'IPv4': 30, 'IPv6': 25}) data.put_information('TrafficVolumeQueries', ['udp']) return data
def data_example(self): data = PacketsExample() for i in range(30): data.add_packet({'flags': '8000', 'queries': [{'qname': 'www.nic.cl.'}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.niclabs.cl.'}]}) for i in range(25): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.uchile.cl.'}]}) data.set_expected(0, {15: 55}) data.put_information('RcodeVSReplylen', [0]) return data
def data_example(self): data = PacketsExample() for i in range(5): data.add_packet( { "dest": "encrypted(dnsip1)", "source": "encrypted(ip1)", "flags": "0", "queries": [{"qname": "www.ni_c.cl", "qtype": "1"}], } ) data.set_expected("1", 5) data.put_information("Qtype", ["1"]) return data
def data_different_case(self): data = PacketsExample() for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.nic.cl'}]}) for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'WWW.NIC.CL'}]}) data.set_expected('www.nic.cl', 10) for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'WWW:NIC.CL'}]}) for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'wwww.nic.cl'}]}) data.put_information('criticalQName', 'www.nic.cl') return data
def data_repeat_error(self): data = PacketsExample() data.put_information("problematicQNames", {"www.ni_c.cl", "www.nic_labs.cl"}) expected_list = [] for i in range(3): data.add_packet( { "dest": "encrypted(dnsip1)", "source": "encrypted(ip1)", "flags": "0", "queries": [{"qname": "www.ni_c.cl", "qtype": "1"}], } ) expected_list.append( { "server": "encrypted(dnsip1)", "sender": "encrypted(ip1)", "query": {"qname": "www.ni_c.cl", "qtype": "1"}, } ) data.set_expected("www.ni_c.cl", expected_list) expected_list = [] for i in range(2): data.add_packet( { "dest": "encrypted(dnsip2)", "source": "encrypted(ip2)", "flags": "0", "queries": [{"qname": "www.nic_labs.cl", "qtype": "2"}], } ) expected_list.append( { "server": "encrypted(dnsip2)", "sender": "encrypted(ip2)", "query": {"qname": "www.nic_labs.cl", "qtype": "2"}, } ) data.set_expected("www.nic_labs.cl", expected_list) return data
def data_different_case(self): data = PacketsExample() data.put_information('problematicQName', 'www.ni_c.cl') expected_list = [] data.add_packet({'dest': 'encrypted(dnsip1)', 'source': 'encrypted(ip1)', 'flags': '0', 'queries': [ {'qname': 'www.ni_c.cl', 'qtype': '1'}]}) expected_list.append({'server': 'encrypted(dnsip1)', 'sender': 'encrypted(ip1)', 'query': { 'qname': 'www.ni_c.cl', 'qtype': '1'}}) data.add_packet({'dest': 'encrypted(dnsip1)', 'source': 'encrypted(ip1)', 'flags': '0', 'queries': [ {'qname': 'WWW.NI_C.CL', 'qtype': '1'}]}) expected_list.append({'server': 'encrypted(dnsip1)', 'sender': 'encrypted(ip1)', 'query': { 'qname': 'WWW.NI_C.CL', 'qtype': '1'}}) data.set_expected('www.ni_c.cl', expected_list) data.add_packet({'dest': 'encrypted(dnsip1)', 'source': 'encrypted(ip1)', 'flags': '0', 'queries': [ {'qname': 'wwww.ni_c.cl', 'qtype': '1'}]}) data.add_packet({'dest': 'encrypted(dnsip1)', 'source': 'encrypted(ip1)', 'flags': '0', 'queries': [ {'qname': 'WWW:NI_C.CL', 'qtype': '1'}]}) return data
def data_example(self): data = PacketsExample() for i in range(50): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl.', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.uchile.cl.', 'qtype': 2}]}) for i in range(50): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.google.com.', 'qtype': 1}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.facebook.com.', 'qtype': 2}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.asdf.net.', 'qtype': 3}]}) data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.qwerty.net.', 'qtype': 3}]}) data.set_expected('udp', {15: 202}) data.put_information('TrafficSizesQueries', ['udp']) return data
def data_example(self): data = PacketsExample() for i in range(30): data.add_packet({"flags": "0", "queries": [{"qname": "localhost.", "qtype": 1}]}) data.add_packet({"flags": "0", "queries": [{"qname": "localhost.", "qtype": 2}]}) data.add_packet({"flags": "0", "queries": [{"qname": "x.root-servers.net.", "qtype": 2}]}) for i in range(25): data.add_packet({"flags": "0", "queries": [{"qname": "www.uchile.cl.", "qtype": 3}]}) data.add_packet({"flags": "0", "queries": [{"qname": "asdf.root-servers.net.", "qtype": 3}]}) data.set_expected("localhost", {1: 30, 2: 30}) data.set_expected("root-servers.net", {2: 30, 3: 25}) data.set_expected("else", {3: 25}) data.put_information("CertainQnamesVSQtype", ["localhost", "root-servers.net", "else"]) return data
def data_only_queries(self): data = PacketsExample() for i in range(4): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.niclabs.cl'}]}) data.set_expected('www.niclabs.cl', 4) for i in range(3): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.uchile.cl'}]}) data.set_expected('www.uchile.cl', 3) for i in range(2): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.pinky.cl'}]}) data.set_expected('www.pinky.cl', 2) return data