我正在嘗試編寫一個在pcap文件上應用tshark過濾器的shell腳本。過濾器是一個帶有'/'字符的變量。在shell腳本中的tshark過濾器中使用變量
我有類似
tshark -r $file -Y "frame contains $PATTERN"
它沒有 '/' 的過濾器的工作原理。但是一旦$PATTERN
包含'/',就會出現錯誤tshark: '/' is unexpected
。
如何編寫腳本,使變量PATTERN
可以包含特殊字符?
我正在嘗試編寫一個在pcap文件上應用tshark過濾器的shell腳本。過濾器是一個帶有'/'字符的變量。在shell腳本中的tshark過濾器中使用變量
我有類似
tshark -r $file -Y "frame contains $PATTERN"
它沒有 '/' 的過濾器的工作原理。但是一旦$PATTERN
包含'/',就會出現錯誤tshark: '/' is unexpected
。
如何編寫腳本,使變量PATTERN
可以包含特殊字符?
嘗試引用了PATTERN
,例如:
tshark -r $file -Y 'frame contains "$PATTERN"'
在Windows中,你可以使用:
tshark.exe -r $file -Y "frame contains \"$PATTERN\""
我最初嘗試過,並且該命令沒有返回任何內容。那是當我嘗試''框架包含$ PATTERN「'這給了我匹配'PATTERN'沒有'/'。 – Rayne
似乎你必須從腳本中逃脫雙引號: PATTERN = text/html tshark -r $ file -Y「frame contains \」$ PATTERN \「」 –
你能提供樣品過濾器,其中包括一個斜槓?你確定導致問題的過濾器是有效的嗎?我發現有一些有效的過濾器選項包含一個斜槓(例如這裏的第二個示例:https://wiki.wireshark.org/DisplayFilters),所以過濾器可能無效,錯誤還有改進空間嗎? –
該過濾器是一個URL,例如www.foo.com/bar – Rayne