def _draw(self, png, layer): try: os.remove(png) except OSError: pass packets = ScapySource.load(['test.pcap']) g = GraphManager(packets, layer=layer) g.draw(filename=png) self.assertTrue(os.path.exists(png))
help='print frequent source nodes to stdout') args = parser.parse_args() if args.pcaps: packets = ScapySource.load(args.pcaps) #if args.exclude: # packet_ls = exclude_ips(packet_lists=packet_ls, ips=args.exclude) if args.layer2: layer = 2 elif args.layer3: layer = 3 elif args.layer4: layer = 4 else: layer = 3 g = GraphManager(packets, layer=layer) if args.out: g.draw(filename=args.out) if args.frequent_in: g.get_in_degree() if args.frequent_out: g.get_out_degree() if args.graphviz: g.get_graphviz_format(args.graphviz)
parser.add_argument('-fo', '--frequent-out', action='store_true', help='print frequent source nodes to stdout') args = parser.parse_args() if args.pcaps: packets = ScapySource.load(args.pcaps) #if args.exclude: # packet_ls = exclude_ips(packet_lists=packet_ls, ips=args.exclude) if args.layer2: layer = 2 elif args.layer3: layer = 3 elif args.layer4: layer = 4 else: layer = 3 g = GraphManager(packets, layer=layer) if args.out: g.draw(filename=args.out) if args.frequent_in: g.get_in_degree() if args.frequent_out: g.get_out_degree() if args.graphviz: g.get_graphviz_format(args.graphviz)
layer = 3 if args.layer2: layer = 2 elif args.layer4: layer = 4 args.nmax = int(args.nmax) g = GraphManager(packets, layer=layer, args=args) nn = len(g.graph.nodes()) if nn > args.nmax: print('Asked to draw %d nodes with --nmax set to %d. Will also do useful protocols separately' % (nn,args.nmax)) for kind in llook.keys(): subset = [x for x in packets if x.haslayer(kind) and x != None] if len(subset) > 2: sg = GraphManager(subset,layer=layer, args=args) nn = len(sg.graph.nodes()) if nn > 2: ofn = '%s_%d_%s' % (kind,nn,args.out) sg.draw(filename = ofn) print('drew %s %d nodes' % (ofn,nn)) if args.out: g.draw(filename=args.out) if args.frequent_in: g.get_in_degree() if args.frequent_out: g.get_out_degree() if args.graphviz: g.get_graphviz_format(args.graphviz)