Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/eonraider/violent-python3
OSINT (Open Source Intelligence)ReconnaissanceBluetooth SecurityPassword AttacksExploitationForensicsWeb SecurityNetwork SecurityWireless SecurityPenetration TestingLearning & Education
1.0k1797일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
violent-python3 — TJ O'Connor의 저서 "Violent Python"의 소스 코드입니다. 코드는 Python 3으로 완전히 변환되었으며, PEP8 표준을 준수하도록 재구성되었고, 더 이상 사용되지 않는(deprecated) 라이브러리 구현과 관련된 의존성 문제를 해결하기 위해 리팩터링되었습니다. | Kitploit
GitHub
eonraider/violent-python3

violent-python3

TJ O'Connor의 저서 "Violent Python"의 소스 코드입니다. 코드는 Python 3으로 완전히 변환되었으며, PEP8 표준을 준수하도록 재구성되었고, 더 이상 사용되지 않는(deprecated) 라이브러리 구현과 관련된 의존성 문제를 해결하기 위해 리팩터링되었습니다.

저장소 보기

Python 3 "Violent Python" 소스 코드

TJ O'Connor의 "Violent Python" 책의 소스 코드입니다. 이 코드는 Python 3로 완전히 변환되었고, PEP8 표준을 준수하도록 재포맷되었으며, 더 이상 사용되지 않는 라이브러리 구현과 관련된 의존성 문제를 제거하기 위해 리팩토링되었습니다.

이와 유사한 변환 작업을 제가 Justin Seitz의 "Black Hat Python" 책의 소스 코드에 대해 공개한 바 있습니다. 아직 확인하지 않았다면 여기에서 확인해 보세요.

사용법

프로젝트를 위한 새 디렉터리(DIR)를 만들고, 새 가상 환경 또는 venv를 생성한 다음(권장), git clone을 사용하여 이 저장소를 클론하고 pip install을 사용하여 요구 사항을 설치하기만 하면 됩니다.

root@kitploit:~
user@host:~/DIR$ git clone https://github.com/EONRaider/violent-python3
user@host:~/DIR$ python3 -m venv venv
user@host:~/DIR$ source venv/bin/activate
(venv) user@host:~/DIR$ pip install -r requirements.txt

참고 사항

  • 디렉터리와 파일은 각 장에서 제시되는 내용과 쉽게 연관 지을 수 있도록 이름이 지정되었습니다.
  • 저자가 자주 사용하던 문자열 연결(String Concatenation)은 가독성을 높이고 더 현대적인 표준에 부합하도록 문자열 보간(String Interpolation)으로 대체되었습니다.
  • 파일, 변수, 함수, 클래스, 메서드의 이름은 이제 PEP 8 명명 표준을 따릅니다.
  • 이제 더 이상 사용되지 않는 optparse 라이브러리는 전체 소스 코드에서 argparse로 대체되었습니다. 모든 인수 파싱은 이제 각 파일의 __main__ 실행 범위 안에 포함되어 있습니다. 스크립트 실행에 필수적이었지만 원래 코드에서는 선택 사항으로 처리되었던 모든 CLI 인수는 이제 위치 인수(positional)로 구현됩니다. 이제 usage 프롬프트는 argparse를 사용하는 모든 스크립트에 대해 -h 인자를 CLI에 제공하면 사용할 수 있습니다. 경계(boundary)와 컨트롤러(controller) 객체의 책임을 CLI 파서에 맡기는 것은 소프트웨어 아키텍처 측면에서 결코 최선의 선택은 아니지만, 원래 코더의 의도에 부합해야 한다는 필요성 때문에 그대로 두었습니다.
  • PEP 8: E722 do not use bare except 위반 사항은 모두 더 구체적인 예외 절로 리팩토링되었습니다.
  • 저자는 파일/데이터베이스를 열어 놓고 이 상태로 두는 습관이 있습니다. 열린 파일/데이터베이스 객체에 close() 메서드를 호출하는 대신, 이런 이유로 모든 파일 및 데이터베이스 조작 인스턴스는 컨텍스트 관리자를 사용하여 리팩토링되었습니다.
  • 인터프리터가 사용할 인코딩을 참조하는 주석(즉, # -*- coding: utf-8 -*-)은 Python 3의 기본 인코딩으로 UTF-8이 표준화됨에 따라(Python 2의 ASCII를 대체) 제거되었습니다.
  • 모범 사례의 관점에서 보면 완전히 부적절하지만, 전역 변수의 사용은 원래 코드의 논리에서 크게 벗어나는 변경을 도입하는 대신 그대로 두었습니다. 코드의 논리를 보존하기 위함입니다.
  • 책의 5장에 포함된 코드는 실용적으로는 기껏해야 역사적일 수 있지만 리팩토링되었습니다. 그 기능의 상당 부분은 저자가 예제로 설명한 매우 특정한 경우뿐만 아니라 최근 몇 년 동안 더 이상 현실적이지 않은 취약점을 악용하는 데에도 의존합니다. (예: 여전히 WEP 보안 알고리즘을 사용하여 트래픽을 암호화하는 802.11 무선 네트워크의 트래픽을 스니핑하거나, 더 나쁘게는 아무런 보안도 유지하지 않는 네트워크를 스니핑하는 경우) 또는 독자가 코드가 작동하는 모습을 보기 위해 특정 UAV 모델을 구매해야 한다는 터무니없는 기대에 의존합니다. 이 장을 읽는 데 투자한 노력이 거의 무의미하다고 단정하지 않기 위해, 프로빙 및 비콘 요청 스니핑과 관련된 코드에서 일부 유용한 점을 얻을 수 있다고 덧붙일 수 있습니다.
  • chapter05/__init__.py 및 chapter06/__init__.py는 각각 chapter05/dup.py와 chapter06/anon_browser.py에서 모듈을 가져올 수 있도록 추가되었습니다.
  • chapter06/anon_proxy.py는 MechanicalSoup Python 3 라이브러리로 재구현되었으며, 다음 파일에 필요한 수정 사항을 통합합니다: proxy_test.py, useragent_test.py 및 print_cookies.py.
  • chapter06/anon_browser.py도 MechanicalSoup로 재구현되었으며 코드에 몇 가지 수정이 적용되었습니다. cookielib 라이브러리는 AnonBrowser 클래스의 생성자 메서드에서 http.cookiejar로 교체되었고, user_agents 매개변수는 이제 튜플 대신 문자열 목록을 받습니다.
  • chapter06/link_parser.py는 re와 bs4의 구현을 처리하는 새로운 방식을 사용하여 리팩토링되었습니다.

번역

다른 언어로 된 기여는 여기에서 확인할 수 있습니다:

  • Bedirhan Budak가 터키어로 번역했습니다.

기여

상식적으로, 먼저 이 저장소에 적용하려는 변경 사항을 이슈(issue)를 통해 논의하십시오.

  1. 도입하려는 수정 사항이 실제로 풀 리퀘스트로 이어지는지 확인하십시오. 한두 줄 정도의 변경은 풀 리퀘스트 대신 이슈를 통해 요청해야 합니다.
  2. 필요한 경우, 프로젝트 구조의 변경 사항에 대한 세부 정보로 README.md 파일을 업데이트하십시오.
  3. 수정 사항이 포함된 커밋 메시지가 표준을 따르는지 확인하십시오. 진행 방법을 모르겠다면 여기가 좋은 참고 자료가 될 것입니다.
  4. 여러분의 요청은 가능한 한 빨리 검토될 것입니다(보통 48시간 이내).
도구 다운로드