我有一個 Wireshark 捕獲,我正在嘗試創建一個顯示過濾器 [Wireshark 文件]尋找包含術語@@ V?
(at-at-space-V-questionmark) 的 XML 文件。文件說使用 Perl Regex:
匹配運算子使得可以使用正規表示式(使用 Perl 正規表示式語法)在字串欄位和位元組序列中搜尋文字。
和
注意:Wireshark 需要使用 libpcre 建置才能使用匹配運算子。
我無法確定這個條件是否適用,但一般來說我可以使用matches
運算符,所以我假設該部分已滿足。
恕我直言,過濾器xml matches "@@ V\?"
應該可以工作,但它發現不符合標準的 XML,例如像這樣的 XML
<?xml version="1.0"?>
<dialog><sysdef name="TERMREC" value="@@ U1160613113912"/></dialog>
我的過濾器或 Wireshark 有什麼問題?
使用不含特殊字元(例如 )的過濾器xml matches "@@ V0"
可以按預期工作。其他帶有特殊字元(例如xml matches "@@ V1\*"
)的過濾器也不起作用。
答案1
事實證明我必須使用雙反斜杠,例如xml matches "@@ V\\?"
and xml matches "@@ V1\\*"
。
我知道這必須在 C++ 或 C# 等程式碼中完成,但沒想到會在使用者輸入欄位中完成。特別是,我想知道為什麼帶有單一反斜線的無效表達式不會導致錯誤,而是提供錯誤的結果。
我已經打開了Wireshark 錯誤 12522。