-
Notifications
You must be signed in to change notification settings - Fork 2
/
macChanger.py
67 lines (53 loc) · 2.25 KB
/
macChanger.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import subprocess
import optparse
import re
import sys
class MacChanger():
def __init__(self):
self.description=""
self.kullanim=""
if sys.version_info[0] >= 3:
self.desciption = "Mac Adresi Değiştirme Python Scripti"
self.kullanim = "Örnek Kullanım: python macChanger.py --arayuz wlan0 --mac 00:11:99:88:77:66"
else:
self.desciption = unicode("Mac Adresi Değiştirme Python Scripti", "utf8")
self.kullanim = unicode("Örnek Kullanım: python macChanger.py --arayuz wlan0 --mac 00:11:99:88:77:66", "utf8")
def arguman_al(self):
parse=optparse.OptionParser(description=self.desciption,prog='macChanger',epilog=self.kullanim)
parse.add_option("-i","--arayuz",dest="arayuz",help="Mac adresinin degistirilecegi arayuz")
parse.add_option("-m","--mac",dest="mac",help="Yeni MAC adresi")
(options,arguments)= parse.parse_args()
if not options.arayuz:
parse.error("[-] Lütfen bir arayüz belirtin,daha fazla bilgi için --help kullanın.")
elif not options.mac:
parse.error("[-] Lütfen yeni bir mac adresi giriniz,daha fazla bilgi için --help kullanın.")
else:
return options
def mac_degistir(self,arayuz,mac):
print("[+] "+arayuz+" arayüzü için mac adresi "+mac+ " olarak değiştiriliyor.")
subprocess.call(["ifconfig",arayuz,"down"])
subprocess.call(["ifconfig",arayuz,"hw","ether",mac])
subprocess.call(["ifconfig",arayuz,"up"])
def mac_getir(self,arayuz):
ifconfig_sonuc=subprocess.check_output(["ifconfig",arayuz])
ifconfig_sonuc=str(ifconfig_sonuc)
mac_adres_arama_sonuc=re.search(r"\w\w:\w\w:\w\w:\w\w:\w\w:\w\w",ifconfig_sonuc)
if mac_adres_arama_sonuc:
return mac_adres_arama_sonuc.group(0)
else:
print("[-] Mac adresi okunamadı!")
def mac_adresi_durum(self):
if self.mac_getir(options.arayuz) == options.mac:
print("[+] Mac adresi başarıyla " + self.mac_getir(options.arayuz) + " olarak değiştirildi.")
else:
print("[-] Mac adresi değiştirilemedi!")
def suanki_mac(self,arayuz):
mac=self.mac_getir(str(arayuz))
print("Şuanda kullanılan Mac adresi:"+str(mac))
macChanger=MacChanger()
options=macChanger.arguman_al()
macChanger.suanki_mac(options.arayuz)
macChanger.mac_degistir(options.arayuz,options.mac)
macChanger.mac_adresi_durum()