def main(argv): logging.basicConfig(level=logging.INFO) #logging.getLogger('model').setLevel(logging.INFO) # we must have big privileges... if os.getuid() + os.geteuid() != 0: log.error("You must be root/using sudo to read memory and sniff traffic. So there's no point in going further") return if not os.access('outputs', os.X_OK) : os.mkdir('outputs/') options=buildTuples(_targets) threads=[] forked=0 # get sniffer up sniffer = utils.launchScapy() for pid,proc in options: log.info("Searching in %s/%d memory"%(proc.name,proc.pid)) conn = utils.checkConnections(proc) if not conn and 'ssh-agent' != proc.name: continue log.info('Adding this pid to watch list') runthread(_targets[proc.name], sniffer, proc,conn) forked+=1 log.info('Subprocess launched on pid %d'%(proc.pid)) for p in Processes: p.join() time.sleep(5) log.info(' ============== %d process forked. look into outputs/ for data '%(forked)) sys.exit(0) return 0