消失的日子在實習,今天最后一天了來看看自己的學習日志,有沒有可以和小伙伴交流的部分吧!
目錄
一、產品one
①簡介
②底層原理
③知識點一
作用一:日志采集
作用二:實時監測
作用三:規則匹配
作用四:安全識別
作用五:檢測攻擊
④知識點二
⑤知識點三
⑥知識點四
二、產品two
①簡介
②知識點一
③知識點二
④知識點三
一、產品one
①簡介
被叫做高級持續性威脅預警系統,可以支持對多種協議進行還原和威脅檢測,我們的測試過程就是通過對協議相關的pcap包進行回放,在產品層面展示的信息是否和pcap包內部信息一致,這里面需要學習的東西主要是wireshark的使用以及對產品的了解。以一個pcap包為出發點,編寫整個測試過程的自動化測試腳本。
②底層原理
旁路接入交換機鏡像流量后開始工作
系統通過旁路部署或者離線pcap包上傳的方式通過業界廣泛使用的dpdk驅動進行網絡流量的采集和還原 從而對流量協議還原和后續的安全檢測。
③知識點一
流量探針是一種對網絡流量進行采集、分析的網絡流量處理工具,也是我工作中接觸最多的,清楚流量探針的用途是至關重要的。
作用一:日志采集
流量探針可以把網絡流量轉變為流量日志,比如我們在回放pcap包時可以將協議的元數據記錄下來在探針上就能夠看到相關的元數據、源目的IP和端口等
作用二:實時監測
有些網絡行為跟網絡負載有關無法基于日志進行分析,比如DDOS攻擊、異常協議檢測、隱蔽信道檢測。
作用三:規則匹配
基于流量匹配規則,給出了匹配結果和預定的收集程序,保存特定流量的 Pcap文件以供保存。
作用四:安全識別
識別網絡中的惡意軟件、病毒和蠕蟲,監測和阻止非法訪問、未經授權的數據傳輸等。流量探針還可以對網絡流量進行分類和標記,根據不同類型的流量進行不同的處理和管理,提高網絡的安全性和性能。
作用五:檢測攻擊
流量探針通過對網絡偵察的不斷監控與分析,能夠識別出各類攻擊,如“零日”惡意軟件、“內部威脅”、“高級持久性威脅”、“分布式拒絕服務”等。例如,銳捷網絡研制的一款RG-BDS-TSP G千兆流量探針硬件,它通過AI智能檢測模型,結合特征匹配、機器學習等技術對流量進行深度解析,TSP探針實現了對DGA(域名生成算法)的精準識別,惡意域名檢出率超95%,是目前制衡僵尸網絡的關鍵武器。
綜上所述,對于流量產品來說,流量探針也是一個不可忽視的基礎。
④知識點二
補充完自動化測試腳本后,我還參與到了性能測試中去,這個在實習之前從來沒有接觸過,導師簡單講解后可以操作但是并不知道原理,就又去了解了一下。
企業中使用的是avalanche測試儀,也就是思博倫測試儀。測試儀可以模擬n個IP地址,同時執行action中的命令(比如發送HTTP中的get請求),從而產生對被測設備的訪問壓力。
它的功能有:
①模擬客戶端訪問被測的服務器
②模擬產生流量,既做客戶端又做服務器
③高性能④構造流量
⑤抓包
⑥支持多種協議包括隧道vlan 在流量安全設備上的性能測試上廣泛應用
測試儀的一對口用來模擬客戶端與服務端,經過交換機發送流量
交換機將與測試儀相連的其中一個接口的收發包流量鏡像到與流量探針相連的接口上,這樣我們就可以看到流量的相關數據了。
儀器本身吞吐可以產生80gbps流量 新建可以發出40萬請求 40cps
性能指標:依公司指標而定
通過測試的標準:沒有丟包 cpu利用率不超過80% ?攻擊檢測的數量一致。
⑤知識點三
參與了一次升級包回歸測試,邏輯還沒有參透就去了解其他產品了。
細節性的東西就不說了,業務流程主要是先創建證書進入到平臺,查看此次升級包的版本,查看需要做回歸測試的是哪些部分,接下來進入linux系統輸入vim /opt/work/******,將里面的升級包規則庫版本改小(據說這一步不做,導入新的升級包就不會成功,現在也還是不太明白),后面的步驟就常規了,升級新包之后我們要在linux上看是否導入成功準備就緒(tail -f ********),服務器起來后我們就可以根據條目進行回歸測試了。
⑥知識點四
除此之外,我常聽組內的人說集管中心,所以我有自己去查了查。
集管中心就是主要管理探針的平臺,而不同集管的底層架構也是不同的,單單是消息隊列就有很多種,比如rabbitmq、kafka。
rabbitmq是實現了高級消息隊列協議amqp的面向消息的中間件,可以實現異步消息處理,程序中的端口號為5672,它可以將一些無需即時返回并且耗時的操作提取出來進行異步處理,這樣可以節省服務器的請求響應時間從而提高系統的吞吐量
工作機制:生產者 消費者 代理
生產者:消息的創建者 主要創建消息和推送消息給消息服務器
消費者:消息的接收方 主要接收數據和確認消息
代理:rabbitmq本身 只是承擔的”快遞“的角色
兩者的區別:
rabbitmq:要求消息可靠性高 在客戶端消費消息時有確認消息的機制 吞吐量小 不能支持批量存儲 當消息到達隊列后會將消息推送到消費者手中 被消費者確認的消息會被磁盤刪除掉。
kafka:大數據量并且活躍 在客戶端消費消息時沒有消息確認的機制 ?吞吐量高 可以支持批量存儲 當消息到達隊列后消費者需要手動拉取消息 ?確認的消息仍然會保存在磁盤中。
二、產品two
①簡介
平臺提供演習管理、組織管理、安全接入資源管理和演習全周期的管理功能,對演習項目的增刪改、初始化配置、資源分配、多演習并發、數據清理等。
接口測試平臺 可以對操作進行錄制 直接導入到測試平臺 接口管理 多協議支持 場景自動化
接口定義:定義一個接口 登錄或者注銷 查看 刪除等等
場景自動化:一個場景可能包含一個或多個接口
關系:一個接口對應多個場景 一個場景包含多個接口
②知識點一
了解完這個產品之后,我主要做的工作是接口自動化。使用的平臺是MeterSphere,這個平臺非常容易上手,因為編寫接口時只需要借助他的擴展工具,開始錄制結束錄制就能夠將所需要的接口導入到測試平臺了。
寫接口定義部分需要特別有耐心,幾乎產品所涉及的全部的功能都要注意到,最終我們完成的接口定義部分可能有成百上千條。
③知識點二
其實最難的是我們在創建場景時,不同接口之間的關聯。用過postman的人都知道,接口的關聯與登錄操作息息相關,為了保證一個場景的成功建立,cookie成了關鍵。
Meterphere平臺也為大家提供了便捷的方式——提取參數
在登陸接口執行后,我們只需要在響應頭中提取我們想要的參數設置為一個變量,在之后的操作中只需要將該變量寫入請求頭中就可以了。
除此之外一個場景中也不必這么麻煩,只要勾選了這個就可以了。
④知識點三
編寫完后,在調試之前我們還要對調試的結果進行規定,比如常見的響應碼200就表示測試通過,如果不是200且不考慮重定向的情況下就是測試不通過,那就需要斷言。
斷言:對一些基本的預期結果和執行結果的對比,用來判斷測試執行是否通過
斷言類型
主要對三個部分做判斷:response code狀態碼 response header響應頭 response data響應體
①文本 eg: 選取response code 等于 200?
②正則
+代表前面的字符至少出現一次 *代表前面的字符可以出現0次1次多次 ??代表前面的字符最多出現一次
? ? ? ? ? ? ? ? ? ?[]匹配字符串中所有包含[]內的字符
? ? ? ? ? ? ? ? ? ?[^]匹配字符串中所有不包含[]內的字符
? ? ? ? ? ? ? ? ? ?[A-Z]匹配A到Z所有的大寫字母
? ? ? ? ? ? ? ? ? ?.匹配除換行符之外的任何字符 相當于[^\n\r]
? ? ? ? ? ? ? ? ? ?[\s\S]匹配所有的空白符和非空白符 \s表示空白符 \S表示非空白符不包括換行
? ? ? ? ? ? ? ? ? ?\w匹配字母數字下劃線
? ? ? ? ? ? ? ? ? ?\d匹配任意一個阿拉伯數字
? ? ? ? ? ? ? ? ? ?\n匹配一個換行符
? ? ? ? ? ? ? ? ? ?\r匹配一個回車符
? ? ? ? ? ? ? ? ? ?\t匹配一個制表符
? ? ? ? ? ? ? ? ? ?\v匹配一個垂直制表符
? ? ? ? ? ? ? ? ? ?\f匹配一個換頁符
③JSONPath ? 主要針對返回值為json字符串的請求,可以對響應體的內容進行判斷 eg:$.user.email
④XPath 適用于返回值為xpath格式的請求
⑤腳本 對于復雜的斷言 使用腳本來完成
⑥響應時間 ? 在規定時間內完成則斷言成功