2、命令行工具(技术用户推荐)
方法一:使用`curl`或`ping`检测
bash
!/bin/bash
domains=(example.com google.com youtube.com) 替换为你的域名列表
for domain in ${domains[@]}; do
if ping c 1 W 2 $domain & /dev/null; then
echo $domain: 可访问(可能未被墙)
else
echo $domain: 可能被墙或网络问题
fi
done
注意:`ping`可能不准确(部分被墙域名仍能ping通),建议结合其他方法。
方法二:使用`dig`查询DNS污染
bash
for domain in ${domains[@]}; do
result=$(dig +short $domain @8.8.8.8)
if [[ z $result ]]; then
echo $domain: DNS可能被污染(被墙)
else
echo $domain: DNS解析正常
fi
done