diff --git a/.gitignore b/.gitignore index f383c2a..1d5b427 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.log.txt *.pyc +*.swp diff --git a/LANs.py b/LANs.py index 9bd829d..00fc44d 100755 --- a/LANs.py +++ b/LANs.py @@ -166,24 +166,23 @@ def LANsMain(args): ipr = Popen(['/sbin/ip', 'route'], stdout=PIPE, stderr=DN) ipr = ipr.communicate()[0] iprs = ipr.split('\n') - ipr = ipr.split() - if args.routerip: - routerIP = args.routerip - else: - try: - routerIP = ipr[2] - except: - exit("You must be connected to the internet to use this.") + routerIP = None for r in iprs: if '/' in r: IPprefix = r.split()[0] + if r.startswith('default'): + if not args.interface: + interface = r.split()[4] + if not args.routerip: + routerIP = r.split()[2] + if args.routerip: + routerIP = args.routerip + if not routerIP: + exit("[-] You must be connected to the internet to use this.") if args.interface: interface = args.interface - else: - interface = ipr[4] if 'eth' in interface or 'p3p' in interface: - exit( - '[-] Wired interface found as default route, please connect wirelessly and retry, or specify the active interface with the -i [interface] option. See active interfaces with [ip addr] or [ifconfig].') + exit('[-] Wired interface found as default route, please connect wirelessly and retry, or specify the active interface with the -i [interface] option. See active interfaces with [ip addr] or [ifconfig].') if args.ipaddress: victimIP = args.ipaddress else: @@ -1276,6 +1275,7 @@ def iwconfig(): DN = open(os.devnull, 'w') proc = Popen(['iwconfig'], stdout=PIPE, stderr=DN) for line in proc.communicate()[0].split('\n'): + print line if len(line) == 0: continue # Isn't an empty string if line[0] != ' ': # Doesn't start with space wired_search = re.search('eth[0-9]|em[0-9]|p[1-9]p[1-9]', line) diff --git a/README.md b/README.md index 758c16c..26021a2 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,12 @@ LANs.py * Automatically find the most active WLAN users then spy on one of them and/or inject arbitrary HTML/JS into pages they visit. * Individually poisons the ARP tables of the target box, the router and the DNS server if necessary. Does not poison anyone else on the network. Displays all most the interesting bits of their traffic and can inject custom html into pages they visit. Cleans up after itself. -* Also can be used to continuosly jam nearby WiFi networks. This has an approximate range of a 1 block radius, but this can vary based off of the strength of your WiFi card. This can be fine tuned to allow jamming of everyone or even just one client. (Cannot jam WiFi and spy simultaneously) +* Also can be used to continuously jam nearby WiFi networks. This has an approximate range of a 1 block radius, but this can vary based off of the strength of your WiFi card. This can be fine-tuned to allow jamming of everyone or even just one client. Cannot jam WiFi and spy simultaneously. Prerequisites: Linux, python-scapy, python-nfqueue (nfqueue-bindings 0.4-3), aircrack-ng, python-twisted, BeEF (optional), nmap, nbtscan, and a wireless card capable of promiscuous mode if you don't know the IP of your target. -Tested on Kali 1.0. In the following examples 192.168.0.5 will be the attacking machine and 192.168.0.10 will be the victim. +Tested on Kali. In the following examples 192.168.0.5 will be the attacking machine and 192.168.0.10 will be the victim. All options: