協議分析儀支(zhī)持多種自定義規則設置,涵蓋過濾、捕獲、觸(chù)發、解碼、分析、存儲與導出(chū)等多個維(wéi)度,能(néng)夠滿足複雜網絡環境下的精(jīng)準監測需求。以(yǐ)下是具體規則類型及設置(zhì)方式:
一、過濾規則:精準篩選目(mù)標流量
- 基礎字(zì)段過濾
- IP/端口過濾:通過源/目的IP、端口號縮(suō)小範圍。例如:
- ip.src == 192.168.1.100(僅顯示源IP為該地址的數據包)
- tcp.port == 80(僅顯示HTTP流量)
- 協議類型過濾:直接篩選特定(dìng)協議,如http、icmp、dns等。
- 邏輯組合:使用and、or、not組合(hé)條件,例如:
- (ip.src == 192.168.1.1 and tcp.port == 80) or (ip.dst == 192.168.1.2 and udp.port == 53)
- !(ip.addr == 10.0.0.5)(排除所(suǒ)有涉及10.0.0.5的數據(jù)包(bāo))
- 高級字段過濾(lǜ)
- 協議特定字段(duàn):針對協議深層字段篩選,例如:
- http.request.method == "GET"(僅顯示HTTP GET請求)
- dns.qry.name contains "example.com"(篩選包含特定域名的DNS查詢)
- tcp.flags.syn == 1(僅顯(xiǎn)示TCP SYN握手包)
- 正則表達式匹配:支(zhī)持對文本字段進(jìn)行模式匹配,例如:
- http.request.uri matches "^/api/.*"(匹(pǐ)配(pèi)所有以/api/開頭的HTTP請求路徑)
- data contains "48656c6c6f"(十六進(jìn)製過濾,匹配數(shù)據中包含"Hello"的ASCII編碼)
- 時間與長度(dù)過濾
- 時間範圍:結合時間戳篩選特定時間段的數據,例如:
- frame.time >= "2025-07-17 10:00:00" and frame.time <= "2025-07-17 10:30:00"
- 數據(jù)包長(zhǎng)度:根據幀長度或協議負(fù)載(zǎi)大小篩選,例如:
- frame.len > 1000(顯示長度(dù)超(chāo)過1000字節的數據包)
- tcp.len == 0(篩選TCP零窗口通告包,分析網絡擁塞)
二、捕獲規則:優化數據采集效率(lǜ)
- 鏈路層過濾
- 以太網幀過濾:基於MAC地址或幀(zhēn)類(lèi)型捕(bǔ)獲,例如:
- ether src 00:11:22:33:44:55(捕獲源MAC地址為該值的幀(zhēn))
- ether dst ff:ff:ff:ff:ff:ff and arp(捕獲廣播地址的(de)ARP請(qǐng)求)
- USB過濾(lǜ):針對USB設備地址、傳(chuán)輸(shū)類型(xíng)或端點(diǎn)號過濾,例如:
- usb.device_address == 3 and usb.transfer_type == 0x01(捕獲設備(bèi)地址3的控(kòng)製傳輸)
- 協議層過濾(lǜ)
- IP協(xié)議過濾:捕獲特定IP包,例如:
- ip.src == 192.168.1.100 and icmp(捕獲源IP為192.168.1.100的ICMP包)
- HTTP協議(yì)過(guò)濾:捕獲特定HTTP請求,例如:
- http.request.method == "GET" and http.request.uri contains "/api/data"
- 專用協議過濾
- BLE協議(yì):捕獲特定設備地址或(huò)廣(guǎng)告包,例如:
- ble.advertising_address == 00:1a:7d:da:71:13(捕(bǔ)獲指定BLE設備的廣告包)
- Zigbee協議:過濾(lǜ)特定設備地址或功能簇,例如:
- Source Address: 0x1234, Cluster ID: 0x0006(捕(bǔ)獲設備0x1234的開關控製命令)
三、觸發規則:實時響應關鍵事件
- 邊沿/電平(píng)觸發(fā)
- 邊沿觸發:捕獲信(xìn)號上升沿或下降沿,例如(rú)I2C的SCL上升沿。
- 電平觸發:監(jiān)測信(xìn)號達到特定電壓閾值,例如USB的(de)VBUS>4.5V。
- 協議(yì)字段觸發
- 基於協議包頭或特定(dìng)字段觸發,例如:
- USB的PID字段為DATA0(捕獲USB數據包)
- PCIe的TLP包類(lèi)型為Memory Read Request
- 多級觸發
- 設置主觸發和次觸發,例如:
- 主觸發:I2C > Start Condition(捕獲I2C起始條(tiáo)件)
- 次觸發:I2C > Address = 0x50(捕獲設備地址(zhǐ)為0x50的I2C通信)
- 觸發模式:設置為AND(需同時滿足條(tiáo)件)。
- 序列觸發
- 捕獲按特定順序發生(shēng)的事(shì)件,例如:
- PCIe的Memory Read Request後跟隨Completion(觸發條件設置為Sequence > TLP1 = MRd, TLP2 = CplD)。
四、解碼與分析規則:深度解析協議行為
- 自定義協議解碼
- 對私有協議(如自定義傳感(gǎn)器通信)定義幀結構,包(bāo)括起始位、數據位、校驗位等。
- 錯誤標記與統計
- 啟用協議錯誤檢測(cè)(如CRC校驗失敗、幀(zhēn)長(zhǎng)度錯誤),並(bìng)在波形(xíng)上標(biāo)記錯誤位置。例如:
- USB 3.2數據包(bāo)若CRC5校驗失敗,分析儀會在包尾顯示紅色錯誤標誌(zhì)。
- 多協議關聯分析
- 同步顯示不同協議的時間關係,例如(rú)USB事務與I2C配置命(mìng)令的時序。
五、存儲與導(dǎo)出規則:靈活管理數據
- 分段存儲
- 將(jiāng)存儲空間劃分為多個段(duàn)(如每段1MB),按觸發事(shì)件循環覆(fù)蓋,避免單次事件占(zhàn)用全部存(cún)儲。
- 配置:在分(fèn)析儀菜單中選擇Storage > Segmented,設置段數(shù)(如1024段)和段(duàn)大小(如1MB)。
- 自動報告生成
- 生成包含協議統計信息(如包數量(liàng)、錯誤率(lǜ)、吞吐量)的PDF報告。例如:
- Teledyne LeCroy Advisor T3的Report Generator功能可自動生成USB協議性能報告,包含帶寬利用率、事務延遲等關鍵指標。
- 數據導出格式
- 支持導(dǎo)出為CSV、TXT、MAT(MATLAB)等格式,便於後續分(fèn)析。