forked from Drushti21/Osint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
macSpoofer.py
37 lines (32 loc) · 1.23 KB
/
macSpoofer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import subprocess as sp
import optparse as op
import randmac
import time
import os
import re
def get_arguments():
parser = op.OptionParser()
parser.add_option("-i", "--interface", dest="interface", help="Your interface")
parser.add_option("-t", "--time", dest="timeInv", help="Time interval in seconds")
(options, arguments) = parser.parse_args()
return options
def mac():
return str(randmac.RandMac("00:00:00:00:00:00", True))
def changemac(interface):
try:
sp.call("ifconfig " + interface + " down", shell=True)
sp.call("ifconfig " + interface + " hw ether " + mac(), shell=True)
sp.call("ifconfig " + interface + " up", shell=True)
ifconfig_result = sp.check_output("ifconfig " + interface, shell=True)
mac_result = re.search(r"\w\w:\w\w:\w\w:\w\w:\w\w:\w\w", ifconfig_result.decode("utf-8"))
print("[+] Mac address has been changed to: " + mac_result.group(0))
except:
print("[!] Incorrect interface")
options = get_arguments()
euid = os.geteuid()
if euid != 0:
print("Script not started as root. Running script with sudo..")
else:
while True:
changemac(options.interface)
time.sleep(float(options.timeInv))