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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
web-traffic-generator — 빠르고 조잡한 HTTP/S "자연스러운" 트래픽 생성기. | Kitploit
도구/GitHubGitHub/reconinfosec/web-traffic-generator
Defensive ToolsGeneral Purpose UtilitiesNetwork SecurityLearning & EducationLabs & Practice
GitHubreconinfosec/web-traffic-generator

web-traffic-generator

빠르고 조잡한 HTTP/S "자연스러운" 트래픽 생성기.

저장소 보기
5121846년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

web-traffic-generator

빠르고 조잡한 HTTP/S "유기적" 트래픽 생성기입니다.

개요

그저 사전 정의된 ROOT_URLS에서 시작해 페이지의 링크를 무작위로 "클릭"하며 사전 정의된 MAX_DEPTH에 도달할 때까지 인터넷을 멍하니 "서핑"하는 단순한(제대로 작성되지 않은) Python 스크립트입니다.

침해 대응(Incident Response) / 네트워크 방어(Network Defense) 시뮬레이션에 사용할 노이즈 생성기로 만들었습니다. 유일한 문제는 제 시뮬레이션 환경에 여러 대의 IDS/IPS/NGFW 장비가 있어서 저장된 트래픽의 단순한 TCPreplays를 통과시키지 않고 로그도 남기지 않는다는 점이었습니다. 그래서 본질적으로 실제 사용자가 웹을 서핑하는 것과 같은 최대한 유기적인 트래픽이 필요했습니다.

Ubuntu 14.04 및 16.04 minimal에서 테스트했지만 Python이 설치된 모든 시스템에서 작동할 것입니다.

asciicast

작동 방식

이보다 더 단순할 수는 없습니다...

먼저 스크립트 상단에서 몇 가지 설정을 지정하세요...

  • MAX_DEPTH = 10, MIN_DEPTH = 5 각 루트 URL(예: www.yahoo.com)에서 시작하여 생성기는 MIN_DEPTH와 MAX_DEPTH 사이에서 무작위로 선택된 깊이까지 클릭합니다.

모든 HTTP GET 요청 사이의 간격은 다음 두 변수 사이에서 무작위로 선택됩니다...

  • MIN_WAIT = 5 요청 사이에 최소 5초를 기다리세요... 너무 빠르게 요청하면 웹 서버를 화나게 만들기 쉽습니다.

  • MAX_WAIT = 10 요점을 이해하셨으리라 생각합니다.

  • DEBUG = False 간이 로거입니다. 디버깅이나 개발 중 콘솔에 상세한 실시간 출력을 보려면 True로 설정하세요. 나중에(어쩌면) 제대로 된 로깅을 추가하겠습니다.

  • ROOT_URLS = [url1,url2,url3] 브라우징을 시작할 루트 URL 목록입니다. 무작위로 선택됩니다.

  • blacklist = [".gif", "intent/tweet", "badlink", etc...] 모든 링크를 검사할 문자열 블랙리스트입니다. 링크에 이 목록의 문자열이 하나라도 포함되어 있으면 해당 링크는 폐기됩니다. "Tweet this!" 링크나 이미지 파일 링크처럼 트래픽 생성기에 적합하지 않은 항목을 피하는 데 유용합니다.

  • userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3).......' 짐작하셨겠지만, 헤드리스 브라우저가 웹 서버에 전달하는 user-agent입니다. 기본값으로 두어도 되지만, 원할 경우 변경해도 됩니다. 흔히 쓰이는 유효한 값으로 설정하는 것을 강력히 권장합니다. 그렇지 않으면 곧 속도 제한(rate-limited)을 받게 될 가능성이 높습니다.

의존성

필요한 것 중에 없을 수도 있는 유일한 것은 requests입니다. 아래 명령으로 설치하세요.

root@kitploit:~
sudo pip install requests

사용법

먼저 구성 파일을 만듭니다:

root@kitploit:~
cp config.py.template config.py

생성기를 실행합니다:

root@kitploit:~
python gen.py

문제 해결 및 디버깅

내부에서 어떤 일이 일어나는지 더 자세히 보려면 config.py의 Debug 변수를 False에서 True로 변경하세요. 그러면 다음과 같은 출력이 표시됩니다...

root@kitploit:~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Traffic generator started
Diving between 3 and 10 links deep into 489 different root URLs,
Waiting between 5 and 10 seconds between requests.
This script will run indefinitely. Ctrl+C to stop.
Randomly selecting one of 489 URLs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com] ~~~ [depth = 7]
  Requesting page...
  Page size: 77.6KB
  Data meter: 77.6KB
  Good requests: 1
  Bad reqeusts: 0
  Scraping page for links
  Found 171 valid links
  Pausing for 7 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com/author/jon-brodkin/] ~~~ [depth = 6]
  Requesting page...
  Page size: 75.7KB
  Data meter: 153.3KB
  Good requests: 2
  Bad reqeusts: 0
  Scraping page for links
  Found 168 valid links
  Pausing for 9 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com/information-technology/2020/01/directv-races-to-decommission-broken-boeing-satellite-before-it-explodes/] ~~~ [depth = 5]
  Requesting page...
  Page size: 43.8KB
  Data meter: 197.1KB
  Good requests: 3
  Bad reqeusts: 0
  Scraping page for links
  Found 32 valid links
  Pausing for 8 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://www.facebook.com/sharer.php?u=https%3A%2F%2Farstechnica.com%2F%3Fpost_type%3Dpost%26p%3D1647915] ~~~ [depth = 4]
  Requesting page...
  Page size: 64.2KB
  Data meter: 261.2KB
  Good requests: 4
  Bad reqeusts: 0
  Scraping page for links
  Found 0 valid links
  Stopping and blacklisting: no links

마지막으로 시도된 URL은 특정 URL에서 오류가 발생하는 경우의 좋은 예입니다. 그런 URL은 메모리의 config.blacklist 배열에 추가한 뒤 계속 브라우징합니다. 이렇게 하면 알려진 잘못된 URL이 큐로 다시 유입되는 것을 방지합니다.

도구 다운로드