2017-04-06 42 views
1

我正在嘗試編寫一個在pcap文件上應用tshark過濾器的shell腳本。過濾器是一個帶有'/'字符的變量。在shell腳本中的tshark過濾器中使用變量

我有類似

tshark -r $file -Y "frame contains $PATTERN"

它沒有 '/' 的過濾器的工作原理。但是一旦$PATTERN包含'/',就會出現錯誤tshark: '/' is unexpected

如何編寫腳本,使變量PATTERN可以包含特殊字符?

+0

你能提供樣品過濾器,其中包括一個斜槓?你確定導致問題的過濾器是有效的嗎?我發現有一些有效的過濾器選項包含一個斜槓(例如這裏的第二個示例:https://wiki.wireshark.org/DisplayFilters),所以過濾器可能無效,錯誤還有改進空間嗎? –

+0

該過濾器是一個URL,例如www.foo.com/bar – Rayne

回答

1

嘗試引用了PATTERN,例如:

tshark -r $file -Y 'frame contains "$PATTERN"' 

在Windows中,你可以使用:

tshark.exe -r $file -Y "frame contains \"$PATTERN\"" 
+0

我最初嘗試過,並且該命令沒有返回任何內容。那是當我嘗試''框架包含$ PATTERN「'這給了我匹配'PATTERN'沒有'/'。 – Rayne

+0

似乎你必須從腳本中逃脫雙引號: PATTERN = text/html tshark -r $ file -Y「frame contains \」$ PATTERN \「」 –