当前位置: 首页 > news >正文

从零开始精通Onvif之网络配置

💡 如果想阅读最新的文章,或者有技术问题需要交流和沟通,可搜索并关注微信公众号“希望睿智”。

概述

        网络配置是Onvif规范中的重要组成部分,允许用户通过网络远程配置和管理设备的网络设置,比如:DHCP、IP地址、子网掩码、默认网关、DNS等。Onvif网络配置主要通过Device Service中的GetNetworkInterfaces和SetNetworkInterfaces两个方法来实现。GetNetworkInterfaces用于获取设备所有网络接口的信息,而SetNetworkInterfaces则允许客户端修改指定网络接口的配置。这两个方法的调用均基于SOAP协议,通过HTTP或HTTPS进行传输。

获取网络配置

        在Onvif协议中,获取网络配置使用GetNetworkInterfaces方法,它用于获取网络摄像机或其他网络视频设备的所有网络接口的配置信息。这项功能对于网络管理尤为重要,因为它允许管理员远程检查和了解设备当前的网络设置状况,包括:IP地址、子网掩码、网关、DNS信息,以及是否启用DHCP等。

        获取网络配置的请求比较简单,可以参考下面的SOAP报文。

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:wsa="http://www.w3.org/2005/08/addressing"xmlns:onv="http://www.onvif.org/ver10/device/wsdl"><soapenv:Header><!-- 安全认证信息 --></soapenv:Header><soapenv:Body><onv:GetNetworkInterfaces /></soapenv:Body>
</soapenv:Envelope>

        设备接收到请求命令后,会返回给客户端SOAP响应。SOAP响应与修改网络配置的请求基本类似,因此我们在下面统一进行介绍。

修改网络配置

        在Onvif协议中,修改网络配置使用SetNetworkInterfaces方法,允许客户端通过网络远程修改网络视频设备的网络接口配置。这些配置包括:静态IP地址、子网掩码、默认网关、启用或禁用DHCP等。

        客户端构造好修改网络配置的请求后,将其通过HTTP POST方法发送至设备的Onvif服务,服务地址通常为http(s)://[设备IP]/onvif/device_service。SetNetworkInterfaces方法可以参考下面的示例报文来进行理解,其中的一些关键节点和属性描述如下。

        <onv:InterfaceToken>:用于指定要修改的网络接口。

        <onv:Enabled>:指定网络接口是否启用。

        <onv:IPv4>:包含IPv4配置信息,包括IP地址、子网掩码、默认网关和DHCP状态。

        <onv:DHCP>:设置为false,表示使用静态IP配置;设置为true,则启用DHCP。

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:wsa="http://www.w3.org/2005/08/addressing"xmlns:onv="http://www.onvif.org/ver10/device/wsdl"><soapenv:Header><!-- 这里应包含认证信息 --></wsse:Security></soapenv:Header><soapenv:Body><onv:SetNetworkInterfaces><!-- 网络接口标识 --><onv:InterfaceToken>InterfaceTokenHere</onv:InterfaceToken><onv:NetworkInterface><!-- 是否启用此接口 --><onv:Enabled>true</onv:Enabled><!-- 静态IPv4配置 --><onv:IPv4><onv:Address>192.168.1.100</onv:Address><onv:SubnetMask>255.255.255.0</onv:SubnetMask><onv:DefaultGateway>192.168.1.1</onv:DefaultGateway><!-- 禁用DHCP --><onv:DHCP>false</onv:DHCP></onv:IPv4><!-- 可以根据需要添加其他配置项,如DNS --></onv:NetworkInterface></onv:SetNetworkInterfaces></soapenv:Body>
</soapenv:Envelope>

http://www.lryc.cn/news/378292.html

相关文章:

  • 在 macOS 上使用 Homebrew 安装和配置 Python 及 Tk 库
  • 【机器学习 复习】第2章 线性回归及最大熵模型
  • 关于椭圆的方程(有Python画的动图)
  • selenium常见难点解决方案
  • 【Python高级编程】 综合练习-使用OpenCV 进行视频数据处理
  • rs232和can的区别
  • 嵌入式软件stm32面试
  • 【Git】-- 添加公钥到 github 或者gitlab上
  • Vue页面生成PDF后调起浏览器打印
  • 纯前端实现导出excel
  • QT windows 5.12.0 安装包
  • 改进YOLOv7 | 在 ELAN 模块中添加【Triplet】【SpatialGroupEnhance】【NAM】【S2】注意力机制 | 附详细结构图
  • windows系统停止更新办法
  • 数据标注概念
  • 网络安全复习笔记
  • Laravel - excel 导入数据
  • 移动语义和完美转发
  • 【IDEA】Spring项目build失败
  • 【无标题】安卓app 流量
  • 国产化ETL产品必备的特性(非开源包装)
  • flink 操作mongodb的例子
  • 【笔记】打卡01 | 初学入门
  • Rocky9使用cockpitweb登陆时root用户无法登陆
  • 微信小程序修改标题
  • Linux MySQL服务设置开机自启动
  • MacOS设备远程登录配置结合内网穿透实现异地ssh远程连接
  • 国有企业如何提高人效比?
  • Leetcode - 周赛401
  • Java | Leetcode Java题解之第171题Excel表列序号
  • 【uni-app学习手札】