Python, Этичный хакинг с Python

#6 Использование модулей питона и выполнение системных команд. Этичный хакинг с Python.

Здравствуйте, дорогие друзья.

Мы разобрались с тем, что такое MAC-адрес, и как его поменять. Теперь предлагаю написать программу или скрипт на питоне для автоматической смены MAC-адреса.

Если Вы задаетесь вопросом, с чего начать программирование, не зная языка, то хочу сказать, что более продуктивный процесс будет тогда, когда у Вас есть цель. Иными словами, мы начнем учиться на примерах.

Мы напишем очень простой скрипт, с помощью которого можно поменять MAC-адрес. Вы уже знаете команды, которые нам нужны для смены MAC-адреса (смотрите 5 урок).

Практически все, о чем бы Вы не подумали, можно реализовать на Python, и скорее всего в сети есть уже готовый модуль, который может это осуществить. Для того, чтобы выполнять системные команды, нам нужен будет модуль «subprocess». Модуль очень удобен при выполнении любых системных команд, независимо от того, какая операционная система будет средой для выполнения (Linux, Windows, Mac OS).

Мы сможем реализовать наши команды из предыдущего 5 урока, и в итоге, мы сможем сменить MAC-адрес, с помощью программы на Python.

Использовать модули очень просто. Достаточно перейти на страницу документации и изучить информацию. Ссылка на модуль «subprocess»:

https://docs.python.org/2/library/subprocess.html

В ней описаны все возможности модуля, функций, которые есть в этом модуле. Настоятельно рекомендую изучать документацию, при обучении не только Python, но и любого другого языка программирования, так как невозможно осветить все моменты этого языка. Нужно выработать привычку читать документацию.

Итак, мы будем использовать модуль «subprocess», который содержит несколько функций, с помощью которых мы можем выполнять довольно похожие операции, так как исполняют системные команды, но при этом различными способами. Некоторые выполняют команды в фоне, некоторые на переднем плане, и ожидают завершения выполнения команд и т. д.

Функция, которую мы будем использовать, называется «call», а название модуля «subprocess». Данная функция выполняет системные команды на переднем плане. Она не исполняет их в фоне, она не запускает их в отдельном потоке. И перед тем, как программа перейдет к следующей строке, ей нужно будет дождаться окончательного выполнения этой команды. Это очень важно, так как мы не хотим, чтобы скрипт завершил работу, и сделал что-то до смены MAC-адреса.

Существует два способа использования этой функции:

python.org

В рамках данного урока мы будем использовать второй способ. Обратите внимание на структуру кода. Он достаточно прост.

Перед тем, как писать программу, нам нужно понять, как работает модуль «subprocess». Перейдем в Kali Linux, и откроем редактор кода «Pycharm».

Нам нужно создать новый файл, который называется «mac_changer.py»:

mac_changer.py

Добавим шебанг в верху «#! /usr/bin/env python», а также импортируем модуль «subprocess»:

модуль subprocess

Теперь воспользуемся модулем, и ставим точку. Обратите внимание, что после точки Pycharm предлагает мне все функции, которые я могу использовать:

модуль subprocess

С этими функциями можно ознакомиться на странице документации.

Далее пишем функцию «call», и редактор кода предлагает нам аргументы, которые принимаются на вход:

функция call

Жмем клавишу «Enter», и появляются скобки, а также описание того, как использовать этот модуль. Строку обрамляем двойными кавычками, и добавим аргумент «shell» со значением «True»:

shell=True

Таким образом можно работать со всеми модулями. Сначала добавляете имя модуля, затем функцию. Обрамляем все скобками, и прописываем аргументы.

Сохраним наш файл:

mac_changer.py

Запустим через IDE, с помощью опции «Run». Видим результат:

run mac_changer.py

Мы видим автоматический вывод команды «ifconfig».

На этом все. Всем хорошего дня!

Читайте предыдущие статьи:

Первая часть: Этичный хакинг с Python.

Вторая часть: Этичный хакинг с Python.

Третья часть: Этичный хакинг с Python.

Четвертая часть: Этичный хакинг с Python.

Пятая часть. Этичный хакинг с Python.