作者:Ai防红技术团队 | 更新:2026年08月11日
2026年08月11日 谷歌域名防红+QQ微信防红+防反诈屏蔽+APK爆毒 手机也能跑全四维域名检测?Termux移动端检测环境搭建与一键检测脚本实操教程
不需要服务器、不用开电脑——一台安卓手机装上Termux,就能跑谷歌Safe Browsing API、QQ微信拦截检测、反诈DNS查询、Virustotal APK爆毒扫描四大维度。本文从零安装到一键脚本,附带Termux定时检测+手机通知推送方案。
谷歌域名防红QQ微信防红防反诈屏蔽APK爆毒Termux检测移动端Shell脚本
📱 3分钟速览:手机上跑四维域名检测的全流程
第一步:安装 Termux(F-Droid版,不要用Play商店旧版)→ 第二步:在Termux里安装 curl jq python dnsutils 四个工具包 → 第三步:配置谷歌 Safe Browsing API 密钥(免费)→ 第四步:复制本文提供的 Shell 一键检测脚本 → 第五步:运行脚本,3秒内拿到四维检测结果,支持自动保存日志和异常告警。
⏱ 预计搭建时间:15分钟(含Termux安装和工具链配置) | 日常使用:一条命令 3 秒出结果
为什么需要在手机上搭建域名检测环境?手机端检测解决了什么问题?
传统域名检测有三大痛点:① 必须开电脑——凌晨域名突然打不开,爬起来开机查状态,等电脑启动完已经过了五分钟;② 检测网络环境单一——电脑连的是固定WiFi,你测出来「正常」不代表移动端用户看到的结果也正常;③ 紧急情况响应太慢——手机上收到用户反馈说「链接打不开了」,你还要找人开电脑查。
手机端检测的价值在于:它天然具备多网络环境优势。一台手机同时拥有 WiFi 和 4G/5G 两套网络栈——你可以分别用 WiFi 和移动数据各跑一次检测,前后只用一条命令切换。这对于诊断「地域性拦截」「运营商级别劫持」特别有用——我们已经在本站之前的文章中实测过,同一个域名在移动/联通/电信/广电四家运营商返回的检测结果可能存在 37% 的差异。
更关键的是——手机是你随身携带的计算设备。它不需要额外供电、不依赖固定网络、随时随地都能跑检测。对于管理多个域名的运营者来说,这意味着你可以在地铁上、在餐厅里、甚至在景区排队时快速排查域名状态,不需要等回到办公室。
▲ Termux 移动端四维检测架构:四大平台 API 汇聚到手机终端,一条命令输出全维度结果,同时支持 WiFi 和移动数据双网络切换排查
Termux环境如何安装并配置四大平台的检测工具链?
第一步,下载正确的 Termux 版本。这里有个关键避坑提示:Google Play 商店里的 Termux 版本已经停更两年,很多包都无法正常安装。请直接从 F-Droid(f-droid.org)下载最新版 Termux,或者在 Termux 官网 termux.dev 获取 APK。安装后打开,你会看到一个类似 Linux 终端的界面。
1
更新 Termux 包管理器并安装基础工具链
打开 Termux,依次输入以下命令。注意:首次运行 pkg update 会提示确认,输入 y 回车即可。
# Step 1: 更新软件源(必须做,否则后续安装可能失败)
pkg update && pkg upgrade -y
# Step 2: 安装核心工具
pkg install curl jq python dnsutils termux-api -y
# Step 3: 验证安装
curl --version && jq --version && python3 --version && dig -v
💡 提示:termux-api 包需要配合 Google Play 上的 Termux:API 应用使用(用于手机通知推送)。如果不需要通知功能,可以不装。
2
配置谷歌 Safe Browsing API 密钥(免费)
谷歌 Safe Browsing API v4 每天提供免费 10,000 次查询,对个人域名运营完全够用。
# 在 Termux 中设置 API 密钥为环境变量
echo 'export GSB_API_KEY="你的API密钥"' >> ~/.bashrc
source ~/.bashrc
# 测试 API 连通性
curl -s -X POST "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=$GSB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"client":{"clientId":"termux","clientVersion":"1.0"},"threatInfo":{"threatTypes":["MALWARE","SOCIAL_ENGINEERING","UNWANTED_SOFTWARE","THREAT_TYPE_UNSPECIFIED"],"platformTypes":["ANY_PLATFORM"],"threatEntryTypes":["URL"],"threatEntries":[{"url":"http://example.com"}]}}'
💡 如果返回 {}(空对象),说明 example.com 没有威胁。如果返回包含 matches 字段,说明有命中。两种情况都表示 API 连通正常。
3
配置 Virustotal API 密钥并安装 Python 依赖
Virustotal API v3 免费版限制每分钟 4 次、每天 500 次查询。对于检测需求足够了。
# 设置 VT API 密钥
echo 'export VT_API_KEY="你的Virustotal API密钥"' >> ~/.bashrc
source ~/.bashrc
# 安装 Python requests 库
pip install requests
# 测试连通性:查询一个已知域名
curl -s --request GET \
--url "https://www.virustotal.com/api/v3/domains/google.com" \
--header "x-apikey: $VT_API_KEY" | jq '.data.attributes.last_analysis_stats'
💡 返回 JSON 对象如 {"malicious":0,"suspicious":0,"undetected":92,...} 表示连通成功。
⚠️ 两个最容易踩的坑
❶ Play 商店版 Termux 不兼容——特征是运行 pkg update 时报「repository is not signed」或所有包 404。唯一解决方案:卸载 Play 商店版,去 F-Droid 下载安装。
❷ API 密钥泄露风险——.bashrc 里存 API 密钥是明文,如果手机被别人拿到或你把 .bashrc 复制到其他地方,密钥就暴露了。建议用 chmod 600 ~/.bashrc 限制权限,或者在 Termux 里用 termux-keystore 加密存储。
如何用一键脚本在手机端完成谷歌+QQ微信+反诈+APK四维检测?
工具链安装完成后,核心工作就是写一个 一键检测脚本。下面这个脚本覆盖了四大平台的全维度检测,支持单域名和批量模式。将以下内容保存为 ~/check.sh,然后 chmod +x ~/check.sh 即可使用。
#!/data/data/com.termux/files/usr/bin/bash
# ===== 333Check 移动端四维域名检测脚本 =====
# 用法: ./check.sh example.com (单域名)
# ./check.sh -f domains.txt (批量, 每行一个域名)
set -euo pipefail
DOMAIN="${1:-}"
LOG="$HOME/detect_$(date +%Y%m%d).log"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
detect_single() {
local d="$1"
local score=0
echo "========================================"
echo "🔍 检测域名: $d | 时间: $TIMESTAMP"
# [1/4] 谷歌 Safe Browsing API
GSB=$(curl -s -m 10 -X POST \
"https://safebrowsing.googleapis.com/v4/threatMatches:find?key=$GSB_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"client\":{\"clientId\":\"333ck-mobile\",\"clientVersion\":\"1.0\"},\"threatInfo\":{\"threatTypes\":[\"MALWARE\",\"SOCIAL_ENGINEERING\",\"UNWANTED_SOFTWARE\"],\"platformTypes\":[\"ANY_PLATFORM\"],\"threatEntryTypes\":[\"URL\"],\"threatEntries\":[{\"url\":\"http://$d\"}]}}")
if echo "$GSB" | jq -e '.matches' > /dev/null 2>&1; then
echo " [1/4] Google SB .... 🔴 DANGER"
else
echo " [1/4] Google SB .... 🟢 SAFE"
score=$((score + 25))
fi
# [2/4] 反诈 DNS 多运营商检测
CT_DNS=$(dig +short +time=3 @114.114.114.114 "$d" 2>/dev/null)
YD_DNS=$(dig +short +time=3 @211.137.130.19 "$d" 2>/dev/null)
LT_DNS=$(dig +short +time=3 @202.96.209.133 "$d" 2>/dev/null)
FZ_ISSUE=false
for ip in "$CT_DNS" "$YD_DNS" "$LT_DNS"; do
if echo "$ip" | grep -qE '^(127\.|0\.0\.0\.0|::1)'; then FZ_ISSUE=true; fi
done
if [ "$FZ_ISSUE" = true ]; then
echo " [2/4] 反诈DNS .... 🔴 疑似拦截"
else
echo " [2/4] 反诈DNS .... 🟢 正常解析"
score=$((score + 25))
fi
# [3/4] QQ/微信拦截检测 (urlsec API)
QQ_RESULT=$(curl -s -m 8 \
"https://cgi.urlsec.qq.com/index.php?m=url&a=valid&url=http://$d" 2>/dev/null)
if echo "$QQ_RESULT" | grep -qi 'evil\|danger\|malicious\|phishing\|block'; then
echo " [3/4] QQ/微信 .... 🔴 已拦截"
else
echo " [3/4] QQ/微信 .... 🟢 正常"
score=$((score + 25))
fi
# [4/4] Virustotal APK 爆毒检测
VT_STATS=$(curl -s -m 12 \
--request GET --url "https://www.virustotal.com/api/v3/domains/$d" \
--header "x-apikey: $VT_API_KEY" | jq -r '.data.attributes.last_analysis_stats // {}')
VT_MAL=$(echo "$VT_STATS" | jq -r '.malicious // 0')
VT_SUS=$(echo "$VT_STATS" | jq -r '.suspicious // 0')
if [ "$VT_MAL" -gt 0 ] 2>/dev/null; then
echo " [4/4] VT APK ..... 🔴 $VT_MAL引擎报毒"
elif [ "$VT_SUS" -gt 0 ] 2>/dev/null; then
echo " [4/4] VT APK ..... 🟡 $VT_SUS引擎可疑"
score=$((score + 10))
else
echo " [4/4] VT APK ..... 🟢 0引擎检出"
score=$((score + 25))
fi
# 综合评分
echo " --------------------------------------"
if [ $score -ge 80 ]; then
echo " 🟢 综合评分: $score/100 — 域名安全"
elif [ $score -ge 50 ]; then
echo " 🟡 综合评分: $score/100 — 存在风险"
else
echo " 🔴 综合评分: $score/100 — 高危!立即处理"
fi
# 记录日志
echo "$TIMESTAMP|$d|$score" >> "$LOG"
echo ""
}
if [ "$DOMAIN" = "-f" ]; then
while read -r d; do
[ -z "$d" ] && continue
detect_single "$d"
sleep 15 # Virustotal API 限速: 4次/分钟
done < "${2:-/dev/stdin}"
else
detect_single "$DOMAIN"
fi
脚本的核心设计思路是每个平台独立检测、统一评分。四个平台各占 25 分,满分 100。分数阈值:≥80 绿色安全、50-79 黄色风险、<50 红色高危。这个评分机制让你一眼判断域名状态,而不需要在四行结果里来回比对。
📊 评分规则速查
• 谷歌 SB:SAFE → +25 / DANGER →+0
• 反诈 DNS:正常解析 → +25 / 疑似拦截 → +0
• QQ/微信:正常 → +25 / 已拦截 → +0
• VT APK:0检出 → +25 / 可疑 → +10 / 报毒 → +0
• 综合:80-100 🟢 安全 / 50-79 🟡 注意 / 0-49 🔴 高危
如何让手机端自动定时检测并推送通知?
手动跑脚本只是第一步,真正有用的是定时自动检测+异常告警——你不需要主动去查,手机会在域名状态变化时通知你。
1
安装 Termux:Boot 和 Termux:API(从 F-Droid 或 Google Play 下载配套 APK)
Termux:Boot 让脚本在手机开机时自动启动。Termux:API 提供 termux-notification 命令用于推送手机通知。两个都需要从应用商店下载对应的 APK 并安装,然后在 Termux 里安装对应的包:
# 安装 Termux API 包(用于通知推送)
pkg install termux-api -y
# 测试通知功能:发送一条测试通知
termux-notification --title "333Check检测" --content "通知推送配置成功"
2
配置 Termux crontab 定时检测
Termux 自带 cron 服务(通过 crond)。每天定时跑 4 次检测:
# 安装 cron
pkg install cronie termux-services -y
# 编辑 crontab
crontab -e
# 添加以下定时任务(示例:每6小时检测一次)
0 */6 * * * ~/check.sh your-domain.com >> ~/detect_cron.log 2>&1
# 每天早上9点批量检测(配合 domains.txt 域名列表文件)
0 9 * * * ~/check.sh -f ~/domains.txt >> ~/detect_cron.log 2>&1
# 启动 crond 服务
sv-enable crond
💡 Termux 的 crond 不会在后台常驻——需要保持 Termux 在后台运行(不要划掉通知栏的 Termux 常驻通知)。如果手机有「电池优化」设置,务必把 Termux 设为「不优化」。
3
增加异常告警:检测到域名被红时自动推送手机通知
在 detect_single() 函数末尾增加告警逻辑。当评分 < 50 时,自动推送系统通知:
# 在 detect_single() 函数末尾、echo "" 之前加入:
if [ $score -lt 50 ]; then
termux-notification \
--id "333ck-alert" \
--title "🚨 域名告警: $d" \
--content "综合评分 $score/100 · 请立即处理" \
--priority high \
--alert-once \
--vibrate 500,200,500
elif [ $score -lt 80 ]; then
termux-notification \
--id "333ck-warn" \
--title "⚠️ 域名风险: $d" \
--content "综合评分 $score/100 · 建议关注"
fi
移动端检测与服务器端检测相比有哪些优缺点?
为了让你直观理解移动端检测的定位,我们做了 20 组对比实验:同一批域名,同时用手机 Termux(WiFi + 4G 各一次)和服务器(香港/东京/法兰克福三节点)跑四维检测,对比三类核心指标:
| 对比维度 |
手机 Termux (WiFi) |
手机 Termux (4G) |
服务器 (香港) |
服务器 (东京) |
| 单域名检测耗时 |
2.8-4.2 秒 |
3.5-5.8 秒 |
1.8-3.1 秒 |
2.1-3.6 秒 |
| 谷歌 SB 结果一致性 |
100% |
100% |
100% |
100% |
| 反诈 DNS 国内准确性 |
高 |
最高 |
中等 |
低 |
| QQ/微信拦截检测 |
准确 |
准确 |
准确 |
准确 |
| VT APK 检测 |
0/95 |
0/95 |
0/95 |
0/95 |
| 多网络环境切换 |
一键切换 |
一键切换 |
不支持 |
不支持 |
| 7×24 自动运行 |
需保活 |
需保活 |
天然支持 |
天然支持 |
📊 实测结论:手机端和服务器端不是替代关系,而是互补关系
手机端的独特优势在于反诈 DNS 检测的准确性——因为手机使用运营商的真实 DNS,检测结果更接近普通用户的实际体验。而服务器(特别是海外服务器)跑反诈 DNS 检测时,DNS 请求走的是 BGP 路由到国内,返回结果可能与用户端不同。
推荐策略:服务器端做 7×24 持续监控 + 数据存储 + 趋势分析;手机端做「多网络环境验证」和「紧急手动排查」。两者结合,覆盖所有检测场景。
▲ 手机端与服务器端检测互补策略:服务器端做主力监控,手机端做多网络验证和紧急排查
客户怎么说?
「我管理着12个海外博彩域名,经常半夜收到用户说链接打不开。以前必须爬起来开电脑查,自从在手机上用Termux配好一键检测脚本后,躺在床上30秒就知道是哪个平台标红的——是谷歌Safe Browsing还是QQ微信拦截,一目了然。省下的不只是时间,还有半夜起床的血压。」
——某东南亚游戏运营商,使用333Check免费检测 + Termux移动端脚本管理12个域名
「我们的APP推广域名被反诈中心DNS劫持了,服务器在香港检测一直显示正常,但国内用户就是打不开。用4G手机Termux跑了一次dig检测,电信和联通的DNS都返回了127.0.0.1——这才定位到是运营商级别的DNS劫持,不是谷歌标红。如果只依赖海外服务器检测,这个问题永远发现不了。」
——某国内工具类APP运营负责人,通过手机端多网络检测发现DNS劫持根因
检测到域名被红?需要更全面的四维检测和自动告警?
手机端Termux检测方案是免费且开源的——本文提供的脚本可以直接用,不需要任何付费工具。
如果你想跳过搭建过程,直接获得四维检测结果+实时告警+历史趋势分析,联系 @AICDN 免费测试。
我们帮你跑第一次全维度检测并出具标准报告,3分钟出结果。
🔍 提交域名 · 免费获取四维检测报告