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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
webscreenshot — 간단한 스크립트로 웹사이트 목록을 스크린샷합니다. | Kitploit
도구/GitHubGitHub/maaaaz/webscreenshot
ReconnaissanceInformation GatheringWeb Security
GitHubmaaaaz/webscreenshot

webscreenshot

간단한 스크립트로 웹사이트 목록을 스크린샷합니다.

저장소 보기
69216810개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

webscreenshot

설명

웹사이트 목록을 스크린샷하는 간단한 스크립트로, url-to-image PhantomJS 스크립트를 기반으로 합니다.

기능

  • url-to-image의 *'lazy-rendering'*을 AJAX 리소스에 통합
  • Windows 및 Linux 시스템에서 완벽하게 작동
  • PhantomJS 렌더러를 위한 쿠키 및 사용자 정의 HTTP 헤더 정의 지원
  • 멀티프로세싱 및 사용자 정의 시간 초과 후 응답하지 않는 프로세스 종료
  • 여러 형식을 입력 대상으로 허용
  • 스크린샷 크기(너비, 높이), 형식 및 품질 사용자 정의
  • SSL 오류 무시, 프록시 정의 및 프록시 인증, HTTP 기본 인증 등 PhantomJS의 유용한 옵션 매핑
  • 여러 렌더러 지원:
    • PhantomJS: 레거시이며 중단되었습니다 하지만 여전히 최고의 결과를 제공합니다.
    • Chromium, Chrome 및 Edge Chromium: PhantomJS를 대체할 예정이지만 현재 몇 가지 제한 사항이 있습니다. 유효한 인증서가 없는 HTTPS 웹사이트(예: 자체 서명된 인증서)를 스크린샷하면 빈 스크린샷이 생성됩니다.
      그 이유는 --ignore-certificate-errors 옵션이 작동하지 않으며 더 이상 작동하지 않을 것이기 때문입니다. 해결책은 적절한 웹드라이버를 사용하는 것이지만, 현재까지 webscreenshot은 일부 타사 도구가 필요한 다소 복잡한 이 방법을 지원하지 않습니다.
    • Firefox도 렌더러로 사용할 수 있지만 심각한 제한 사항이 있습니다 (지금은 사용하지 마십시오):
      • 동시에 여러 스크린샷을 수행할 수 없음: firefox 프로세스의 다중 인스턴스 불가
      • 시크릿 모드 없음, webscreenshot을 사용하면 검색 기록이 오염됨
  • 이미지에 스크린샷 URL 포함 (ImageMagick 필요)

사용법

대상 URL을 텍스트 파일에 넣고 -i 옵션으로 전달하거나, 단일 URL만 있는 경우 위치 인수로 전달합니다.
기본적으로 스크린샷은 현재 ./screenshots/ 디렉토리에 저장됩니다.
허용되는 입력 형식은 다음과 같습니다:

root@kitploit:~
http(s)://domain_or_ip:port(/resource)
domain_or_ip:port(/resource)
domain_or_ip(/resource)

옵션

root@kitploit:~
webscreenshot.py version 2.96

usage: webscreenshot [-h] [-i INPUT_FILE] [-o OUTPUT_DIRECTORY] [-w WORKERS] [-v] [--no-error-file] [-z SINGLE_OUTPUT_FILE] [-p PORT]
                     [-s] [-m] [-r {phantomjs,chrome,chromium,edge,firefox}] [--renderer-binary RENDERER_BINARY] [--no-xserver]
                     [--window-size WINDOW_SIZE] [-f {pdf,png,jpg,jpeg,bmp,ppm}] [-q [0-100]] [--ajax-max-timeouts AJAX_MAX_TIMEOUTS]
                     [--crop CROP] [--custom-js CUSTOM_JS] [-l] [--label-size LABEL_SIZE] [--label-bg-color LABEL_BG_COLOR]
                     [--imagemagick-binary IMAGEMAGICK_BINARY] [-c COOKIE] [-a HEADER] [-u HTTP_USERNAME] [-b HTTP_PASSWORD]
                     [-P PROXY] [-A PROXY_AUTH] [-T PROXY_TYPE] [-t TIMEOUT]
                     [URL]

options:
  -h, --help            show this help message and exit

Main parameters:
  URL                   Single URL target given as a positional argument
  -i, --input-file INPUT_FILE
                        <INPUT_FILE> text file containing the target list. Ex: list.txt
  -o, --output-directory OUTPUT_DIRECTORY
                        <OUTPUT_DIRECTORY> (optional): screenshots output directory (default './screenshots/')
  -w, --workers WORKERS
                        <WORKERS> (optional): number of parallel execution workers (default 4)
  -v, --verbosity       <VERBOSITY> (optional): verbosity level, repeat it to increase the level { -v INFO, -vv DEBUG } (default
                        verbosity ERROR)
  --no-error-file       <NO_ERROR_FILE> (optional): do not write a file with the list of URL of failed screenshots (default false)
  -z, --single-output-file SINGLE_OUTPUT_FILE
                        <SINGLE_OUTPUT_FILE> (optional): name of a file which will be the single output of all inputs. Ex. test.png

Input processing parameters:
  -p, --port PORT       <PORT> (optional): use the specified port for each target in the input list. Ex: -p 80
  -s, --ssl             <SSL> (optional): enforce SSL/TLS for every connection
  -m, --multiprotocol   <MULTIPROTOCOL> (optional): perform screenshots over HTTP and HTTPS for each target

Screenshot renderer parameters:
  -r, --renderer {phantomjs,chrome,chromium,edge,firefox}
                        <RENDERER> (optional): renderer to use among 'phantomjs' (legacy but best results), 'chrome', 'chromium',
                        'edge', 'firefox' (version > 57) (default 'phantomjs')
  --renderer-binary RENDERER_BINARY
                        <RENDERER_BINARY> (optional): path to the renderer executable if it cannot be found in $PATH
  --no-xserver          <NO_X_SERVER> (optional): if you are running without an X server, will use xvfb-run to execute the renderer
                        (by default, trying to detect if DISPLAY environment variable exists

Screenshot image parameters:
  --window-size WINDOW_SIZE
                        <WINDOW_SIZE> (optional): width and height of the screen capture (default '1200,800')
  -f, --format {pdf,png,jpg,jpeg,bmp,ppm}
                        <FORMAT> (optional, phantomjs only): specify an output image file format, "pdf", "png", "jpg", "jpeg", "bmp"
                        or "ppm" (default 'png')
  -q, --quality [0-100]
                        <QUALITY> (optional, phantomjs only): specify the output image quality, an integer between 0 and 100 (default
                        75)
  --ajax-max-timeouts AJAX_MAX_TIMEOUTS
                        <AJAX_MAX_TIMEOUTS> (optional, phantomjs only): per AJAX request, and max URL timeout in milliseconds
                        (default '1400,1800')
  --crop CROP           <CROP> (optional, phantomjs only): rectangle <t,l,w,h> to crop the screen capture to (default to WINDOW_SIZE:
                        '0,0,w,h'), only numbers, w(idth) and h(eight). Ex. "10,20,w,h"
  --custom-js CUSTOM_JS
                        <CUSTOM_JS> (optional, phantomjs only): path of a file containing JavaScript code to be executed before
                        taking the screenshot. Ex: js.txt

Screenshot label parameters:
  -l, --label           <LABEL> (optional): for each screenshot, create another one displaying inside the target URL (requires
                        imagemagick)
  --label-size LABEL_SIZE
                        <LABEL_SIZE> (optional): font size for the label (default 60)
  --label-bg-color LABEL_BG_COLOR
                        <LABEL_BACKGROUND_COLOR> (optional): label imagemagick background color (default NavajoWhite)
  --imagemagick-binary IMAGEMAGICK_BINARY
                        <LABEL_BINARY> (optional): path to the imagemagick binary (magick or convert) if it cannot be found in $PATH

HTTP parameters:
  -c, --cookie COOKIE   <COOKIE_STRING> (optional): cookie string to add. Ex: -c "JSESSIONID=1234; YOLO=SWAG"
  -a, --header HEADER   <HEADER> (optional): custom or additional header. Repeat this option for every header. Ex: -a "Host:
                        localhost" -a "Foo: bar"
  -u, --http-username HTTP_USERNAME
                        <HTTP_USERNAME> (optional): specify a username for HTTP Basic Authentication.
  -b, --http-password HTTP_PASSWORD
                        <HTTP_PASSWORD> (optional): specify a password for HTTP Basic Authentication.

Connection parameters:
  -P, --proxy PROXY     <PROXY> (optional): specify a proxy. Ex: -P http://proxy.company.com:8080
  -A, --proxy-auth PROXY_AUTH
                        <PROXY_AUTH> (optional): provides authentication information for the proxy. Ex: -A user:password
  -T, --proxy-type PROXY_TYPE
                        <PROXY_TYPE> (optional): specifies the proxy type, "http" (default), "none" (disable completely), or
                        "socks5". Ex: -T socks
  -t, --timeout TIMEOUT
                        <TIMEOUT> (optional): renderer execution timeout in seconds (default 30 sec)

예시

root@kitploit:~
list.txt
--------
http://google.fr
https://216.58.213.131
216.58.213.131
https://duckduckgo.com/robots.txt


Default execution with a list
-----------------------------
$ python webscreenshot.py -i list.txt
webscreenshot.py version 2.3

[+] 4 URLs to be screenshot
[+] 4 actual URLs screenshot
[+] 0 error(s)


Default execution with a single URL
-----------------------------------
$ python webscreenshot.py -v google.fr
webscreenshot.py version 2.3

[INFO][General] 'google.fr' has been formatted as 'http://google.fr:80' with supplied overriding options
[+] 1 URLs to be screenshot
[INFO][http://google.fr:80] Screenshot OK

[+] 1 actual URLs screenshot
[+] 0 error(s)


Increasing verbosity level execution
-----------------------------------
$ python webscreenshot.py -i list.txt -v
webscreenshot.py version 2.3

[INFO][General] 'http://google.fr' has been formatted as 'http://google.fr:80' with supplied overriding options
[INFO][General] 'https://216.58.213.131' has been formatted as 'https://216.58.213.131:443' with supplied overriding options
[INFO][General] '216.58.213.131' has been formatted as 'http://216.58.213.131:80' with supplied overriding options
[INFO][General] 'https://duckduckgo.com/robots.txt' has been formatted as 'https://duckduckgo.com:443/robots.txt' with supplied overriding options
[+] 4 URLs to be screenshot
[INFO][https://duckduckgo.com:443/robots.txt] Screenshot OK

[INFO][http://216.58.213.131:80] Screenshot OK

[INFO][https://216.58.213.131:443] Screenshot OK

[INFO][http://google.fr:80] Screenshot OK

[+] 4 actual URLs screenshot
[+] 0 error(s)


Results
-------
$ ls -l screenshots/
total 187
-rwxrwxrwx 1 root root 53805 May 19 16:04 http_216.58.213.131_80.png
-rwxrwxrwx 1 root root 53805 May 19 16:05 http_google.fr_80.png
-rwxrwxrwx 1 root root 53805 May 19 16:04 https_216.58.213.131_443.png
-rwxrwxrwx 1 root root 27864 May 19 16:04 https_duckduckgo.com_443_robots.txt.png

렌더러별 지원 옵션

아래 나열되지 않은 옵션은 모든 현재 렌더러에서 지원됩니다

요구 사항

  • Python 인터프리터 버전 2.7 또는 3.X
  • webscreenshot 파이썬 스크립트:
    • 설정하는 가장 쉬운 방법: pip install webscreenshot 후 바로 $ webscreenshot 사용
    • 또는 해당 저장소를 git clone하고 pip install -r requirements.txt를 실행한 후 python webscreenshot.py를 사용
  • 최소 버전 2의 PhantomJS 도구: 설치 가이드를 따르고 필요시 FAQ 확인
  • 이러한 렌더러 중 하나를 사용하려면 Chrome, Chromium 또는 Firefox > 57
  • 헤드리스 OS에서 webscreenshot을 실행하려면 xvfb: 모든 것을 쉽게 하기 위해 --no-xserver webscreenshot 옵션 사용
  • --label 옵션으로 스크린샷에 URL을 포함하려면 ImageMagick 바이너리 (magick 또는 convert): 설치 가이드 참조

변경 로그

  • 버전 2.96/2.97 - 2025-10-19: Python v2 지원 중단
  • 버전 2.95 - 2025-10-18: OpenSSL 설정을 찾지 못할 때 phantomjs 버그 수정
  • 버전 2.94 - 2020-08-23: custom-js 및 단일 출력 파일 옵션 추가
  • 버전 2.93 - 2020-08-16: Python 3.8 및 Microsoft Edge Chromium 지원 추가; 실패한 웹 스크린샷에 대한 파일 출력; 긴 URL에 대한 파일명 길이 제한
  • 버전 2.92 - 2020-06-21: no_xserver 옵션 자동 감지
  • 버전 2.91 - 2020-05-08: 멀티프로토콜 모드 수정
  • 버전 2.9 - 2020-01-26: 몇 가지 수정
  • 버전 2.8 - 2020-01-11: 몇 가지 수정, ajax 시간 초과 + 자르기 + 레이블 크기 + 레이블 글꼴 옵션 추가, ajaxTimeout 및 maxTimeout 기본값 변경
  • 버전 2.7 - 2020-01-04: 스크린샷에 URL 포함 옵션 추가
  • 버전 2.6 - 2019-12-27: 몇 가지 수정
  • 버전 2.5 - 2019-09-22: 이미지 품질 및 형식 옵션 추가, PhantomJS 사용자 에이전트 업데이트, 최신 TLD 지원
  • 버전 2.4 - 2019-05-30: Windows 지원을 위한 몇 가지 수정
  • 버전 2.3 - 2019-05-19: Python 3 호환성, Firefox 렌더러 추가, no-xserver 옵션 추가
  • 버전 2.2 - 2018-08-13: Chrome 및 Chromium 렌더러 지원 및 단일 URL 지원
  • 버전 2.1 - 2018-01-14: 멀티프로토콜 옵션 추가 및 PyPI 패키징
  • 버전 2.0 - 2017-03-08: proxy-type 옵션 추가
  • 버전 1.9 - 2017-01-10: 모든 SSL/TLS 암호 사용
  • 버전 1.8 - 2015-07-05: 옵션 그룹 정의
  • 버전 1.7 - 2015-06-28: HTTP 기본 인증 지원 + 로그 레벨 옵션이 verbosity로 변경
  • 버전 1.6 - 2015-04-23: 투명 배경 수정
  • 버전 1.5 - 2015-01-11: 쿠키 및 사용자 정의 HTTP 헤더 지원
  • 버전 1.4 - 2014-10-12: url-to-image PhantomJS 스크립트 통합 + 몇 가지 버그 수정
  • 버전 1.3 - 2014-08-05: Windows 지원 + 몇 가지 버그 수정
  • 버전 1.2 - 2014-04-27: 몇 가지 버그 수정
  • 버전 1.1 - 2014-04-21: 버그투성이인 wkhtml 바이너리 대신 PhantomJS를 사용하도록 변경
  • 버전 1.0 - 2014-01-12: 최초 커밋

저작권 및 라이선스

webscreenshot은 자유 소프트웨어입니다: 자유 소프트웨어 재단(Free Software Foundation)에서 발행한 GNU 일반 공중 사용 허가서(GNU General Public License) 버전 3 또는 (선택에 따라) 이후 버전의 조건에 따라 재배포 및 수정할 수 있습니다.

webscreenshot은 유용하게 사용될 것이라는 희망으로 배포되지만, 어떠한 보증도 제공하지 않습니다. 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증도 포함되지 않습니다.

자세한 내용은 GNU 일반 공중 사용 허가서를 참조하십시오.

webscreenshot과 함께 GNU 일반 공중 사용 허가서의 사본을 받았어야 합니다. 받지 못했다면 http://www.gnu.org/licenses/를 참조하십시오.

연락처

  • Thomas Debize < tdebize at mail d0t com >
도구 다운로드
Option categoryOptionPhantomJS rendererChromium / Chrome / Edge Chromium rendererFirefox renderer
스크린샷 매개변수
형식 (-f)예아니요아니요
품질 (-q)예아니요아니요
ajax 및 요청 시간 제한 (--ajax-max-timeouts)예아니요아니요
자르기 (--crop)예아니요아니요
사용자 정의 JavaScript (--custom-js)예아니요아니요
HTTP 매개변수
쿠키 (-c)예아니요아니요
헤더 (-a)예아니요아니요
http_username (-u)예아니요아니요
http_password (-b)예아니요아니요
연결 매개변수
프록시 (-P)예예아니요
proxy_auth (-A)예아니요아니요
proxy_type (-T)예예아니요
공개적으로 서명되지 않은 인증서를 사용하는 HTTPS 웹사이트를 스크린샷하는 기능예아니요아니요
  • 문제를 보고하기 전에 FAQ 확인