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

使用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


  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值