
FProbe是一款HTTP/HTTPS服务器快速探测工具,广大研究人员只需要给FProbe提供一个域名或子域名列表,它就可以帮助我们探测目标域名后台运行的是HTTP服务器还是HTTPS服务器了。
工具安装
GO111MODULE=on go get -u github.com/theblackturtle/fprobe
功能介绍
1、该工具可以接受域名/子域名列表,并探测其后端的HTTP/HTTPS服务器;
2、在运行时优化RAM和CPU;
3、支持域名特殊端口;
4、详细的JSON格式,包含Status Code、Content Type和Location;
工具使用
Usage of fprobe:
-c int
Concurrency (default 50)
-i string
Input file (default is stdin) (default "-")
-l Use ports in the same line (google.com,2087,2086)
-p value
add additional probe (proto:port)
-s skip the default probes (http:80 and https:443)
-t int
Timeout (seconds) (default 9)
-v Turn on verbose
基础使用
Stdin输入:
❯ cat domains.txt | fprobe
文件输入:
❯ fprobe -i domains.txt
并发性:
❯ cat domains.txt | fprobe -c 200
使用内联端口
如果你想要针对每一个域名来指定特殊端口,你可以使用-l标签。除此之外,你还可以使用这个功能来解析Nmap/Masscan输出,并对数据进行重新格式化。
输入(domains.txt):
google.com,2087,2086,8880,2082,443,80,2052,2096,2083,8080,8443,2095,2053
yahoo.com,2087,2086,8880,2082,443,80,2052,2096,2083,8080,8443,2095,2053
sport.yahoo.com,2086,443,2096,2053,8080,2082,80,2083,8443,2052,2087,2095,8880
命令:
❯ cat domains.txt | fprobe -l
超时:
❯ cat domains.txt | fprobe -t 10
指定特殊端口:
❯ cat domains.txt | fprobe -p http:8080 -p https:8443
检测可用的URL:
❯ echo ‘https://google.com/path1?param=1‘ | fprobe
https://google.com/path1?param=1
使用内置端口收集功能(默认包含80和443):
1、Medium: 8000, 8080, 8443
2、Large: 81, 591, 2082, 2087, 2095, 2096, 3000, 8000, 8001, 8008, 8080, 8083, 8443, 8834, 8888
3、XLarge: 81, 300, 591, 593, 832, 981, 1010, 1311, 2082, 2087, 2095, 2096, 2480, 3000, 3128, 3333, 4243, 4567, 4711, 4712, 4993, 5000, 5104, 5108, 5800, 6543, 7000, 7396, 7474, 8000, 8001, 8008, 8014, 8042, 8069, 8080, 8081, 8088, 8090, 8091, 8118, 8123, 8172, 8222, 8243, 8280, 8281, 8333, 8443, 8500, 8834, 8880, 8888, 8983, 9000, 9043, 9060, 9080, 9090, 9091, 9200, 9443, 9800, 9981, 12443, 16080, 18091, 18092, 20720, 28017
❯ cat domains.txt | fprobe -p medium/large/xlarge
跳过默认探测:
如果你不想探测HTTP(80端口)或HTTPS(443端口),你可以使用-s标签:
❯ cat domains.txt | fprobe -s
Verbose
Verbose输出数据为JSON格式数据,其中还会包含额外的Header,例如Status Code、Content Type、Location。
❯ cat domains.txt | fprobe -v
{"site":"http://google.com","status_code":301,"server":"gws","content_type":"text/html; charset=UTF-8","location":"http://www.google.com/"}
{"site":"https://google.com","status_code":301,"server":"gws","content_type":"text/html; charset=UTF-8","location":"https://www.google.com/"}
项目地址
FProbe:【GitHub传送门】

浙江省宁波市 1F
支持这么多端口?
安徽省淮南市 2F
试了下,json输出还行,但有的站点超时了
新西兰 B1
@ 灵活的龙猫 超时可以调大-t参数,遇到慢站点就不容易卡住。
日本 3F
之前用nmap扫,这个看起来更快点
山东省烟台市 B1
@ 古玺魂 确实比nmap省时,特别是大批量时感觉更顺手。
河南省郑州市 B1
@ 古玺魂 比nmap轻多了,至少不会卡死终端。
湖北省荆州市 4F
直接cat domains.txt就能跑?
中国 5F
-l参数那个内联端口怎么用,没看懂
韩国 B1
@ 火锅底料爱好者 -l就是把域名和端口放同一行,用逗号分隔,文件里直接写就行。
北京市 B1
@ 火锅底料爱好者 我之前也卡在这儿,直接照文档敲就好。
北京市 6F
扫出来status code有啥用啊🤔
广东省东莞市 7F
有go环境就能装?
日本 8F
这个和httpx哪个好用?
江苏省苏州市 9F
看起来挺轻量的,回头试试看
上海市 10F
速度真的比nmap快,直接跑完一批子域名。
北京市 B1
@ 孤寒 确实快,一批子域几分钟搞定,爽。
吉林省吉林市 11F
这个工具省内存,老电脑上也能跑。
上海市长宁区 12F
我用-l参数把端口写在同一行,省事多了。
江苏省无锡市 13F
json输出里带的location字段真的有助于追踪重定向。
新疆 14F
这个probe默认不扫80/443,想要单独检测https可以加-s。
广东省广州市 15F
超时设9秒还是会漏点,我把-t改成12秒后就全出来了。
江苏省苏州市 B1
@ 天际线传媒 超时调高确实能减少漏网,但太慢也影响效率,得平衡。
台湾省 B1
@ 天际线传媒 跑得是快,但漏了不少端口,调-t到12才全。
广东省东莞市 16F
看到这么多端口列表,感觉工具像个端口百科。
湖北省武汉市 17F
有的站点返回301,我还以为是打不开,原来是跳转。😂
北京市 B1
@ 衣柜的旧衣 301跳转很正常,主要看跳转地址有没有问题
浙江省温州市乐清市 18F
我之前也踩过端口扫的坑,结果卡在443一直等。
日本 19F
感觉这玩意儿有点贵,装个go环境都要折腾。
上海市 20F
要是比特币跌回3万他们还能撑住不?
马来西亚 21F
感觉有点复杂,得先装go环境。
日本 22F
json输出格式挺实用,能直接导入分析。
浙江省宁波市 23F
这工具扫内网效率咋样?
台湾省台南市 24F
扫了半天全是301,白忙活。
湖北省荆州市 25F
对新手不太友好,文档再详细点就好了。
重庆市 26F
之前用masscan配合这个应该更快。
广东省江门市 B1
@ 孟婆侍女 你说的对,masscan先筛一遍再用fprobe细探更高效。
台湾省 27F
-s参数跳过默认端口,那怎么单独扫http?
印度尼西亚 B1
@ 篆烟痕 默认端口跳过的话可以自己指定-p参数扫80
浙江省衢州市 B1
@ 篆烟痕 -s是跳过80和443,想单独扫http得自己加-p http:80。
上海市奉贤区 28F
这么多端口列表,实际用得上几个?
陕西省渭南市 29F
直接管道输入挺方便的,不用老写文件。
山东省滨州市 30F
这工具装起来是有点门槛,go环境配半天。
湖南省怀化市 B1
@ 农夫钱 go环境确实劝退不少新手
韩国 31F
-l就是域名和端口用逗号连一起写进文件里,我试了可行。
天津市 32F
我跑的时候发现并发调到300也没翻车,比预想稳。
湖北省武汉市 33F
httpx功能多点,但fprobe轻快,看要啥效果吧。
山东省东营市 B1
@ 射手自由风 我倒是更喜欢轻量的,省事。
北京市 B1
@ 射手自由风 对比下来,速度真的好几倍。
北京市 34F
扫301正常,关键是看location跳哪去了,有用。
福建省宁德市 35F
老机器跑nmap卡死,这玩意儿倒是挺流畅。
日本 36F
-json输出方便写脚本处理,省得再解析。
山东省滨州市 37F
这端口列表看着多,实际常用也就那几个。
印度 38F
这个并发200会不会太激进啊
韩国 39F
json输出格式很实用,直接就能用脚本处理
陕西省西安市 40F
内联端口那个用法试了下,确实方便
日本 41F
老机器跑这个比nmap流畅多了
福建省厦门市 42F
有谁知道这个支持ipv6吗?
日本 43F
这工具扫子域名速度确实快
北京市 44F
看到这么多端口列表头都大了
广东省深圳市 45F
这工具扫端口挺方便啊
广东省深圳市 B1
@ 符号迷宫 对,直接一行命令搞定,省去手动脚本。
韩国 46F
这工具跑起来真不卡,老本子有救了。
山东省滨州市 B1
@ 密林独行者 老机器跑这个真的不卡,比我那破本强多了。
韩国 47F
扫完一堆301,还得手动看location,有点累。
香港 48F
-t默认9秒太短了吧,好多超时的。
上海市 49F
go环境配好了就能直接用?求问依赖多不多?
山东省青岛市 50F
-l参数就是把端口跟域名写一行逗号隔开呗,懂了。
广东省广州市 B1
@ 文鳐戏 -l参数就是域名和端口写一行用逗号分隔,我刚开始也没明白。
印度 51F
json输出带status和location,写脚本省事多了👍
湖北省宜昌市 52F
之前用masscan扫完还得处理格式,这个直接-p就行。
北京市 53F
并发200稳吗?我怕被目标ban了。
韩国 54F
-s跳过80/443后,怎么只扫8443啊?没整明白。
广东省深圳市南山区 55F
扫内网能用不?感觉对外网更友好。
福建省三明市 B1
@ Tranquil Storm 扫内网肯定能用啊,我们内网资产多,正需要这种轻量工具。
澳大利亚 56F
装个go环境确实麻烦,但用过一次就顺了。
四川省巴中市 B1
@ 番茄酱战士 go环境配一次后面就省心了,编译完直接丢服务器跑。
北京市 57F
这工具跑起来内存占用真低,老机器感动哭了。
上海市南汇区 58F
json里带location太实用了,自动跳转一目了然。
河北省保定市 59F
并发300我都试了,没崩,就是怕被防火墙拉黑。
韩国 60F
超时9秒真不够,调成15才扫全,建议默认改改。
吉林省长春市 61F
go依赖不多,装完就能跑,就是编译有点卡。
奥地利 62F
能解析Nmap输出这点还挺方便的。
上海市 63F
扫内网应该也行,但我还没试,回头测测。
安徽省淮南市 64F
这个和httpx比轻多了,适合快速过一遍子域。
四川省泸州市 65F
这工具扫起来飞快,就是文档有点简略。
江苏省无锡市 66F
-status 301还能看跳转去哪,挺实用的。
日本 67F
端口列表挺全的。
日本 B1
@ 柳岸晓风 确实,省了不少自己整理的功夫
韩国 68F
-json输出带header信息,写自动化脚本太方便了。
台湾省台北市 69F
并发300我试过,局域网里跑没压力,公网小心点就是。
湖南省常德市 70F
这工具装完才发觉,原来go写的小工具这么省资源。
韩国 71F
扫出来一堆8080,全是测试环境的旧服务,尴尬了。
四川省乐山市 B1
@ 星野观察者 8080扫出来的全是老系统,真的尴尬。
韩国 B1
@ 星野观察者 遇到这种情况,我一般加过滤把测试环境排除。
江西省九江市 B1
@ 星野观察者 我上次扫某公司内部,结果也是一堆8080的旧服务,后来把端口列表细化,只保留常用的80/443,误报大幅下降,省了不少时间。
菲律宾 72F
那个-l参数真省事,直接喂masscan结果就行。
上海市 73F
这个json输出格式挺友好,直接对接脚本。