Lookyloo/lookyloo

GitHub: Lookyloo/lookyloo

Lookyloo 是一个网页捕获工具,能够可视化展示网站加载过程中各域名之间的调用关系树。

Stars: 761 | Forks: 88

[![Lookyloo 图标](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2b5b554116194939.jpg)](https://www.lookyloo.eu/docs/main/index.html) *[Lookyloo](https://lookyloo.circl.lu/)* 是一个 Web 界面,它能捕获网页,然后显示一个域名树,展示它们之间是如何相互调用的。 [![Gitter](https://badges.gitter.im/Lookyloo/community.svg)](https://gitter.im/Lookyloo/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) * [Lookyloo 是什么?](#whats-in-a-name) * [REST API](#rest-api) * [安装 Lookyloo](#installation) * [Lookyloo 客户端](#python-client) * [贡献于 Lookyloo](#contributing-to-lookyloo) * [行为准则](#code-of-conduct) * [支持](#support) * [安全](#security) * [致谢](#credits) * [许可证](#license) ## 名字的由来?! ``` Lookyloo ... Same as Looky Lou; often spelled as Looky-loo (hyphen) or lookylou 1. A person who just comes to look. 2. A person who goes out of the way to look at people or something, often causing crowds and disruption. 3. A person who enjoys watching other people's misfortune. Oftentimes car onlookers that stare at a car accidents. In L.A., usually the lookyloos cause more accidents by not paying full attention to what is ahead of them. ``` 来源:[Urban Dictionary](https://www.urbandictionary.com/define.php?term=lookyloo) ## 不,说真的,Lookyloo 是什么? Lookyloo 是一个 Web 界面,允许你捕获并映射网站页面的访问旅程。 你可以在我们的[文档网站](https://www.lookyloo.eu/docs/main/index.html)上找到关于 Lookyloo 的所有必要信息。 这是一个 Lookyloo 捕获 **github.com** 网站的示例 ![Lookyloo 捕获 Github 的屏幕截图](https://www.lookyloo.eu/docs/main/_images/sample_github.png) # REST API API 使用 Swagger 进行自我记录。你可以在[演示实例](https://lookyloo.circl.lu/doc/)上试用它。 # 安装 请参考[安装指南](https://www.lookyloo.eu/docs/main/install-lookyloo.html)。 # Python 客户端 `pylookyloo` 是与 Lookyloo 实例进行交互的推荐客户端。 它在 PyPi 上可用,因此你可以使用以下命令安装它: ``` pip install pylookyloo ``` 关于 `pylookyloo` 的更多详情,请阅读概述[文档](https://www.lookyloo.eu/docs/main/pylookyloo-overview.html)、模块本身的[文档](https://pylookyloo.readthedocs.io/en/latest/),或此 [GitHub 仓库](https://github.com/Lookyloo/PyLookyloo)中的代码。 # 关于使用 S3FS 进行存储的说明 ## 目录列表 TL;DR:速度很慢。 如果你有许多捕获(比如超过 1000 次/天),并且将捕获内容存储在使用 s3fs-fuse 挂载的 s3fs 存储桶中, 在 bash 中执行目录列表(`ls`)很可能会锁定每个进程的 I/O, 导致这些进程无法访问整个存储桶中的任何文件。如果你使用 Python 方法(`iterdir`、`scandir`...)访问文件系统,情况也是如此。 一种变通方法是使用 Python s3fs 模块,因为它不会通过文件系统来列出目录。 你可以在 `config/generic.json` 的 `s3fs` 键中配置 s3fs 凭证。 **警告**:如果你在一个包含*大量*捕获的目录上运行 `ls`,这并不能解决问题。 ## 版本控制 默认情况下,MinIO 存储桶(s3fs 的后端)会启用版本控制,这意味着它会保存你存储的每个文件的所有版本的副本。如果你有大量捕获,这会成为一个问题,因为索引文件在每次更改时都会更新,而版本数量上限为 10,000。 因此,当你在一个目录中拥有超过 10,000 个捕获时,尝试更新索引文件时会出现 I/O 错误。而在 lookyloo 中,你完全不需要关心版本控制。 检查是否启用了版本控制(状态可以是启用或暂停): ``` mc version info / ``` 以下命令将暂停版本控制: ``` mc version suspend / ``` ### 我卡住了,我的文件正在引发 I/O 错误 当你的索引更新了 10,000 次且启用了版本控制时,就会发生这种情况。 以下是确认你处于这种情况的方法: * 来自 bash 的错误信息(没有帮助): ``` $ (git::main) rm /path/to/lookyloo/archived_captures/Year/Month/Day/index rm: cannot remove '/path/to/lookyloo/archived_captures/Year/Month/Day/index': Input/output error ``` * 使用 Python 检查 ``` from lookyloo.default import get_config import s3fs s3fs_config = get_config('generic', 's3fs') s3fs_client = s3fs.S3FileSystem(key=s3fs_config['config']['key'], secret=s3fs_config['config']['secret'], endpoint_url=s3fs_config['config']['endpoint_url']) s3fs_bucket = s3fs_config['config']['bucket_name'] s3fs_client.rm_file(s3fs_bucket + '/Year/Month/Day/index') ``` * 来自 Python 的错误(稍微有用一点): ``` OSError: [Errno 5] An error occurred (MaxVersionsExceeded) when calling the DeleteObject operation: You've exceeded the limit on the number of versions you can create on this object ``` * **解决方案**:运行以下命令以删除文件的所有旧版本 ``` mc rm --non-current --versions --recursive --force //Year/Month/Day/index ``` # 贡献于 Lookyloo 要了解更多关于为 Lookyloo 做贡献的信息,请参阅我们的[贡献者指南](https://www.lookyloo.eu/docs/main/contributing.html)。 ### 行为准则 在 Lookyloo,我们承诺以有助于建立开放、欢迎、多样化、包容和健康社区的方式行事和互动。你可以在[这里](https://github.com/Lookyloo/lookyloo/blob/main/code_of_conduct.md)或 [Lookyloo 文档网站](https://www.lookyloo.eu/docs/main/code-conduct.html)上访问我们的行为准则。 # 支持 * 要与 Lookyloo 社区互动,请在 [Gitter](https://gitter.im/lookyloo-app/community) 上联系我们。 * 通过开启一个 [issue](https://github.com/Lookyloo/lookyloo/issues/new/choose) 让我们知道我们可以如何改进 Lookyloo。 * 在 [Twitter](https://twitter.com/lookyloo_app) 上关注我们。 ### 安全 如需报告漏洞,请参阅我们的[安全政策](SECURITY.md)。 ### 致谢 非常感谢 [Tech Blog @ willshouse.com](https://techblog.willshouse.com/2012/01/03/most-common-user-agents/) 提供的 UserAgents 最新列表。 ### 许可证 查看我们的[许可证](LICENSE)。
标签:API哈希动态解析, CIRCL, DAST, ESC4, Har文件, HTTP请求, Linux取证, Mutation, OSINT, Python, REST API, WebSocket, 依赖分析, 前端安全, 可视化, 域名关系图谱, 威胁情报, 密码管理, 开发者工具, 恶意软件分析, 无后门, 系统分析, 网站捕获, 网络分析, 网络安全, 请求拦截, 逆向工具, 配置审计, 重定向跟踪, 钓鱼网站分析, 隐私保护