XTLS/RealiTLScanner
GitHub: XTLS/RealiTLScanner
专为 Xray Reality 协议设计的 TLS 服务器扫描器,用于批量发现和验证符合 Reality 要求的候选目标。
Stars: 3148 | Forks: 228
# Reality - TLS - Scanner
## 构建
要求:Go 1.21+
```
go build
```
## 用法
建议在本地运行此工具,因为在云端运行扫描器可能会导致 VPS 被标记。
```
# 显示帮助
./RealiTLScanner
# 扫描指定 IP、IP CIDR 或域名:
./RealiTLScanner -addr 1.2.3.4
# 注意:如果 `addr` 是 IP 或域名,将自动启用 infinity 模式
# 从文件扫描目标列表(目标应按换行符分隔):
./RealiTLScanner -in in.txt
# 从 URL 抓取域名并扫描:
./RealiTLScanner -url https://launchpad.net/ubuntu/+archivemirrors
# 指定扫描端口,默认值:443
./RealiTLScanner -addr 1.1.1.1 -port 443
# 显示详细输出,包括失败的扫描和不可行的目标:
./RealiTLScanner -addr 1.2.3.0/24 -v
# 将结果保存到文件,默认值:out.csv
./RealiTLScanner -addr www.microsoft.com -out file.csv
# 设置线程数,默认值:1
./RealiTLScanner -addr wiki.ubuntu.com -thread 10
# 设置每次扫描的超时时间,默认值:10(秒)
./RealiTLScanner -addr 107.172.1.1/16 -timeout 5
```
### Docker 方式
自行构建容器(主机上无需安装 Go)
```
docker build -t realitlscanner .
```
运行并研究
```
# 显示帮助
docker run --rm realitlscanner
# 扫描
docker run --rm realitlscanner -addr 1.1.1.1
```
### 启用 Geo IP
要启用 Geo IP 信息,请将 MaxMind GeoLite2/GeoIP2 国家数据库放置在执行文件夹中,并命名为 `Country.mmdb`。你可以从[这里](https://github.com/Loyalsoldier/geoip/releases/latest/download/Country.mmdb)下载。
## 演示
标准输出示例:
```
2024/02/08 20:51:10 INFO Started all scanning threads time=2024-02-08T20:51:10.017+08:00
2024/02/08 20:51:10 INFO Connected to target feasible=true host=107.172.103.9 tls=1.3 alpn=h2 domain=rocky-linux.tk issuer="Let's Encrypt"
2024/02/08 20:51:10 INFO Connected to target feasible=true host=107.172.103.11 tls=1.3 alpn=h2 domain=rn.allinai.dev issuer="Let's Encrypt"
2024/02/08 20:51:13 INFO Connected to target feasible=true host=107.172.103.16 tls=1.3 alpn=h2 domain=san.hiddify01.foshou.vip issuer="Let's Encrypt"
2024/02/08 20:51:13 INFO Connected to target feasible=true host=107.172.103.19 tls=1.3 alpn=h2 domain=mgzx19.cnscholar.top issuer="Let's Encrypt"
2024/02/08 20:51:13 INFO Connected to target feasible=true host=107.172.103.22 tls=1.3 alpn=h2 domain=hy2.znull.top issuer=ZeroSSL
2024/02/08 20:51:21 INFO Connected to target feasible=true host=107.172.103.37 tls=1.3 alpn=h2 domain=c1.webgenbd.com issuer="Let's Encrypt"
2024/02/08 20:51:23 INFO Connected to target feasible=true host=107.172.103.46 tls=1.3 alpn=h2 domain=racknerd.myideal.xyz issuer="Let's Encrypt"
2024/02/08 20:51:38 INFO Scanning completed time=2024-02-08T20:51:38.988+08:00 elapsed=28.97043s
```
输出文件示例:
```
IP,ORIGIN,CERT_DOMAIN,CERT_ISSUER,GEO_CODE
202.70.64.2,ntc.net.np,*.ntc.net.np,"GlobalSign nv-sa",NP
196.200.160.70,mirror.marwan.ma,mirror.marwan.ma,"Let's Encrypt",MA
103.194.167.213,mirror.i3d.net,*.i3d.net,"Sectigo Limited",JP
194.127.172.131,nl.mirrors.clouvider.net,nl.mirrors.clouvider.net,"Let's Encrypt",NL
202.36.220.86,mirror.2degrees.nz,mirror.2degrees.nz,"Let's Encrypt",NZ
202.36.220.86,ubuntu.mirrors.theom.nz,mirror.2degrees.nz,"Let's Encrypt",NZ
158.37.28.65,ubuntu.hi.no,alma.hi.no,"Let's Encrypt",NO
193.136.164.6,ftp.rnl.tecnico.ulisboa.pt,ftp.rnl.ist.utl.pt,"Let's Encrypt",PT
75.2.60.5,cesium.di.uminho.pt,cesium.di.uminho.pt,"Let's Encrypt",US
195.14.50.21,mirror.corbina.net,ftp.corbina.net,"Let's Encrypt",RU
```
标签:C2日志可视化, EVTX分析, Go语言, IP扫描, Linux工具, Reality协议, Talos规则, TLS扫描器, 主动扫描, 二进制发布, 代理检测, 密码管理, 开源工具, 指纹识别, 插件系统, 数据统计, 日志审计, 程序破解, 端口扫描, 端口探测, 网络安全, 自动化扫描, 证书分析, 请求拦截, 隐私保护