소개
소프트웨어 도구를 최신 상태로 유지하는 것은 개발 및 보안 분야에서 매우 중요한 관행입니다. 업데이트에는 종종 새로운 기능, 성능 개선 및 중요한 보안 패치가 포함됩니다. Fluxion 은 인기 있는 보안 감사 및 소셜 엔지니어링 연구 도구입니다. 활발하게 개발되고 있으므로, 로컬 복사본을 공식 GitHub 저장소의 최신 버전과 동기화하는 방법을 아는 것이 중요합니다.
이 실험실에서는 Git 으로 관리되는 도구를 업데이트하는 표준 절차를 배우게 됩니다. git pull 명령을 사용하여 원격 저장소에서 최신 변경 사항을 가져온 다음, 설치 프로그램을 실행하여 도구를 사용할 준비가 되었는지 확인할 것입니다.
로컬 Fluxion 디렉토리로 이동
이 단계에서는 Fluxion 저장소의 로컬 복사본이 포함된 디렉토리로 이동합니다. 애플리케이션을 업데이트하기 전에 특정 Git 관리 디렉토리 안에 있어야 합니다. 이 실험실의 설정 과정에서 Fluxion 저장소가 이미 ~/project 디렉토리로 복제되었습니다.
먼저 ls 명령을 사용하여 현재 디렉토리의 내용을 확인합니다.
ls -F
fluxion/이라는 디렉토리가 보여야 합니다. 이제 cd 명령을 사용하여 현재 디렉토리를 ~/project/fluxion으로 변경합니다.
cd ~/project/fluxion
올바른 디렉토리에 있는지 확인하려면 pwd (print working directory) 명령을 실행합니다.
pwd
출력 결과는 현재 fluxion 디렉토리 안에 있음을 보여주어야 합니다.
/home/labex/project/fluxion
최신 변경 사항을 가져오기 위해 'git pull' 실행
이 단계에서는 git pull 명령을 사용하여 로컬 저장소를 업데이트합니다. 이 명령은 git fetch와 git merge라는 두 가지 다른 Git 명령의 조합입니다. 원격 저장소 (이 경우 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를 사용해야 합니다.
sudo ./fluxion.sh
업데이트가 성공하면 Fluxion 환영 화면과 메인 메뉴가 표시되며, 언어를 선택하라는 메시지가 나타납니다.
...
[>] Select your language
1) English
2) Español
...
#?
이를 통해 애플리케이션이 올바르게 작동함을 확인할 수 있습니다. Fluxion 을 최신 버전으로 성공적으로 업데이트했습니다.
Fluxion 스크립트를 종료하려면 키보드에서 Ctrl+C를 누르면 됩니다.
요약
이 실습에서는 GitHub 저장소에서 직접 Git 으로 관리되는 애플리케이션을 업데이트하는 필수 과정을 배웠습니다. 이는 오픈 소스 소프트웨어로 작업하는 모든 사람에게 기본적인 기술입니다.
다음 내용을 성공적으로 실습했습니다.
- 로컬 Git 저장소로 이동하기.
git pull명령을 사용하여 원격 저장소의 최신 변경 사항을 가져오고 병합하기.- 출력을 관찰하여 어떤 파일이 업데이트되었는지 이해하기.
- 애플리케이션의 설치 프로그램을 다시 실행하여 모든 종속성이 충족되었는지 확인하기.
- 업데이트된 애플리케이션을 실행하여 올바르게 작동하는지 확인하기.
이 단계를 숙달하면 도구가 항상 최신 기능과 보안 수정 사항으로 최신 상태를 유지하도록 할 수 있습니다.
