Photon:高速爬虫程序,可提取网址、帐户、文件、密钥、子域和DNS等

Photon介绍

Photon一个高速的爬虫程序,显眼的区别是它不是像普通爬虫那样只爬取结构和静态资源,Photon被偏向设计为信息收集爬虫,它有非常灵活的规则设置和利于阅读的导出结果。

Photon:高速爬虫程序,可提取网址、帐户、文件、密钥、子域和DNS等
Photon爬虫logo
Photon:高速爬虫程序,可提取网址、帐户、文件、密钥、子域和DNS等
Photon爬虫界面

功能特点

Photon可以在抓取时提取以下数据:

  • 网址 (in-scope & out-of-scope)
  • 带参数的网址 (example.com/gallery.php?id=2)
  • 帐户情报 (emails, social media accounts, amazon buckets etc.)
  • 文件 (pdf, png, xml etc.)
  • 密钥 (auth/API keys & hashes)
  • JavaScript等文件
  • 字符串匹配自定义正则表达式模式
  • 子域名DNS相关数据

提取的信息以有组织的方式保存或者可以导出为json:

Photon:高速爬虫程序,可提取网址、帐户、文件、密钥、子域和DNS等
Photon爬虫导出文件结构
Photon:高速爬虫程序,可提取网址、帐户、文件、密钥、子域和DNS等
Photon导出报告导图,看不清右键查看原图放大

Photon安装

Photon目前与python版本2.x-3.x完全兼容,但很可能最终会弃用python2.x支持,因为这个项目正处于大量开发阶段,可能需要python2中没有的功能。

操作系统

Photon已在Linux(Arch,Debian,Ubnutu),Termux,Windows(7和10),Mac上进行了测试,并按预期工作。

颜色

Mac和Windows不支持ANSI转义序列,因此输出不会在Mac和Windows上着色。

本地安装

git clone https://github.com/s0md3v/Photon.git
pip install -r requirements

Docker安装

可以使用轻量级的Python-Alpine(103 MB)Docker镜像启动Photon。

$ git clone https://github.com/s0md3v/Photon.git
$ cd Photon
$ docker build -t photon .
$ docker run -it --name photon photon:latest -u google.com

Photon安装使用

参数

usage: photon.py [options]

-u --urlroot url
-l --levellevels to crawl
-t --threadsnumber of threads
-d --delaydelay between requests
-c --cookie cookie
-r --regexregex pattern
-s --seedsadditional seed urls
-e --export export formatted result
-o --output specify output directory
-v --verboseverbose output
--keysextract secret keys
--clone clone the website locally
--exclude exclude urls by regex
--stdoutprint a variable to stdout
--timeout http requests timeout
--ninja ninja mode
--updateupdate photon
--headers supply http headers
--dns enumerate subdomains & dns data
--only-urls only extract urls
--wayback Use URLs from archive.org as seeds
--user-agentspecify user-agent(s)

使用示例

抓取一个网站

选项: -u 或 --url

python photon.py -u "http://example.com"

在本地克隆网站

选项:--clone,可以将已爬网的网页保存在本地以供以后使用

python photon.py -u "http://example.com" --clone

爬行深度

选项:-l--level 默认:2

使用此选项,用户可以设置爬网的递归限制。例如:2,Photon 的深度将从主页和种子(级别1)中找到所有URL,然后也将抓取这些级别(级别2)。

python photon.py -u "http://example.com" -l 3

详细看wiki,Photon还支持线程设置、爬虫延迟、超时设置、cookies设置、指定输出、排除网址、指定URL、代理设置、正则模式、提取数据设置等等。