获取CDN后的真实源站IP

B站视频

#BV#

方法一:使用Censys等互联网搜索引擎

方法二:使用ZMap与ZGrab进行扫描

首先安装 Go 语言环境

前往 https://go.dev/dl/ 下载包,一般文件名包含 linux-amd64。这里以 go1.19.1.linux-amd64.tar.gz 为例。

wget https://go.dev/dl/go1.19.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz      #将下载的二进制包解压至 /usr/local目录
export PATH=$PATH:/usr/local/go/bin                     # 将 /usr/local/go/bin 目录添加至 PATH 环境变量
echo export PATH=$PATH:/usr/local/go/bin>>/etc/profile  # 永久生效

安装 ZMap 与 ZGrab

注意:安装与使用扫描工具前,请确认这不会违反你机器所在服务商的ToS,否则你的机器或账户可能遭到服务商封禁!

CentOS / RockyLinux

yum install zmap

Ubuntu / Debian

apt install zmap

安装 ZGrab

export GOPATH=`pwd`                               # 将 GOPATH 设置为当前目录
go install github.com/zmap/zgrab2@latest          # 拉取最新版本
cd $GOPATH/pkg/mod/github.com/zmap/zgrab2@v0.1.7  # 以实际目录为准
go get github.com/stretchr/testify@v1.4.0         # 安装需要的go模块
make                                              # 构建
cp ./zgrab2 ~/                                    # 复制构建好的二进制文件到用户目录
cd ~

构建成功后,即可开始使用

root@Tester:~/gopath/pkg/mod/github.com/zmap/zgrab2@v0.1.7# **./zgrab2 --help**
Usage:
  zgrab2 [OPTIONS] <command>

Application Options:
  -o, --output-file=          Output filename, use - for stdout (default: -)
  -f, --input-file=           Input filename, use - for stdin (default: -)
  -m, --metadata-file=        Metadata filename, use - for stderr (default: -)
  -l, --log-file=             Log filename, use - for stderr (default: -)
      --source-ip=            Local source IP address to use for making connections
  -s, --senders=              Number of send goroutines to use (default: 1000)
      --debug                 Include debug fields in the output.
      --gomaxprocs=           Set GOMAXPROCS (default: 0)
      --connections-per-host= Number of times to connect to each host (results in more output) (default: 1)
      --read-limit-per-host=  Maximum total kilobytes to read for a single host (default 96kb) (default: 96)
      --prometheus=           Address to use for Prometheus server (e.g. localhost:8080). If empty, Prometheus is disabled.

Help Options:
  -h, --help                  Show this help message

Available commands:
  bacnet    bacnet
  banner    Banner
  dnp3      dnp3
  fox       fox
  ftp       FTP
  http      HTTP Banner Grab
  imap      imap
  ipp       ipp
  modbus    modbus
  mongodb   mongodb
  mssql     MSSQL
  multiple  Multiple module actions
  mysql     MySQL
  ntp       NTP
  oracle    oracle
  pop3      pop3
  postgres  Postgres
  redis     redis
  siemens   siemens
  smb       smb
  smtp      smtp
  ssh       SSH Banner Grab
  telnet    telnet
  tls       TLS Banner Grab

root@Tester:~/gopath/pkg/mod/github.com/zmap/zgrab2@v0.1.7#

接下来,扫描开放了80、443端口的主机。如果你知道目标原站所在的服务商、地区、IP段等,则可以通过这些信息缩小扫描范围。

下面以腾讯云上海 124.220.0.0/14 段为例。

# ZMap 扫描
zmap -B 25M -i eth0 -p 80 -o result80.txt 124.220.0.0/14          # 扫描 80 端口 (-B参数设置为带宽)
zmap -B 25M -i eth0 -p 443 -o result443.txt 124.220.0.0/14        # 扫描 443 端口 (同上)

# 处理扫描结果供 ZGrab2 使用
sed 's/$/, example.com/g' result80.txt > grab_input80.txt         # example.com 改成你要扫描的目标域名
sed 's/$/, example.com/g' result443.txt > grab_input443.txt       # 同上

# ZGrab2 抓取数据
./zgrab2 -f grab_input80.txt -o grab80.txt http --port 80
./zgrab2 -f grab_input443.txt -o grab443.txt http --port 443 --use-https

将 ZGrab2 抓取的数据下载到本地,使用编辑器打开。(grab80.txt、grab443.txt)

在编辑器中搜索特定的相应内容(可以从 浏览器F12工具-网络 中的响应复制)

找到相同的响应,查看其 IP 即可。

本文链接:

https://blog.nkxingxh.top/archives/205/
1 + 5 =
2 评论
    zhanyuanChrome 114Windows 10
    2023年06月22日 回复

    以后跟你混了::(呼)

    zhanyuanChrome 114Windows 10
    2023年06月22日 回复

    卧槽,膜拜巨佬啊。