Создадим инструмент 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.