設(shè)置協(xié)議分析儀的捕獲過(guò)濾器是優(yōu)化數(shù)據(jù)捕獲、減少無(wú)關(guān)流量干擾的關(guān)鍵步驟,尤其在處理高帶寬或復(fù)雜網(wǎng)絡(luò)環(huán)境時(shí)。以下是分步驟的詳細(xì)指南,涵蓋不同協(xié)議分析儀(如Wireshark、Vector CANoe、Kvaser等)的通用方法及具體示例:
捕獲過(guò)濾器(Capture Filter)用于在數(shù)據(jù)采集階段直接過(guò)濾掉不符合條件的流量,僅捕獲目標(biāo)數(shù)據(jù)。與顯示過(guò)濾器(Display Filter,用于后期分析時(shí)篩選數(shù)據(jù))不同,捕獲過(guò)濾器能顯著減少存儲(chǔ)空間占用和處理負(fù)載,尤其適用于:
不同協(xié)議分析儀的捕獲過(guò)濾器語(yǔ)法可能略有差異,但通常基于BPF(Berkeley Packet Filter)語(yǔ)法,核心結(jié)構(gòu)如下:
[協(xié)議] [方向] [源/目標(biāo)] [條件] [值] [邏輯運(yùn)算符] ...
常見(jiàn)字段:
tcp、udp、icmp、arp、can、lin、flexray等。src(源)、dst(目標(biāo))、src or dst(任意方向)。host(主機(jī)地址)、port(端口號(hào))、id(CAN ID)、dlctype(數(shù)據(jù)鏈路層類(lèi)型)等。and(與)、or(或)、not(非)。明確需要捕獲的流量類(lèi)型,例如:
0x123的報(bào)文。80(HTTP)的TCP流量。根據(jù)目標(biāo)編寫(xiě)B(tài)PF表達(dá)式,以下是常見(jiàn)場(chǎng)景示例:
0x123的報(bào)文。can id 0x123或(更通用的BPF語(yǔ)法):
can and ((can.id & 0x7FF) == 0x123)說(shuō)明:
0x7FF是CAN 2.0B標(biāo)準(zhǔn)ID的掩碼(11位)。443(HTTPS)的TCP流量。tcp port 443擴(kuò)展:若需同時(shí)捕獲HTTP(端口80)和HTTPS:
tcp port 80 or tcp port 443
not arp and not ether broadcast說(shuō)明:
ether broadcast表示以太網(wǎng)廣播地址(FF:FF:FF:FF:FF:FF)。192.168.1.100且目標(biāo)端口為22(SSH)的TCP流量。tcp and src host 192.168.1.100 and dst port 22
ping測(cè)試ICMP過(guò)濾),觀察是否僅捕獲目標(biāo)數(shù)據(jù)。.cfg或.xml文件中,與項(xiàng)目關(guān)聯(lián)。0x100-0x1FF:can and ((can.id & 0x7FF) >= 0x100) and ((can.id & 0x7FF) <= 0x1FF)
can.id和can.flags字段:can and ((can.id & 0x1FFFFFFF) == 0x12345678) and (can.flags.ext == 1)
can.id == 0x123)可用于后期分析時(shí)進(jìn)一步鉆取數(shù)據(jù)。flexray過(guò)濾)。and條件)。通過(guò)合理設(shè)置捕獲過(guò)濾器,可顯著提升協(xié)議分析儀的效率和審計(jì)精準(zhǔn)度。關(guān)鍵步驟包括:明確過(guò)濾目標(biāo)→選擇協(xié)議分析儀→編寫(xiě)B(tài)PF表達(dá)式→驗(yàn)證并測(cè)試→保存模板。對(duì)于復(fù)雜場(chǎng)景,可結(jié)合掩碼、邏輯運(yùn)算符和協(xié)議特定字段實(shí)現(xiàn)精細(xì)化過(guò)濾。同時(shí),需注意不同工具的語(yǔ)法差異,并通過(guò)測(cè)試驗(yàn)證過(guò)濾器效果。