Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
web-traffic-generator — 快速且简单的 HTTP/S“有机”流量生成器。 | Kitploit
工具/GitHubGitHub/ecapuano/web-traffic-generator
防御工具通用工具脚本与自动化
GitHubecapuano/web-traffic-generator

web-traffic-generator

快速且简单的 HTTP/S“有机”流量生成器。

查看仓库
56年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

web-traffic-generator

一个快速而粗糙的 HTTP/S "自然"流量生成器。

简介

只是一个简单的(写得不太好)Python 脚本,它从预定义的 ROOT_URLS 开始,随机"点击"页面上的链接,直到达到预定义的 MAX_DEPTH,从而漫无目的地"浏览"互联网。

我创建它是为了在应急响应/网络防御模拟中用作噪声生成器。唯一的问题是,我的模拟环境使用了多个 IDS/IPS/NGFW 设备,这些设备不会传递和记录简单的 TCP 重放流量。我需要流量尽可能自然,本质上要模仿真实用户浏览网页。

已在 Ubuntu 14.04 和 16.04 最小化安装上测试过,但应该可以在任何安装了 Python 的系统上运行。

asciicast

工作原理

就这么简单……

首先,在脚本顶部指定一些设置……

  • MAX_DEPTH = 10, MIN_DEPTH = 5 从每个根 URL(例如:www.yahoo.com)开始,我们的生成器会随机选择 MIN_DEPTH 和 MAX_DEPTH 之间的深度进行点击。

每次 HTTP GET 请求之间的间隔是在以下两个变量之间随机选择的……

  • MIN_WAIT = 5 请求之间至少等待 5 秒……注意不要请求太快,否则可能会惹恼 Web 服务器。

  • MAX_WAIT = 10 我想你明白了吧。

  • DEBUG = False 一个简易的日志记录器。设置为 True 可在控制台实时打印详细信息,便于调试或开发。我以后会加入更完善的日志记录(也许)。

  • ROOT_URLS = [url1,url2,url3] 开始浏览时的根 URL 列表。随机选择。

  • blacklist = [".gif", "intent/tweet", "badlink", 等等……] 一个字符串黑名单,用于检查每个链接。如果链接包含此列表中的任何字符串,则丢弃该链接。有助于避免对流量生成器不友好的内容,例如"推文这个!"的链接或指向图像文件的链接。

  • userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3).......' 你猜对了,这是我们的无头浏览器传递给 Web 服务器的用户代理。你可能可以保留默认设置,但也可以随意更改。我强烈建议使用常用/有效的用户代理,否则你很可能很快就会被限速。

依赖项

你唯一可能需要安装的是 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 抛出错误时会发生什么。我们只需将其添加到内存中的 config.blacklist 数组中,然后继续浏览。这可以防止已知的坏 URL 重新进入队列。

下载工具