Создадим инструмент 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 адрес должен состоять из 12 цифр с двоеточием после каждых 2 цифр
если конфиг wlan0 up — включение мак
Мы будем делать все вышеперечисленное с помощью кода Python.
Теперь, чтобы поместить это в код, мы должны импортировать некоторые модули.
подпроцесс импорта
синтаксис subprocess.call («напишите свою КОМАНДУ», shell = True)
Проще говоря, подпроцесс помогает нам написать нашу команду в терминале через наш код.
почему..?
зачем писать код, если мы можем сделать это в интерфейсе командной строки (CLI)
Отвечать:
Это сделает нашу работу проще и займет меньше времени
Также мы можем использовать этот скрипт на многих других устройствах..и т.д..и т.д..
Итак, для каждой ручной команды мы развернем ее в коде, как показано ниже:
subprocess.call('ifconfig wlan0 не работает', 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
Назначение второй переменной
новый_мак = 00:11:22:33:44:55
subprocess.call(‘ifconfig’ + интерфейс + ‘вниз’, shell=True)
subprocess.call([‘ifconfig’ + интерфейс + ‘hw ether’ + new_mac, shell=True)
subprocess.call («ifconfig» + интерфейс + «вверх» shell = True)
Таким образом, сделать его более удобным, сделав эти 2 переменными в качестве пользовательского ввода.
интерфейс = ввод('Введите интерфейс:')
new_mac = input('Введите новый mac add:')
print(‘[+] Изменение mac адреса для’ + interface + ‘ to’ + new_mac)
subprocess.call(‘ifconfig’ + интерфейс + ‘вниз’, shell=True)
subprocess.call([‘ifconfig’ + интерфейс + ‘hw ether’ + new_mac, shell=True)
subprocess.call («ifconfig» + интерфейс + «вверх» shell = True)
Проявите особую осторожность:
Мы создаем этот инструмент для работы в командном терминале Linux.
В Linux нам разрешено давать 2 входа, чтобы они могли выполняться один за другим.
Например, ls -l ИЛИ ls -ltr
С помощью этой штуки анонимный пользователь может навредить нам.
Мы можем исправить это, используя subprocess.call([‘ls’, ‘-l’]) вместо subprocess.call(‘ls’, shell=True)
Итак, переводим его в более безопасный режим. Проверьте ниже: -
subprocess.call([‘ifconfig’, интерфейс, ‘вниз’])
subprocess.call([‘ifconfig’, интерфейс, ‘ hw’, ‘эфир’, new_mac])
subprocess.call([‘ifconfig’, интерфейс, ‘вверх’])
Наш код до сих пор: -
подпроцесс импорта
интерфейс = ввод('Введите интерфейс:')
new_mac = input('Введите новый mac add:')
print(‘[+] Изменение mac адреса для’ + interface + ‘ to’ + new_mac)
subprocess.call([‘ifconfig’, интерфейс, ‘вниз’])
subprocess.call([‘ifconfig’, интерфейс, ‘ hw’, ‘эфир’, 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.