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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
wappalyzer-next — Wappalyzer 대안으로 기술 탐지 | Kitploit
도구/GitHubGitHub/s0md3v/wappalyzer-next
ReconnaissanceInformation GatheringWeb SecurityCrawler
GitHubs0md3v/wappalyzer-next

wappalyzer-next

Wappalyzer 대안으로 기술 탐지

저장소 보기
413711일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Wappalyzer Next

이 프로젝트는 Wappalyzer 브라우저 확장 프로그램과 그 핑거프린트를 사용하여 기술을 탐지하는 명령줄 도구 및 파이썬 라이브러리입니다. 공식 오픈소스 프로젝트가 중단된 이후 등장한 다른 프로젝트들은 오래된 핑거프린트를 사용하며 동적 웹 앱에서 정확도가 떨어집니다. 이 프로젝트는 Playwright를 통해 Chromium에서 확장 프로그램을 실행함으로써 이러한 한계를 극복합니다.

demo

  • 설치
  • 사용자용
  • 개발자용
  • FAQ

설치

파이썬 패키지를 설치한 후 Playwright의 Chromium 브라우저를 설치하세요:

root@kitploit:~
python -m playwright install chromium

최소 Linux 컨테이너에서는 Chromium의 시스템 종속성도 함께 설치하세요:

root@kitploit:~
python -m playwright install-deps chromium

명령줄 도구로 설치

root@kitploit:~
pipx install wappalyzer
pipx run --spec playwright playwright install chromium

라이브러리로 설치

라이브러리로 사용하려면 pip를 사용하여 격리된 컨테이너(예: venv 또는 docker) 내에 설치하세요. --break-system-packages를 사용하여 '일반' 설치를 할 수도 있지만 권장되지 않습니다.

root@kitploit:~
pip install wappalyzer
python -m playwright install chromium

Docker로 설치

단계
  1. 저장소를 클론합니다:
root@kitploit:~
git clone https://github.com/s0md3v/wappalyzer-next.git
cd wappalyzer-next
  1. Docker Compose로 빌드 및 실행:
root@kitploit:~
docker compose build
  1. Docker 컨테이너를 사용하여 URL 스캔:
  • 단일 URL 스캔:
root@kitploit:~
docker compose run --rm wappalyzer -i https://example.com
  • 파일에서 여러 URL 스캔:
root@kitploit:~
docker compose run --rm wappalyzer -i urls.txt -w 3 -oJ output.json

사용자용

일반적인 사용 예시는 아래에 나와 있습니다. 더 많은 정보는 모든 옵션 목록을 참조하세요.

  • 단일 URL 스캔: wappalyzer -i https://example.com
  • 파일에서 여러 URL 스캔: wappalyzer -i urls.txt -w 3
  • 전체 스캔의 페이지 로드 타임아웃 설정: wappalyzer -i urls.txt -t 15
  • 인증으로 스캔: wappalyzer -i https://example.com -c "sessionid=abc123; token=xyz789"
  • 결과를 JSON으로 내보내기: wappalyzer -i https://example.com -oJ results.json
  • JSON을 stdout으로 내보내기: wappalyzer -i https://example.com -oJ

출력 플래그를 파일 없이 사용하면 보고서가 stdout으로 기록됩니다. 상태 줄, 배너 텍스트, 오류는 stderr로 기록됩니다.

옵션

참고: 정확성을 위해 'full' 스캔 유형(기본값)을 사용하세요. 'fast' 및 'balanced'는 브라우저 에뮬레이션을 사용하지 않습니다.

  • -i: 입력 URL 또는 URL이 포함된 파일 (한 줄에 하나씩)
  • --scan-type: 스캔 유형 (기본값: 'full')
    • fast: 빠른 HTTP 기반 스캔 (1개의 요청 전송)
    • balanced: 더 많은 요청을 사용하는 HTTP 기반 스캔
    • full: Wappalyzer 확장 프로그램을 사용한 완전한 스캔
  • -w, --workers: 동시 작업자 수 (기본값: 5; 전체 스캔은 최대 3으로 제한)
  • -t, --timeout: 전체 스캔에서 페이지 로드를 기다리는 최대 시간(초) (기본값: 30)
  • -oJ [file]: JSON 출력 파일 경로, 파일을 생략하거나 -로 설정하면 stdout
  • -oC [file]: CSV 출력 파일 경로, 파일을 생략하거나 -로 설정하면 stdout
  • -oH [file]: HTML 출력 파일 경로, 파일을 생략하거나 -로 설정하면 stdout

개발자용

파이썬 라이브러리는 pypi에서 wappalyzer로 제공되며 동일한 이름으로 임포트할 수 있습니다.

라이브러리 사용

둘 이상의 URL을 스캔할 때는 Wappalyzer를 사용하세요. 브라우저는 한 번 시작되고 재사용되며 with 블록이 종료되면 닫힙니다.

root@kitploit:~
from wappalyzer import Wappalyzer

with Wappalyzer(workers=3, timeout=30) as scanner:
    results = scanner.analyze_many([
        'https://example.com',
        'https://github.com',
        'https://python.org',
    ])

for url, technologies in results.items():
    print(url)
    for name, data in technologies.items():
        version = f" {data['version']}" if data['version'] else ""
        print(f"  {name}{version}")

동일한 스캐너를 사용하여 Chromium을 다시 열지 않고 한 번에 하나의 URL을 스캔할 수도 있습니다:

root@kitploit:~
from wappalyzer import Wappalyzer

with Wappalyzer(workers=3, timeout=30) as scanner:
    github = scanner.analyze('https://github.com')
    python = scanner.analyze('https://python.org')

단일 URL의 경우 analyze()가 더 간단합니다. 자체 스캐너를 생성하고 한 번 스캔한 후 닫습니다.

root@kitploit:~
from wappalyzer import analyze

results = analyze(
    url='https://example.com',
    scan_type='full',  # 'fast', 'balanced', or 'full'
    cookie='sessionid=abc123',
    timeout=30
)

대량 작업을 위해 루프에서 최상위 analyze() 함수를 호출하지 마세요. 재사용되는 스캐너에서 Wappalyzer.analyze_many() 또는 Wappalyzer.analyze()를 사용하여 Chromium과 Wappalyzer 확장 프로그램이 모든 URL에 대해 다시 로드되지 않도록 하세요.

analyze() 함수 매개변수

  • url (str): 분석할 URL
  • scan_type (str, optional): 수행할 스캔 유형
    • 'fast': 빠른 HTTP 기반 스캔
    • 'balanced': 더 많은 요청을 사용하는 HTTP 기반 스캔
    • 'full': JavaScript 실행을 포함한 완전한 스캔 (기본값)
  • workers (int, optional): 전체 스캔을 위해 생성할 브라우저 작업자 수 (기본값: 1)
  • cookie (str, optional): 인증된 스캔을 위한 쿠키 헤더 문자열
  • timeout (int, optional): 전체 스캔에서 페이지 로드를 기다리는 최대 시간(초) (기본값: 30)

반환 값

URL을 키로, 탐지된 기술을 값으로 하는 딕셔너리를 반환합니다:

root@kitploit:~
{
  "https://github.com": {
    "Amazon S3": {
      "version": "",
      "confidence": 100,
      "categories": ["CDN"],
      "groups": ["Servers"]
    },
    "React Router": {
      "version": "6",
      "confidence": 100,
      "categories": ["JavaScript frameworks"],
      "groups": ["Web development"]
    }
  },
  "https://example.com": {}
}

FAQ

Chromium과 Playwright를 사용하는 이유는 무엇인가요?

전체 스캐너는 Playwright를 통해 Chromium에서 Wappalyzer 확장 프로그램을 실행합니다. Playwright의 Chromium 확장 프로그램 지원은 직접적이며 geckodriver나 Selenium이 필요하지 않습니다.

'fast', 'balanced', 'full' 스캔 유형의 차이점은 무엇인가요?

  • fast: URL에 단일 HTTP 요청을 보냅니다. 확장 프로그램을 사용하지 않습니다.
  • balanced: .js 파일, /robots.txt에 추가 HTTP 요청을 보내고 DNS 쿼리를 수행합니다. 확장 프로그램을 사용하지 않습니다.
  • full: 공식 Wappalyzer 확장 프로그램을 사용하여 헤드리스 브라우저에서 URL을 스캔합니다.
도구 다운로드
  • -c, --cookie: 인증된 스캔을 위한 쿠키 헤더 문자열