Lookyloo/lookyloo
GitHub: Lookyloo/lookyloo
Lookyloo 是一个网页捕获工具,能够可视化展示网站加载过程中各域名之间的调用关系树。
Stars: 761 | Forks: 88
[](https://www.lookyloo.eu/docs/main/index.html)
*[Lookyloo](https://lookyloo.circl.lu/)* 是一个 Web 界面,它能捕获网页,然后显示一个域名树,展示它们之间是如何相互调用的。
[](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** 网站的示例

# 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, 依赖分析, 前端安全, 可视化, 域名关系图谱, 威胁情报, 密码管理, 开发者工具, 恶意软件分析, 无后门, 系统分析, 网站捕获, 网络分析, 网络安全, 请求拦截, 逆向工具, 配置审计, 重定向跟踪, 钓鱼网站分析, 隐私保护