def data_example(self): queries = {'www.nic.cl': 5, 'www.niclabs.cl': 4, 'www.uchile.cl': 3, 'www.jerry.cl': 3, 'www.pinky.cl': 2} data = PacketsExample(queries) # Returns a list with the elements of # the dict in descending order of its keys data.put_information('sortedQnames', map(list, sorted(queries.items(), key=operator.itemgetter( 1), reverse=True))) for i in range(5): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.nic.cl'}]}) for i in range(4): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.niclabs.cl'}]}) for i in range(3): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.uchile.cl'}]}) for i in range(3): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.jerry.cl'}]}) for i in range(2): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.pinky.cl'}]}) 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_example(self): data = PacketsExample() data.do_not_change_order() list_of_answers = [] for i in range(5): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl'}]}) for i in range(4): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.niclabs.cl'}]}) list_of_answers.append({'flags': '8000', 'queries': [ {'qname': 'www.niclabs.cl'}]}) for i in range(3): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.uchile.cl'}]}) list_of_answers.append({'flags': '8000', 'queries': [ {'qname': 'www.uchile.cl'}]}) for i in range(3): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.jerry.cl'}]}) for i in range(2): data.add_packet({'flags': '8000', 'queries': [ {'qname': 'www.pinky.cl'}]}) list_of_answers.append( {'flags': '8000', 'queries': [{'qname': 'www.pinky.cl'}]}) data.put_information('answers', list_of_answers) 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() 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(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 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(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_equal_rating(self): n = 10 queries = {'www.nic.cl': n, 'www.niclabs.cl': n, 'www.uchile.cl': n, 'www.jerry.cl': n, 'www.pinky.cl': n} data = PacketsExample(queries) data.put_information('equalQnames', 5) for i in range(n): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl'}]}) for i in range(n): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.niclabs.cl'}]}) for i in range(n): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.uchile.cl'}]}) for i in range(n): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.jerry.cl'}]}) for i in range(n): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.pinky.cl'}]}) return data
def data_different_case(self): queries = {'www.nic.cl': 10, 'www.niclabs.cl': 5, 'wwww.niclabs.cl': 6} data = PacketsExample(queries) # Returns a list with the elements of # the dict in descending order of its keys data.put_information('sortedQnames', map(list, sorted(queries.items(), key=operator.itemgetter( 1), reverse=True))) for i in range(5): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.nic.cl'}]}) for i in range(5): data.add_packet({'flags': '0', 'queries': [ {'qname': 'WWW.NIC.CL'}]}) for i in range(5): data.add_packet({'flags': '0', 'queries': [ {'qname': 'www.niclabs.cl'}]}) for i in range(6): data.add_packet({'flags': '0', 'queries': [ {'qname': 'WwWW.NicLaBs.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': '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('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': '0', 'queries': [ {'qname': 'www.nic.cl'}]}) data.set_expected("set", 5) data.put_information('rdBit', ["set"]) 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_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_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(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_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(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_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_example(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) data.put_information( 'QNames', {'www.niclabs.cl', 'www.uchile.cl', 'www.pinky.cl'}) 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_repeat_error(self): data = PacketsExample() data.put_information('problematicSources', { 'encrypted(ip1)': [{'qname': 'www.ni_c.cl', 'qtype': '1'}], 'encrypted(ip2)': [{'qname': 'www.nic_labs.cl', 'qtype': '2'}]}) count_of_errors = {} for i in range(3): data.add_packet({'source': 'encrypted(ip1)', 'flags': '0', 'queries': [{'qname': 'www.ni_c.cl', 'qtype': '1'}]}) count_of_errors['encrypted(ip1)'] = 3 for i in range(2): data.add_packet({'source': 'encrypted(ip2)', 'flags': '0', 'queries': [{'qname': 'www.nic_labs.cl', 'qtype': '2'}]}) count_of_errors['encrypted(ip2)'] = 2 data.put_information('countOfErrors', count_of_errors) 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