代码编织梦想

ISAPI协议概述

ISAPI的定义

ISAPI全称为Intelligent Security API(智能安全API),是基于HTTP(Hypertext Transfer Protocol)的应用层协议,并采用REST架构(Representational State Transfer, 表述性状态转移),实现安防设备(如摄像机、数字录像机、网络录像机等)与平台或客户端软件之间的通信。

另一说,ISAPI为“网络脚本应用程序接口”(Internet Script Application Program Interface),到底哪个是对的??额。。。估计是海康自己取了个名字,,,此isapi非彼isapi,看文章前先弄清楚它讲的是哪一个。。。看isapi.pdf,确实智能安全API是对的
参考文章:ISAPI 是什么
参考文章:KYSL 海康摄像头 HEOP ISAPI 信令扩展模块集成开发指南(IP Surveillance API:IP网络监控API接口)(isapiExternDemo使用案例)

自2013年创建以来,ISAPI已经有11000多个接口,内容包括设备管理、车辆识别、停车场管理、人脸智能、门禁权限管理审讯管控、录播管控等功能,应用于公安、司法、交通、消防、安检、教育等各种行业。(这11000多个接口怎么统计来的??

应用场景

用户通过ISAPI对接设备时,设备作为服务端监听固定端口,用户程序作为客户端主动登录设备进行通信。这要求设备具有固定的IP地址,并且保证客户端的请求能够到达服务端。

在这里插入图片描述

网络模型层级

ISAPI是基于HTTP的应用层协议,所以ISAPI继承了HTTP的所有规范和特性。

经常和ISAPI一起使用的协议还有基于多播/组播的SADP(Search Active Device Protocol),用于实现设备发现和激活(这貌似也是海康自己搞的。。。);
在这里插入图片描述

基于TCP/UDP的RTSP(Real Time Streaming Protocol),用于实现设备实时预览和录像回放等。

在这里插入图片描述

优势对比 ISAPI、Onvif、GB/T 28181

集成客户在对接评估时,除了ISAPI,国际标准Onvif(Open Network Video Interface Forum)和国家标准GB/T 28181(公共安全视频监控联网系统信息传输、交换、控制技术要求)是两个不可避免的预选方式,它们和ISAPI在应用行业、支持的功能、通信方式等多方面都有所重叠。下表是ISAPI和Onvif、GB/T 28181的多方面对比,通信技术方面差异不大,但是可以看出ISAPI在智能功能支持方面是远远领先于Onvif和GB/T 28181的。
在这里插入图片描述

认证方式介绍

Basic Auth

基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。

优点

基本认证的一个优点是基本上所有流行的网页浏览器都支持基本认证。基本认证很少在可公开访问的互联网网站上使用,有时候会在小的私有系统中使用(如路由器网页管理接口)。后来的机制HTTP摘要认证是为替代基本认证而开发的,允许密钥以相对安全的方式在不安全的通道上传输。

程序员和系统管理员有时会在可信网络环境中使用基本认证,使用Telnet或其他明文网络协议工具手动地测试Web服务器。这是一个麻烦的过程,但是网络上传输的内容是人可读的,以便进行诊断。

缺点

虽然基本认证非常容易实现,但该方案创建在以下的假设的基础上,即:客户端和服务器主机之间的连接是安全可信的。特别是,如果没有使用SSL/TLS这样的传输层安全的协议,那么以明文传输的密钥和口令很容易被拦截。该方案也同样没有对服务器返回的信息提供保护。

现存的浏览器保存认证信息直到标签页或浏览器被关闭,或者用户清除历史记录。HTTP没有为服务器提供一种方法指示客户端丢弃这些被缓存的密钥。这意味着服务器端在用户不关闭浏览器的情况下,并没有一种有效的方法来让用户注销。

Digest Auth

摘要访问认证(Digest access authentication)是一种协议规定的Web服务器用来同网页浏览器进行认证信息协商的方法。它在密码发出前,先对其应用哈希函数,这相对于HTTP基本认证发送明文而言,更安全。

从技术上讲,摘要认证是使用随机数来阻止进行密码分析的MD5加密哈希函数应用,它使用HTTP协议。个人理解:HTTP Digest Auth 是对 HTTP Basic Auth 的增强。由于 HTTP Basic Auth 几乎是以明文传输用户名和密码,容易泄露。而 HTTP Digest Auth 能够传递认证信息,但是传递的是使用摘要算法(如:MD5)产生的密文,服务端也不用存储明文用户信息,降低了泄密的可能性。但是这种方式仍然可以通过中间人攻击的方式拦截、模拟,所以算是一种折中方案。

这里只做个简要描述,说明总体原理,详情请查阅相关文档。

传统实现方式

http作为最常用的网络请求方式,用来交换数据,不同的http客户端,性能使用方式都有所差别,本文将对Apache-HttpClient,OkHttp,Hutool-http三者的put,post请求方式做一个对比。

(略)

Feign原理浅析

(略)

ISAPI对接设计实现

(略)

转自:海康isapi协议原理学习(Intelligent Security API 智能安全API)_Dontla的博客-CSDN博客_isapi

php 控制海康摄像头,通过ISAPI http协议控制海康摄像头-爱代码爱编程

一直用海康的SDK进行摄像头控制,但有时候非常不灵活,必须有X86的主机,在嵌入式上面就不行,通过写一个HTTPCLIENT可以通过ISAPI来控制海康的摄像头。 代码如下:git@github.com:hpwang666/httpclient.git 以下是部分ISAPI协议: /ISAPI/System/deviceInfo //获取设备信息

【网络安全】记一次app登录爆破_大安全家的博客-爱代码爱编程

使用工具 安卓12 jadx-gui 抓取登录HTTP请求包 安装burp证书,并抓取登录请求。 POST /loginUser HTTP/1.1 Host: api.xxxx.xxxxx.com apiac

海康云台摄像机 isapi 的签名机制与语音传输_isapi linux-爱代码爱编程

由于海康HikVision (Hik)平台摄像机的SDK不支持Arm Linux平台,为了跨平台的兼容性,只能使用ISAPI作为控制或接收相机数据的方式,ISAPI是Hik的一套HTTP通信协议,这里不过多介绍,详细可以查看