从海康摄像头中网络监控抓包调试

在对接开发海康摄像头的使用过程中,难免会遇到从外部跟摄像头进行网络交互的情况,比如登录海康摄像头的web后台、海康设备网络sdk、GB/T28181信令/视频/语音对讲/报警等,一般情况下,如果我们遇到传输问题可以通过在跟摄像头交互的一端进行抓包看数据是否正常,但是如果在对端往摄像头发送udp网络数据,不确定摄像头是否收到的情况呢,我们怎么确定功能正常或数据正常呢?下面就讲一下怎么在海康摄像头端抓包。

海康摄像头抓包步骤:

1、启用ssh连接并进入调试模式

首先确保海康摄像头的ssh功能是启用的,怎么确定呢?两种方式:
(1)海康设备网络sdk配置
首先从海康的官网下载设备网络sdk,这里以海康windows64 sdk为例,编译成可执行文件后打开,如下图:

图1

图2

(2)摄像头web后台配置
进入设备配置-系统-安全管理-安全服务里开启,如果ssh相关项则可以配置,否则用(1)方法。

然后打开xshell或secureCRT等终端连接工具进入摄像头设备内核,如下:


图3

图4

图5

Enter Debug Mode.

注:摄像头的debug模式的密码是海康那边生成的需要跟海康那边要,说是一个小时一变。

cat /proc/cpuinfo 后,看arm版本,放入对应版本的tcpdump(r3/r7等),这个也可以从网上下载或者跟海康要。

怎么将pc上的tcpdump放入摄像头中呢?下面主要讲两种方式:

2、挂载本地磁盘共享

(1) 通过freenfs.exe
如果windows的磁盘不是nfs,而是ntfs的,可以选择将ntfs改成nfs的,否则此方式不行。

图6
图7

即将tcpdump放入pc中的挂载点d:\FreeNFS中。

如果是挂载在mnt下的mmc01下,命令如下
mount -t nfs -o nolock 192.168.1.3:/ /mnt/mmc01
挂载成功。

(2) 通过virtualbox的linux虚拟机

sudo apt-get update
sudo apt-get install nfs-kernel-server
sudo apt-get install nfs-common

mkdir /home/user/nfs
我们现在有一个明确指定用于与远程主机共享的新目录。但是,此目录的所有权还不理想。我们必须将用户所有权分配给名为nobody的系统上的用户。我们还必须将组所有权分配给名为nogroup的系统上的组。这可以通过键入以下命令来完成:
sudo chown nobody:nogroup /home/user/nfs

这里需要注意的是,我们必须谨慎地改变那些特别用于共享的目录的所有权。例如,不得更改主目录(/ home目录)的所有权,因为它会给主机服务器上的用户带来许多问题。

通过创建和分配目录,我们现在可以深入了解NFS配置文件,以便建立这些资源的共享。为此,您必须使用以下命令以root权限在文本编辑器中打开/ etc / exports文件:
sudo vim /etc/exports
加入:
/home/user/nfs 192.168.1.6(rw,sync,no_subtree_check)
其中192.168.1.6是摄像头ip,即挂载共享给此摄像头访问。
sudo exportfs -a
sudo service nfs-kernel-server start

然后在摄像头的内核ssh中输入:
mount -t nfs -o nolock 192.168.1.3:/home/user/nfs /mnt/mmc01

查看目录


图8

查看权限 ls -l


图9

r是读权限,w是写权限,x是执行权限,这种方式挂载没有x的执行权限。
则进行 chmod 777 R3tcpdump


图10

在本路径下无法修改权限,则
图11

移动到home路径下再chmod 777 R3tcpdump
确认成功后即可以抓包:
R3tcpdump -i eth0 -s0 -w test.cap
然后再将test.cap mv到 挂载点/mnt/mmc01中,在pc上即可以用类似wireshark查看test.cap。

你可能感兴趣的:(从海康摄像头中网络监控抓包调试)