您现在的位置是:首页 > 随手笔记网站首页随手笔记

Ubuntu 自动识别网段下设备在线

  • 小鑫
  • 2026-05-09 03:55:57
  • 145 次阅读
靠摄像机私有端口特征海康默认端口:8000、554大华默认端口:37777、554只要端口开放,就能精准识别第一步 先安装依赖sudo apt update sudo apt install curl netcat -y第二...
靠摄像机私有端口特征
  • 海康默认端口:8000、554

  • 大华默认端口:37777、554

    只要端口开放,就能精准识别


  • 第一步 先安装依赖(只装一次)

  • sudo apt update
    sudo apt install curl netcat -y


第二步 

复制下面整段,终端直接粘贴运行(自动 ping + 测端口 + 识别海康 / 大华 + 输出 txt)

#!/bin/bash
read -p "请输入网段前三段(例:192.168.1):" net
tmp=$(mktemp)
result="ping_camera_result.txt"
green='\033[32m'
red='\033[31m'
end='\033[0m'

# 探测超时 10秒,网络再慢也能识别
check_brand(){
local ip="$1"
nc -z -w 10 "$ip" 8000 && echo "海康" && return
nc -z -w 10 "$ip" 37777 && echo "大华" && return
nc -z -w 10 "$ip" 554 && echo "其他摄像" && return
echo "普通网络设备"
}

echo "============================================="
echo "  开始扫描 $net.1 ~ $net.254  超时10秒"
echo "============================================="

> "$tmp"

for i in {1..254}; do
(
ip="$net.$i"
ping_out=$(ping -c3 -W10 "$ip" 2>/dev/null | grep 'time=' | tail -1)
if [ -n "$ping_out" ]; then
  delay=$(echo "$ping_out" | awk -F'time=' '{print $2}' | awk '{print $1}')
  brand=$(check_brand "$ip")
  echo "$ip | ✅ | 延时:$delay ms | 设备:$brand" >> "$tmp"
  echo -e "${green}$ip | ✅ | 延时:$delay ms | 设备:$brand${end}"
else
  echo "$ip | ❌ | 超时无响应" >> "$tmp"
  echo -e "${red}$ip | ❌ | 超时无响应${end}"
fi
)&
done
wait

online=$(grep -c "✅" "$tmp")
offline=$(grep -c "❌" "$tmp")
hik=$(grep -c "海康" "$tmp")
dahua=$(grep -c "大华" "$tmp")
cam=$(grep -c "其他摄像" "$tmp")
normal=$(grep -c "普通网络设备" "$tmp")

cat > "$result" << EOF
=============================================
              扫描汇总结果
=============================================
  在线设备:$online 台
  离线设备:$offline 台
---------------------------------------------
  海康:$hik 台
  大华:$dahua 台
  其他摄像:$cam 台
  普通设备:$normal 台
=============================================

============== 详细扫描记录 ==============
EOF

sort -t '.' -k4,4n "$tmp" >> "$result"
rm -f "$tmp"

echo -e "\n============================================="
echo "✅ 扫描完成!汇总已放在文件最顶部"
echo "? 结果已保存到:$result"
echo "============================================="


TAG: Ubuntu

文章评论 (0)

    • 这篇文章还没有收到评论,赶紧来抢沙发吧~


Top