分享: 今天我要分享一下我是如何扫CF节点IP滴

作案工具准备:

a. MacBook Pro一台
b. 安装好Homebrew包管理器
c. 通过Homebrew安装好zmap, nmap两个扫描器

关键项:

直接通过IP地址访问CF的URL是可以获取到你当前被分配的CF节点的, URL如下:
http://x.x.x.x/cdn-cgi/trace

具体步骤:

a. 获取CF的IP地址段
    两种方式:
    1. 通过he.net网站查询Cloudflare公司持有的所有ASN下的IP地址段,直接网页复制贴到A.txt中然后用命令提取即可
        https://bgp.he.net/search?search%5Bsearch%5D=cloudflare
        $ cat cloudflare.txt | grep -Eo "([0-9.]+){4}/[0-9]+" > A.txt
    2. 通过CF公布出来的回源IP地址段
        wget -O A.txt https://www.cloudflare.com/ips-v4

b. 用zmap快速过一遍开启了80端口的所有IP
    $ sudo zmap -p 80 -B 50M --probes=1 --retries=0 --cooldown-time=5 -w A.txt -o B.txt
    或者
    $ sudo zmap -p 80 -r 1000 --probes=1 --retries=0 --cooldown-time=5 -w A.txt -o B.txt
    注意: 总是应该指定发送带宽或发送PPS, 发送数据包个数和等待回应时间, 总是应该禁止包重发.

c. 用nmap过一遍步骤b中开启80端口的IP,得到http://x.x.x.x/cdn-cgi/trace的响应信息
    $ nmap -p80 -n --script http-get.nse --script-args http-get.path=/cdn-cgi/trace,http-get.match=colo,http.useragent='Mozilla 82' -iL B.txt > C.txt
    然后提取结果
    $ cat C.txt | gawk 'BEGIN{RS="Nmap"} /Response/ {print $4,substr($8,2,length($9)-2),$40}' > D.txt

d. 对结果按响应时间排个序吧
    $ cat D.txt | sort -n -k2 > E.txt

e. 得到这么个结果

104.17.216.230 0.036s colo=HKG
104.19.103.129 0.037s colo=HKG
104.17.21.114 0.038s colo=HKG
104.17.22.210 0.038s colo=HKG
104.16.87.178 0.039s colo=HKG
104.18.242.151 0.039s colo=HKG
104.16.194.78 0.040s colo=HKG
104.19.109.29 0.040s colo=HKG
104.19.27.150 0.040s colo=HKG
104.19.51.173 0.040s colo=HKG
104.17.42.246 0.041s colo=HKG
104.17.60.96 0.041s colo=HKG
104.17.99.186 0.042s colo=HKG
104.18.96.171 0.042s colo=HKG
104.17.17.167 0.044s colo=HKG
104.17.58.3 0.044s colo=HKG

最后:祝大家玩的开心啦!

来源:
hostloc:https://hostloc.com/space-uid-53498.html

发表新评论取消回复