【问题标题】:Using variables in tshark filter in shell script在 shell 脚本中使用 tshark 过滤器中的变量
【发布时间】:2017-04-06 11:56:30
【问题描述】:

我正在尝试编写一个在 pcap 文件上应用 tshark 过滤器的 shell 脚本。过滤器是一个带有“/”等字符的变量。

我有类似的东西

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

适用于没有“/”的过滤器。但是一旦$PATTERN 包含'/',就会出现错误提示tshark: '/' is unexpected

如何编写脚本以使变量PATTERN 可以包含特殊字符?

【问题讨论】:

  • 您能否提供一个包含斜线的示例过滤器?您确定导致问题的过滤器是有效的吗?我看到有包含斜杠的有效过滤器选项(例如这里的第二个示例:wiki.wireshark.org/DisplayFilters)所以过滤器可能无效并且错误还有改进的余地?
  • 过滤器是一个 URL,例如www.foo.com/bar

标签: shell filter tshark


【解决方案1】:

尝试引用PATTERN,例如:

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

在 Windows 上,您将使用:

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

【讨论】:

  • 我最初尝试过,但该命令没有返回任何内容。那是我尝试"frame contains $PATTERN" 的时候,它给了我匹配PATTERN 而没有/
  • 看来你必须从脚本中转义双引号:PATTERN=text/html tshark -r $file -Y "frame contains \"$PATTERN\""
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多