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对接设计实现

(略)

参考文章:通过Feign对接ISAPI协议接口的总结分享

好像讲的还不是很全呐,还得继续找资料研究ISAPI的原理。。。。。。。

海康isapi协议原理学习(Intelligent Security API 智能安全API)相关推荐

  1. 海康ISAPI使用相关

    海康ISAPI使用相关 海康SDK对运行环境有要求,只支持x86系统,ARM或者单片机等无法使用.可以使用海康提供的ISAPI接口协议对设备进行操控 1.接口验证使用Digest Auth 2.使用设 ...

  2. 视频联网云平台EasyCVR集成海康EHome协议:Ehome协议预览流程

    之前我们讲了EasyCVR视频平台集成了海康EHome协议系统配置,EasyCVR集成海康EHome私有协议内容繁杂琐碎,测试内容众多,所以我们特地开辟一个系列,如果大家有兴趣,可以翻阅以往的博客了解 ...

  3. 海康Ehome协议接入EasyCVR视频融合平台播放视频失败的排查与解决

    EasyCVR视频融合平台的视频能力非常灵活,尤其是在接入协议上,不仅能支持主流的标准协议,如国标GB/T28181.RTSP/Onvif.RTMP等,还可以支持厂家的私有协议,包括海康Ehome.海 ...

  4. 海康ehome协议分析(1):设备注册(1)

    设备注册 1.Device to Platform 2.Platform to Device 技术交流 1.Device to Platform 海康设备注册后会主动连接配置的ehome平台,发送报文 ...

  5. httpclient海康ISAPI透传

    可以使用海康SDK调用NET_DVR_STDXMLConfig进行透传,但是这种方式仍然比较麻烦.SDK的透传其实就是http的包装,可以完全撇开海康SDK,也就是通过http的方式获取或者设置,例如 ...

  6. 海康SDK/大华SDK安防视频智能分析平台EasyCVR如何将通道视频流推送至CDN分发?

    EasyCVR视频协议融合平台不仅支持常规协议的接入,我们还拓展了海康SDK.大华SDK.Ehome等私有协议.如果前端设备协议不同且数量较多,则可以通过EasyCVR平台来对所有视频通道做整合和统一 ...

  7. 海康ISAPI透传ftp

    GET /ISAPI/System/Network/ftp?security=0,security=0或者不设置,否则用户名加密.获取不到密码password PUT /ISAPI/System/Ne ...

  8. python摄像头推流_海康视频实时推流学习笔记

    学习目的是在Python里调取网络摄像头实时显示视频流,方便日后处理. 我最开始的想法是用萤石开发平台下载的sdk自带的demo,在Python里调用C++的程序,但是在运行的过程中返回错误,NET- ...

  9. 海康ehome协议分析(1):设备注册(2)

    文章目录 获取设备配置 心跳保活 获取设备配置 Platform=>>Device: 平台端可以通过ehome协议主动请求当前设备配置信息: <?xml version=" ...

  10. 【视频】海康摄像头、NVR网络协议简介

    [目录]郭老二博文之:图像视频汇总 1.软硬件整体架构 2.涉及的网络协议 3.协议简介 3.1 海康私有协议 设备发现SADP:进行设备的发现.激活.修改网络参数.忘记密码等: SDK:4200.系 ...

最新文章

  1. What???你的GitHub爆款项目,面试官可能问都不问
  2. 设计模式-职责链模式
  3. WordPress企业一号主题模板
  4. 怎么修改win11睡眠时间
  5. 转:基于科大讯飞语音API语音识别开发详解
  6. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=”files.pythonhosted.org“,
  7. linux启动报错23修复
  8. 卡方分布(Chi-Squared Distribution)
  9. 微信小程序开发入门手册
  10. html+php内联执行JavaScript是报错
  11. Ngnix:防止恶意域名解析
  12. struct dst_entry *dst
  13. python datetime 时区_Python datetime 如何处理时区信息
  14. 《2019中国大数据产业发展白皮书》深度解读
  15. 如何高效地学习开源项目 |“华仔,放学别走”
  16. 小米平板添加位置服务器,小米平板电脑能定位吗?3种可实现小米平板定位导航的方法介绍_硬件教程...
  17. GIT基础笔记之一:从浅入深使用GIT
  18. 山东最新建筑八大员(质量员)机考真题及答案解析
  19. TurboMail邮件系统邮件归档模块介绍
  20. 员工终于赢了竞业协议诉讼!什么是竞业协议?

热门文章

  1. Speex手册----Speex 简介
  2. 顺无盘linux win10包,(2019.10.17)网维大师9.0.6.0无盘7x64-Win10x64公包
  3. python 加注拼音-python汉字注音
  4. 机载激光雷达原理与应用科普(四)
  5. 优点电子签章系统无法解除_电子签章常见问题解答
  6. 最简单的pdf加水印方法,五个步骤很详细
  7. oracle价格的数据类型,oracle数据库中的number类型
  8. windows使用detours实现进程拦截实操
  9. delphi过时了吗?王者归来!从Pascal到Embarcadero Delphi 10.4.1的发展历史回顾
  10. 高通设备进入高通9008模式