Введение
Поддержание актуальности ваших программных инструментов является важнейшей практикой в разработке и обеспечении безопасности. Обновления часто включают новые функции, улучшения производительности и важные исправления безопасности. Fluxion — популярный инструмент для аудита безопасности и исследований в области социальной инженерии. Поскольку он активно разрабатывается, важно знать, как синхронизировать вашу локальную копию с последней версией из официального репозитория GitHub.
В этой лаборатории вы изучите стандартную процедуру обновления инструмента, управляемого с помощью Git. Вы будете использовать команду git pull для получения последних изменений из удаленного репозитория, а затем убедитесь, что инструмент готов к использованию, запустив его установщик.
Перейдите в локальный каталог Fluxion
На этом шаге вы перейдете в каталог, содержащий локальную копию репозитория Fluxion. Прежде чем обновлять приложение, вы должны находиться внутри его конкретного каталога, управляемого Git. Процесс настройки этой лаборатории уже клонировал репозиторий Fluxion в каталог ~/project для вас.
Сначала используйте команду ls, чтобы увидеть содержимое вашего текущего каталога.
ls -F
Вы должны увидеть каталог с именем fluxion/. Теперь измените ваш текущий каталог на ~/project/fluxion, используя команду cd.
cd ~/project/fluxion
Чтобы подтвердить, что вы находитесь в правильном каталоге, выполните команду pwd (print working directory — вывести рабочий каталог).
pwd
Вывод должен показать, что вы теперь находитесь внутри каталога fluxion.
/home/labex/project/fluxion
Выполните 'git pull' для получения последних изменений
На этом шаге вы используете команду git pull для обновления вашего локального репозитория. Эта команда является комбинацией двух других команд Git: git fetch и git merge. Она получает последние изменения из удаленного репозитория (в данном случае, с GitHub) и автоматически объединяет их с вашей текущей локальной веткой.
Теперь, когда вы находитесь внутри каталога fluxion, выполните команду git pull.
git pull
Git подключится к удаленному репозиторию и проверит наличие новых коммитов. Если есть новые изменения, Git загрузит их и применит к вашим локальным файлам.
Просмотрите вывод для обновленных файлов
На этом шаге вы изучите вывод команды git pull. Вывод предоставляет ценную информацию о процессе обновления.
Если ваш локальный репозиторий уже был обновлен, вы увидите сообщение, похожее на это:
Already up to date.
Это ожидаемо в нашей лабораторной среде, поскольку мы только что клонировали свежую копию репозитория.
Однако в реальном сценарии, когда вы клонировали репозиторий некоторое время назад, вывод выглядел бы иначе. Он перечислял бы все файлы, которые были изменены, добавлены (create mode) или удалены. Вот пример того, что вы могли бы увидеть:
remote: Enumerating objects: ..., done.
remote: Counting objects: 100% (...), done.
remote: Compressing objects: 100% (...), done.
remote: Total ... (delta ...), reused ... (delta ...)
Unpacking objects: 100% (...), done.
From https://github.com/FluxionNetwork/fluxion
abcdef..123456 master -> origin/master
Updating abcdef..123456
Fast-forward
README.md | 2 +-
fluxion.sh | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
Этот вывод сообщает вам, что файлы README.md и fluxion.sh были обновлены. Понимание этого вывода помогает вам узнать, что изменилось в инструменте. Для этого шага команды не требуются; он предназначен исключительно для наблюдения.
Повторно запустите установщик 'fluxion.sh -i', если потребуется
На этом шаге вы запустите установщик Fluxion. После получения новых изменений, особенно если были изменены основные скрипты или списки зависимостей, рекомендуется повторно запустить установщик. Это гарантирует, что все необходимые зависимости установлены, а инструмент правильно настроен.
Скрипт Fluxion имеет встроенный установщик, который можно запустить с флагом -i. Вам потребуется использовать sudo, поскольку установщику может потребоваться установка пакетов на системном уровне.
Выполните следующую команду для запуска установщика:
sudo ./fluxion.sh -i
Скрипт проверит все необходимые инструменты и зависимости. Если что-то отсутствует, он попытается это установить.
Вы увидите вывод по мере проверки скриптом каждой зависимости. Типичный запуск может выглядеть так:
[+] Checking for aircrack-ng ...
[+] Found at: /usr/bin/aircrack-ng
[+] Checking for xterm ...
[+] Found at: /usr/bin/xterm
...
[+] All dependencies are installed.
Это подтверждает, что ваша среда имеет все необходимое для запуска Fluxion.
Запустите обновленный скрипт Fluxion
На этом заключительном шаге вы запустите недавно обновленный скрипт Fluxion, чтобы убедиться, что он работает правильно. После обновления файлов и проверки зависимостей это является окончательной проверкой успешности обновления.
Чтобы запустить Fluxion, выполните основной скрипт без каких-либо флагов. Не забудьте использовать sudo, так как инструменту требуются права root для доступа к сетевым интерфейсам.
sudo ./fluxion.sh
Если обновление прошло успешно, вы увидите экран приветствия Fluxion и главное меню, которое предложит вам выбрать язык.
...
[>] Select your language
1) English
2) Español
...
#?
Это подтверждает, что приложение работает правильно. Вы успешно обновили Fluxion до последней версии.
Чтобы выйти из скрипта Fluxion, нажмите Ctrl+C на клавиатуре.
Резюме
В этой лабораторной работе вы изучили основной процесс обновления приложения, управляемого Git, непосредственно из его репозитория GitHub. Это фундаментальный навык для всех, кто работает с программным обеспечением с открытым исходным кодом.
Вы успешно отработали следующие действия:
- Переход в локальный репозиторий Git.
- Использование команды
git pullдля получения и слияния последних изменений из удаленного репозитория. - Наблюдение за выводом для понимания того, какие файлы были обновлены.
- Повторный запуск установщика приложения для обеспечения соответствия всем зависимостям.
- Запуск обновленного приложения для подтверждения его корректной работы.
Освоив эти шаги, вы можете гарантировать, что ваши инструменты всегда будут обновлены последними функциями и исправлениями безопасности.
