通过解析广播报文获取网络摄像头通告地址

博客介绍了使用wireshark抓包,得知网络摄像头通过定时广播包通告局域网地址。广播包可用nc netcat接收,组播包用nmc接收。以某摄像头为例,说明了周期性广播及防火墙开启接收广播的设置,还给出了接收通告地址及放入crontab检测的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用wireshark抓包 可以得知 一些网络摄像头通过定时广播包通告其局域网地址的

广播包可以使用 nc netcat接收内容
组播包可以使用 nmc 接收

以某摄像头为例 周期性向 5001 广播

防火墙开启接收广播
#broadcast
iptables -t filter -A INPUT -m addrtype --dst-type BROADCAST -j ACCEPT

netcat有多个版本,使用的是 netcat-openbsd

接收通告地址
nc -u -p 5001 -l -b -W 1|grep --text -o -E “http://[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}”

例 放入crontab检测
[ $(/usr/bin/curl -sIL -w “%{http_code}\n” -o /dev/null $(/usr/bin/nc -u -p 5001 -l -b -W 1 |/usr/bin/grep --text -o -E “http://[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}”)) -eq 200 ] && echo “ok”

#!/bin/sh

PORT=5001
timeout -s 9 60s  /usr/bin/nc -u -p $PORT -l -b -W 1 >/dev/null
#timeou返回值  0 =不超时 ; 不为0超时
if [ $? -eq 0 ]; then
[ $(/usr/bin/curl -sIL -w "%{http_code}\n" -o /dev/null  $(/usr/bin/nc -u -p 5001 -l -b -W 1 |/usr/bin/grep --text -o -E "http:\/\/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}")) -eq 200 ] && paplay --playback --client-name="camera-warnning" --volume-32768 --device=@DEFAULT_SINK@ ~/warnning.ogg

exit 0
fi


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值