在對接開發(fā)菏俳埃康攝像頭的使用過程中,難免會遇到從外部跟攝像頭進行網(wǎng)絡交互的情況强戴,比如登錄和っ康攝像頭的web后臺、浩锎酰康設備網(wǎng)絡sdk预烙、GB/T28181信令/視頻/語音對講/報警等,一般情況下道媚,如果我們遇到傳輸問題可以通過在跟攝像頭交互的一端進行抓包看數(shù)據(jù)是否正常扁掸,但是如果在對端往攝像頭發(fā)送udp網(wǎng)絡數(shù)據(jù),不確定攝像頭是否收到的情況呢最域,我們怎么確定功能正城捶郑或數(shù)據(jù)正常呢?下面就講一下怎么在憾浦康攝像頭端抓包牺蹄。
海康攝像頭抓包步驟:
1薄翅、啟用ssh連接并進入調試模式
首先確保荷忱迹康攝像頭的ssh功能是啟用的,怎么確定呢翘魄?兩種方式:
(1)荷耍康設備網(wǎng)絡sdk配置
首先從海康的官網(wǎng)下載設備網(wǎng)絡sdk熟丸,這里以海康windows64 sdk為例伪节,編譯成可執(zhí)行文件后打開光羞,如下圖:
(2)攝像頭web后臺配置
進入設備配置-系統(tǒng)-安全管理-安全服務里開啟,如果ssh相關項則可以配置怀大,否則用(1)方法纱兑。
然后打開xshell或secureCRT等終端連接工具進入攝像頭設備內核,如下:
Enter Debug Mode.
注:攝像頭的debug模式的密碼是夯瑁康那邊生成的需要跟呵鄙鳎康那邊要,說是一個小時一變。
cat /proc/cpuinfo 后铐炫,看arm版本垒手,放入對應版本的tcpdump(r3/r7等),這個也可以從網(wǎng)上下載或者跟旱剐牛康要科贬。
怎么將pc上的tcpdump放入攝像頭中呢?下面主要講兩種方式:
2鳖悠、掛載本地磁盤共享
(1) 通過freenfs.exe
如果windows的磁盤不是nfs榜掌,而是ntfs的,可以選擇將ntfs改成nfs的乘综,否則此方式不行憎账。
即將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
我們現(xiàn)在有一個明確指定用于與遠程主機共享的新目錄。但是看政,此目錄的所有權還不理想朴恳。我們必須將用戶所有權分配給名為nobody的系統(tǒng)上的用戶。我們還必須將組所有權分配給名為nogroup的系統(tǒng)上的組允蚣。這可以通過鍵入以下命令來完成:
sudo chown nobody:nogroup /home/user/nfs
這里需要注意的是于颖,我們必須謹慎地改變那些特別用于共享的目錄的所有權。例如嚷兔,不得更改主目錄(/ home目錄)的所有權森渐,因為它會給主機服務器上的用戶帶來許多問題。
通過創(chuàng)建和分配目錄冒晰,我們現(xiàn)在可以深入了解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
查看目錄
查看權限 ls -l
r是讀權限蒋情,w是寫權限埠况,x是執(zhí)行權限,這種方式掛載沒有x的執(zhí)行權限棵癣。
則進行 chmod 777 R3tcpdump
在本路徑下無法修改權限辕翰,則
移動到home路徑下再chmod 777 R3tcpdump
確認成功后即可以抓包:
R3tcpdump -i eth0 -s0 -w test.cap
然后再將test.cap mv到 掛載點/mnt/mmc01中,在pc上即可以用類似wireshark查看test.cap狈谊。