本發(fā)明涉及智能終端管理,特別指一種基于cwmp的路由器、onu、網(wǎng)關網(wǎng)絡流量獲取方法。
背景技術:
1、當前路由器、onu、網(wǎng)關等智能終端都是通過cwmp協(xié)議(cpe?wan?managementprotocol)實現(xiàn)遠程管理與配置;cwmp協(xié)議是一種遠程管理協(xié)議,用于管理網(wǎng)絡中的客戶端設備(cpe,customer?premises?equipment),允許遠程管理和配置路由器、onu、網(wǎng)關以及其他網(wǎng)絡設備,無需直接訪問設備。
2、cwmp協(xié)議基于數(shù)據(jù)模型獲取信息,數(shù)據(jù)模型用于定義、管理客戶端設備的各種參數(shù)和配置信息,數(shù)據(jù)模型以層次結構的方式組織,并基于xml的描述語言來定義各種參數(shù)和配置信息,其中包括多個層級和對象,每個對象又包括多個參數(shù),如tr098這個數(shù)據(jù)模型定義了遠程管理和家庭網(wǎng)關配置的參數(shù),如無線局域網(wǎng)設置、防火墻配置、端口映射、設備診斷等。
3、然而,cwmp協(xié)議的數(shù)據(jù)模型,如tr098與tr181等并不直接支持網(wǎng)絡流量的獲取,而網(wǎng)絡流量可用于網(wǎng)絡故障排查、性能分析等場景,這給智能終端的管理帶來不便,若要獲取網(wǎng)絡流量需要借助第三方的網(wǎng)絡監(jiān)控工具,而這些網(wǎng)絡監(jiān)控工具良莠不齊,可能在獲取的過程中未對網(wǎng)絡流量進行加密,甚至自身存在一些黑客行為,嚴重影響網(wǎng)關運行的安全性。
4、因此,如何提供一種基于cwmp的路由器、onu、網(wǎng)關網(wǎng)絡流量獲取方法,實現(xiàn)基于cwmp協(xié)議獲取網(wǎng)絡流量,提升網(wǎng)絡流量獲取的安全性,成為一個亟待解決的技術問題。
技術實現(xiàn)思路
1、本發(fā)明要解決的技術問題,在于提供一種基于cwmp的路由器、onu、網(wǎng)關網(wǎng)絡流量獲取方法,實現(xiàn)基于cwmp協(xié)議獲取網(wǎng)絡流量,提升網(wǎng)絡流量獲取的安全性。
2、本發(fā)明是這樣實現(xiàn)的:一種基于cwmp的路由器、onu、網(wǎng)關網(wǎng)絡流量獲取方法,包括如下步驟:
3、步驟s1、智能終端與acs協(xié)商定義cwmp協(xié)議的數(shù)據(jù)模型規(guī)范;所述智能終端為路由器、onu或者網(wǎng)關;
4、步驟s2、acs基于所述數(shù)據(jù)模型規(guī)范生成數(shù)據(jù)模型設置指令,將所述數(shù)據(jù)模型設置指令加密為第一加密指令后發(fā)送給智能終端;
5、步驟s3、智能終端解密接收的所述第一加密指令得到數(shù)據(jù)模型設置指令,基于所述數(shù)據(jù)模型設置指令設置cwmp協(xié)議的數(shù)據(jù)模型;
6、步驟s4、智能終端基于所述數(shù)據(jù)模型生成tcpdump命令,執(zhí)行所述tcpdump命令執(zhí)行抓包操作以獲取網(wǎng)絡流量,基于所述網(wǎng)絡流量的獲取情況更新數(shù)據(jù)模型的狀態(tài)標識;
7、步驟s5、acs周期性的生成抓包狀態(tài)查詢指令,將所述抓包狀態(tài)查詢指令加密為第二加密指令后實時發(fā)送給智能終端;
8、步驟s6、智能終端解密接收的所述第二加密指令得到抓包狀態(tài)查詢指令,基于所述抓包狀態(tài)查詢指令將狀態(tài)標識加密為加密標識并發(fā)送給acs;
9、步驟s7、acs解密接收的所述加密標識得到狀態(tài)標識,基于所述狀態(tài)標識生成網(wǎng)絡流量上傳指令,將所述網(wǎng)絡流量上傳指令加密為第三加密指令后實時發(fā)送給智能終端;
10、步驟s8、智能終端解密接收的所述第三加密指令得到網(wǎng)絡流量上傳指令,基于所述網(wǎng)絡流量上傳指令對獲取的網(wǎng)絡流量進行加密得到加密數(shù)據(jù)包,將所述加密數(shù)據(jù)包發(fā)送給acs;
11、步驟s9、acs解密接收的所述加密數(shù)據(jù)包得到網(wǎng)絡流量。
12、進一步的,所述步驟s1中,所述數(shù)據(jù)模型規(guī)范至少包括遠程抓包參數(shù)、狀態(tài)標識、抓包執(zhí)行模式、抓包持續(xù)時長、抓包網(wǎng)口、抓包報文過濾ip、抓包報文過濾端口、抓包報文過濾協(xié)議類型、抓包文件名稱、抓包文件大??;
13、所述狀態(tài)標識為未獲取、請求獲取、完成獲取或者獲取錯誤標識。
14、進一步的,所述步驟s2具體為:
15、acs基于所述數(shù)據(jù)模型規(guī)范生成攜帶setparametervalues?rpc方法、遠程抓包參數(shù)、抓包執(zhí)行模式、抓包持續(xù)時長、抓包網(wǎng)口、抓包報文過濾ip、抓包報文過濾端口、抓包報文過濾協(xié)議類型、抓包文件名稱、抓包文件大小的數(shù)據(jù)模型設置指令,對所述數(shù)據(jù)模型設置指令進行哈希計算得到第一哈希值,獲取當前的第一時間戳,通過rsa算法將所述數(shù)據(jù)模型設置指令、第一哈希值以及第一時間戳加密為第一加密指令,將所述第一加密指令通過http協(xié)議發(fā)送給智能終端。
16、進一步的,所述步驟s3具體為:
17、智能終端接收所述第一加密指令,通過rsa算法解密所述第一加密指令得到數(shù)據(jù)模型設置指令、第一哈希值以及第一時間戳,通過所述第一時間戳進行時效校驗后,通過所述第一哈希值對數(shù)據(jù)模型設置指令進行完整性校驗,再解析所述數(shù)據(jù)模型設置指令得到setparametervalues?rpc方法、遠程抓包參數(shù)、抓包執(zhí)行模式、抓包持續(xù)時長、抓包網(wǎng)口、抓包報文過濾ip、抓包報文過濾端口、抓包報文過濾協(xié)議類型、抓包文件名稱、抓包文件大小;
18、智能終端基于所述setparametervalues?rpc方法,對cwmp協(xié)議的數(shù)據(jù)模型的遠程抓包參數(shù)、抓包執(zhí)行模式、抓包持續(xù)時長、抓包網(wǎng)口、抓包報文過濾ip、抓包報文過濾端口、抓包報文過濾協(xié)議類型、抓包文件名稱、抓包文件大小進行設置。
19、進一步的,所述步驟s4具體為:
20、智能終端基于所述數(shù)據(jù)模型生成tcpdump命令,通過cwmp進程調(diào)用c語言的system函數(shù)執(zhí)行所述tcpdump命令,進而通過所述tcpdump命令執(zhí)行抓包操作以獲取網(wǎng)絡流量,基于所述網(wǎng)絡流量的獲取情況實時更新數(shù)據(jù)模型的狀態(tài)標識。
21、進一步的,所述步驟s5具體為:
22、acs設定一輪詢周期,基于所述輪詢周期不斷生成抓包狀態(tài)查詢指令,對所述抓包狀態(tài)查詢指令進行哈希計算得到第二哈希值,獲取當前的第二時間戳,通過ecc算法將所述抓包狀態(tài)查詢指令、第二哈希值以及第二時間戳加密為第二加密指令,將所述第二加密指令通過http協(xié)議實時發(fā)送給智能終端。
23、進一步的,所述步驟s6具體為:
24、智能終端接收所述第二加密指令,通過ecc算法解密所述第二加密指令得到抓包狀態(tài)查詢指令、第二哈希值以及第二時間戳,通過所述第二時間戳進行時效校驗后,通過所述第二哈希值對抓包狀態(tài)查詢指令進行完整性校驗;
25、智能終端對所述狀態(tài)標識進行哈希計算得到第三哈希值,獲取當前的第三時間戳,通過3des算法將所述狀態(tài)標識、第三哈希值以及第三時間戳加密為加密標識,將所述加密標識通過http協(xié)議實時發(fā)送給acs。
26、進一步的,所述步驟s7具體為:
27、acs接收所述加密標識,通過3des算法解密所述加密標識得到狀態(tài)標識、第三哈希值以及第三時間戳,通過所述第三時間戳進行時效校驗后,通過所述第三哈希值對狀態(tài)標識進行完整性校驗;
28、acs解析所述狀態(tài)標識,當所述狀態(tài)標識為完成獲取時生成網(wǎng)絡流量上傳指令;
29、acs對所述網(wǎng)絡流量上傳指令進行哈希計算得到第四哈希值,獲取當前的第四時間戳,通過eddsa算法將所述網(wǎng)絡流量上傳指令、第四哈希值以及第四時間戳加密為第三加密指令,將所述第三加密指令通過http協(xié)議實時發(fā)送給智能終端。
30、進一步的,所述步驟s8具體為:
31、智能終端接收所述第三加密指令,通過eddsa算法解密所述第三加密指令得到網(wǎng)絡流量上傳指令、第四哈希值以及第四時間戳,通過所述第四時間戳進行時效校驗后,通過所述第四哈希值對網(wǎng)絡流量上傳指令進行完整性校驗;
32、智能終端基于所述網(wǎng)絡流量上傳指令,通過ecdh算法創(chuàng)建一對公鑰和私鑰,通過elgamal算法對所述公鑰進行加密得到密鑰,對獲取的所述網(wǎng)絡流量進行mac計算得到mac值,通過所述私鑰對網(wǎng)絡流量進行加密得到第一加密字符串,在所述第一加密字符串的指定位置加入預設長度的隨機字符串得到第二加密字符串,通過idea算法對所述第二加密字符串進行加密得到第三加密字符串,通過ecdsa算法對所述第三加密字符串、mac值以及密鑰進行加密得到加密數(shù)據(jù)包,將所述加密報告通過http協(xié)議上傳給acs。
33、進一步的,所述步驟s9具體為:
34、acs接收所述加密數(shù)據(jù)包,通過ecdsa算法解密所述加密數(shù)據(jù)包得到第三加密字符串、mac值以及密鑰,通過elgamal算法對所述密鑰進行解密得到公鑰,通過idea算法對所述第三加密字符串進行解密得到第二加密字符串,通過指定位置以及預設長度在所述第二加密字符串中定位隨機字符串,從所述第二加密字符串中剔除隨機字符串得到第一加密字符串,通過所述公鑰解密第一加密字符串得到網(wǎng)絡流量,通過所述mac值對網(wǎng)絡流量進行完整性校驗,基于所述網(wǎng)絡流量進行網(wǎng)絡故障排查、網(wǎng)絡性能分析以及網(wǎng)絡安全性分析。
35、本發(fā)明的優(yōu)點在于:
36、1、通過智能終端與acs協(xié)商定義cwmp協(xié)議的數(shù)據(jù)模型規(guī)范,acs基于數(shù)據(jù)模型規(guī)范生成數(shù)據(jù)模型設置指令,將數(shù)據(jù)模型設置指令加密為第一加密指令后發(fā)送給智能終端;智能終端解密第一加密指令得到數(shù)據(jù)模型設置指令,基于數(shù)據(jù)模型設置指令設置cwmp協(xié)議的數(shù)據(jù)模型,基于數(shù)據(jù)模型生成tcpdump命令,執(zhí)行tcpdump命令執(zhí)行抓包操作以獲取網(wǎng)絡流量,基于網(wǎng)絡流量的獲取情況更新數(shù)據(jù)模型的狀態(tài)標識;接著acs周期性的生成抓包狀態(tài)查詢指令并加密為第二加密指令發(fā)送給智能終端,智能終端解密第二加密指令得到抓包狀態(tài)查詢指令,基于抓包狀態(tài)查詢指令將狀態(tài)標識加密為加密標識并發(fā)送給acs;acs解密加密標識得到狀態(tài)標識,基于狀態(tài)標識生成網(wǎng)絡流量上傳指令,將網(wǎng)絡流量上傳指令加密為第三加密指令后實時發(fā)送給智能終端;智能終端解密第三加密指令得到網(wǎng)絡流量上傳指令,基于網(wǎng)絡流量上傳指令對獲取的網(wǎng)絡流量進行加密得到加密數(shù)據(jù)包,將加密數(shù)據(jù)包發(fā)送給acs,最后acs解密加密數(shù)據(jù)包得到網(wǎng)絡流量;即通過協(xié)商定義cwmp協(xié)議的數(shù)據(jù)模型規(guī)范,基于數(shù)據(jù)模型規(guī)范對智能終端的數(shù)據(jù)模型進行設置,進而使智能終端可基于cwmp協(xié)議上傳獲取的網(wǎng)絡流量,且數(shù)據(jù)模型設置指令、抓包狀態(tài)查詢指令、狀態(tài)標識、網(wǎng)絡流量上傳指令、網(wǎng)絡流量傳輸過程中均經(jīng)過加密,且采取不同的加密方案,避免相關數(shù)據(jù)被明文竊取和篡改,最終實現(xiàn)基于cwmp協(xié)議獲取網(wǎng)絡流量,并極大的提升了網(wǎng)絡流量獲取的安全性。
37、2、通過acs周期性的查詢狀態(tài)標識,當狀態(tài)標識為完成獲取時立即下發(fā)網(wǎng)絡流量上傳指令,極大的提升了網(wǎng)絡流量獲取的及時性。
38、3、通過ecdh算法創(chuàng)建一對公鑰和私鑰,通過elgamal算法對公鑰進行加密得到密鑰,對獲取的網(wǎng)絡流量進行mac計算得到mac值,通過私鑰對網(wǎng)絡流量進行加密得到第一加密字符串,在第一加密字符串的指定位置加入預設長度的隨機字符串得到第二加密字符串,通過idea算法對第二加密字符串進行加密得到第三加密字符串,通過ecdsa算法對第三加密字符串、mac值以及密鑰進行加密得到加密數(shù)據(jù)包,將加密報告通過http協(xié)議上傳給acs;由于私鑰加密的數(shù)據(jù)僅能由公鑰解密,公鑰經(jīng)過elgamal算法和ecdsa算法的雙重加密,mac計算基于帶秘密密鑰的hash函數(shù),相對于普通的哈希計算安全性更高,若不知道相應的加密算法和數(shù)據(jù)變換規(guī)則,將無法破解加密報告,前后采取至少八重安全措施(ecdh算法、公私鑰、elgamal算法、mac計算、指定位置、預設長度、idea算法、ecdsa算法),極大的提升了網(wǎng)絡流量上傳的安全性。