海康威视设备发现sdp原理

首先,sdp是向239.255.255.250:1900发送udp消息以达到局域网广播目的。

 

海康的sdp并没有像标准的ssdp那样包含:M-SEARCH,NOTIFY等关键字,也没有向1900端口发送,而是采用自定义的xml字符串作为其私有协议,并且向37020端口发送udp数据。

打开海康威视设备网络工具:

海康威视设备发现sdp原理_第1张图片

我用wireshark抓包得出:

我得机器ip是172.16.7.211 

在wireshark中输入过滤器ip.dst==239.255.255.250 and ip.src == 172.16.7.211

海康威视设备发现sdp原理_第2张图片

1.客户端发起:搜索设备

F93CF8DC-DF53-424B-98A7-9FC0536E1083

inquiry


2.设备发起:摄像机回应

 
F93CF8DC-DF53-424B-98A7-9FC0536E1083
inquiry
140071
DS-2CD5026EFWD-A
DS-2CD5026EFWD-A20171214AACH147955970
8000
80
64-db-8b-08-cf-45
192.168.66.25
255.255.255.0
192.168.66.254
::
::
64
false
0
1
V5.5.0build 170914
V7.3 build 170818
1970-02-10 05:19:22
true
false
0
true
true
true
true
true
flase
true
21ea877fbac71d715a34f28e194d39b80ed9965e96e26bb0a6b00d6240e1dc3b
true

 


3.客户端发起:修改相机IP为192.168.66.25



AC2CEC98-C7FA-42B9-A9AE-23608F923E78
update
true
64-db-8b-08-cf-45
kFnsMaQrzmGi89g+6txepC1RNnZMSi/fA16x+UdjFOmqBmoVCc/zeZ8X6oZmLBdWaXnvwTxjLIQBsLsDP0xjHw==
192.168.66.25
8000
255.255.255.0
192.168.66.254
::
::
64
false
80

4.设备发起:修改成功后相机192.168.66.25主动回复




AC2CEC98-C7FA-42B9-A9AE-23608F923E78
update
success
140071
DS-2CD5026EFWD-A
DS-2CD5026EFWD-A20171214AACH147955970
8000
80
64-db-8b-08-cf-45
192.168.66.25
255.255.255.0
192.168.66.254
::
::
64
false
0
1
V5.5.0build 170914
V7.3 build 170818
1970-02-10 05:19:22
true
false
0
true
true
true
true
true
flase
true
21ea877fbac71d715a34f28e194d39b80ed9965e96e26bb0a6b00d6240e1dc3b
true

原理剖析:

为了防止被抓包破解密码,原理一定是由随机+用户名密码数生成密钥,设备收到这个密钥进行比对,如果吻合则判断密码正确。

1.通过UUID+用户名+密码,组成一串md5的字符串,摄像机收到这个字符串后,发现UUID是自己发送的,则可以进行参数配置等操作。

2.UUID的更新--

由客户端发起则请求的时候自带新的uuid,则设备响应的时候会返回uuid.如果不匹配则会失败,例如:用上一次的UUID进行当前设置,则失败。

你可能感兴趣的:(Linux,c++,udp,tcp/ip,java)