Ще създаде инструмент mac_address_changer.py за промяна на mac адреса чрез python
ЗА ПРОМЯНА НА MAC АДРЕСА ЩЕ ДАДЕТЕ ПО-ДОЛУ КОМАНДИ: LINUX
if config — за проверка на текущия mac адрес
if config wlan0 down — за да деактивирате lan преди да дадете новия mac адрес
ifconfig wlan0 hw ether 00:11:22:33:44:55 — предоставяне на нашия нов mac
Забележка:
mac адресът трябва да бъде от 12 цифри с двоеточие след всеки 2 цифри
if config wlan0 up — активиране на mac
Ние ще правим горните неща чрез кодиране на Python.
Сега, за да го поставим в код, трябва да импортираме някои модули
импортиране на подпроцес
синтаксисът е subprocess.call('напишете вашата КОМАНДА',shell=True)
С прости думи подпроцесът ни помага да напишем нашата команда в терминал чрез нашия код.
защо..?
защо да пишем код, ако можем да го направим в интерфейса на командния ред (CLI)
Отговор:
Това ще улесни работата ни и ще ни отнеме по-малко време
Също така можем да използваме този скрипт в много други устройства..и т.н..и т.н.
Така че за всяка ръчна команда ще я внедрим в код като по-долу:
subprocess.call('ifconfig wlan0 down', shell=True)
subprocess.call(['ifconfig wlan0 hw ether 00:11:22:33:44:55', shell=True)
subprocess.call('ifconfig wlan0 up' shell=True)
Забележка:
mac адресът трябва да бъде от 12 цифри с двоеточие след всеки 2 цифри
горният код е лесен, но трябва да го подобрим, като присвоим lan и mac на променлива.
Освен това ще използваме променливите в горните изрази.
Присвояването му на променлива
интерфейс = wlan0
Присвояване на втора променлива
new_mac = 00:11:22:33:44:55
subprocess.call(‘ifconfig’ + интерфейс + ‘down’, shell=True)
subprocess.call([‘ifconfig’ + интерфейс + ‘hw ether’ + new_mac, shell=True)
subprocess.call(‘ifconfig’ + интерфейс + ‘up’ shell=True)
Така че ще го направим по-удобен, като направим тези 2 променливи като потребителски вход.
интерфейс = вход ('Въведете интерфейс:')
new_mac = input('Въведете нов mac add:')
print(‘[+] Промяна на mac адреса за’ + интерфейс + ‘към’ + new_mac)
subprocess.call(‘ifconfig’ + интерфейс + ‘down’, shell=True)
subprocess.call([‘ifconfig’ + интерфейс + ‘hw ether’ + new_mac, shell=True)
subprocess.call(‘ifconfig’ + интерфейс + ‘up’ shell=True)
Обърнете специално внимание:
Създаваме този инструмент за работа в командния терминал на linux.
В Linux ни е позволено да дадем 2 входа, така че да могат да изпълняват всеки по един
Например ls -l ИЛИ ls -ltr
С това нещо анонимният потребител може да ни навреди.
Можем да поправим това, като използваме subprocess.call([‘ls’, ‘-l’]) вместо subprocess.call(‘ls’, shell=True)
И така, преобразувайте го в по-безопасен режим. Проверете по-долу: -
subprocess.call(['ifconfig', интерфейс, 'down'])
subprocess.call(['ifconfig', интерфейс, 'hw', 'ether', new_mac])
subprocess.call(['ifconfig', интерфейс, 'нагоре'])
Нашият код до момента: -
подпроцес за импортиране
интерфейс = вход ('Въведете интерфейс:')
new_mac = input('Въведете ново добавяне на mac:')
print(‘[+] Промяна на mac адреса за’ + интерфейс + ‘към’ + new_mac)
subprocess.call(['ifconfig', интерфейс, 'down'])
subprocess.call(['ifconfig', интерфейс, 'hw', 'ether', new_mac])
subprocess.call(['ifconfig', интерфейс, 'нагоре'])
Какво ще кажете да напишете вашия интерфейс и new_mac директно в терминала за изпълнение.
Идеята е по-долу:
Да приемем, че името на нашия файл е mac_changer.py
За да изпълним или стартираме нашия файл, ще трябва да влезем в терминала като „python mac_changer.py“
Какво ще кажете да го добавите към същия ред като аргументи и да го приложите.
Например:- ‘python mac_changer.py — интерфейс wlan0 — new_mac 00:11:22:33:44:55’
Нека го направим...като импортираме второ име на модул optparse
Ще разгледаме тази тема в следващата история, в противен случай този блог ще стане скучен..c u..Бог да благослови!
Ние ще правим горните неща чрез кодиране на Python.