王集成
【摘要】用Fiddler抓取浏览器与网络摄像头之间HTTP协议会话包,通过分析会话包信息,实现摄像头控制,为探索网络摄像头控制提供一种实用方法。
【关键词】网络摄像头 HTTP协议 抓包软件 Base64编码
1、引言
海康威视的网络摄像头内嵌Web服务器,提供Web网页管控功能,用户在浏览器地址栏输入网络摄像头IP地址,经登录认证后,能方便管控摄像头,因此能通过Fiddler软件抓取浏览器与网络摄像头之间HTTP协议会话包,分析提取网络摄像头管控命令。
2、探索步骤和过程
本文选用海康威视DS-2DE5174-A型号网络摄像头。首先确保网络摄像头与抓包电脑处于同一IP网段内。其次将Fiddler Web Debugger V2.2.2.0(中文版)安装到抓包电脑。
2.1 Fiddler软件设置
首先选择“过滤器”功能选项页,勾选“使用过滤器”,在主机标签栏下输入网络摄像头IP地址。其次选择 “嗅探”功能选项,该页分为上、下两个区域栏,分别显示HTTP协议请求包(HTTP Request)和回复包(HTTP Response),在区域栏分别选择Raw项,能显示HTTP协议包原始信息,方便研究数据。
2.2 ActiveX插件安装和摄像头控制操作
在IE浏览器地址栏输入网络摄像头IP地址,经安全认证登录,进入网络摄像头的管控界面,会实时显示摄像头捕捉视频画面(首次登录,系统提示下载安装ActiveX插件WebComponents.exe),点击视频画面右上角的“云台”图标 ,右侧出现云台控制界面,依次点击上 、下 、左 、右 方向控制以及镜头变焦的近 与远 图标操作摄像头。
2.3 抓取HTTP协议包内容
Fiddler抓取云台控制摄像头上下、左右和远近操作的HTTP协议包,本文仅摘取控制摄像头向上运动HTTP协议包中的关键信息如下:
PUT /ISAPI/PTZCtrl/channels/1/continuous HTTP/1.1
Host: 10.28.38.48 注:网络摄像头IP地址
Authorization: Digest username="admin",realm="DS-2DE5174-A",nonce="4d6a6846
4e446b77524455364e6a526a443d",uri="/ISAPI/PTZCtrl/channels/1/continuous",cnonce="86101b61f18bd3368dda8e8aba",nc=00000001,response="838e6df0830db805fc6cb351",qop="auth" 注:带下划线部分是Digest安全认证的信息
2.4 摄像头控制命令
分析上述HTTP协议包可知,浏览器向网络摄像头(Host:10.28.38.48)的/ISAPI/
PTZCtrl/channels/1/continuous地址发送
数据。同理,其它命令如下:
向上运动:
向下运动:
向左运动:
向右运动:
拉近运动:
推远运动:
停止运动:
2.5 尝试验证摄像头管控命令。
从2.3中带下划线的安全认证信息可知:网络摄像头使用Digest安全认证机制(参考RFC 2617)确保响应合法客户端操作,一旦安全认证未通过,立刻向客户端发送“401未被授权”错误码,拒绝本次服务。因Digest安全认证机制非常复杂,所以本文尝试用Basic安全认证机制替代Digest,看能否达到同样效果,这会用到Fiddler软件 “请求构造”功能,先将 Authorization Basic YWRtaW46MTIzNDU2填到HTTP协议请求的头部信息栏(斜体字串是Basic安全认证机制要求提供Base64加密字符串,即对“用户名:密码”字符串进行Base64编码加密),再将控制向上运动命令
3、结束语
运用这种方法不仅能深入挖掘控制海康威视网络摄像头的其它管控命令,而且能探索其它品牌网络摄像头的管控命令,是一种很实用的探索方法。
参考文献:
[1]肖佳.HTTP抓包实战[M].北京:人民邮电出版社,2018.
[2]劳伦斯著,祝洪凯,李妹芳译.Fiddler调试权威指南[M].北京:人民邮电出版社,2014.
[3]上野宣著,于均良译.图解HTTP[M].北京:人民邮电出版社,2014.