【问题标题】:tshark error at epoch time filtering纪元时间过滤时的 tshark 错误
【发布时间】:2017-12-10 17:20:06
【问题描述】:

我有一个 pcap 文件,我想使用 tshark 根据它们的纪元时间戳过滤掉一些数据包。

我有一个时间戳 t1。我需要数据包,其纪元时间戳“晚于”t1。 时间戳 t1 是从另一个 pcap 文件中提取的。到目前为止一切顺利。

在以下几行中,我将时间戳 t1 (1499351908.01) 转换为日期时间格式 p (2017-07-06 10:38:28)。我这样做是因为 tshark 需要这样的符号进行过滤。否则会出错。

t1_c = DT.datetime.fromtimestamp(t1)
p = t1_c.strftime('%Y-%m-%d %H:%M:%S')

在以下行中,我指定了输入和输出文件以及 tshark 过滤器:

os.system('tshark -r test_in.pcap -w test_out.pcap -Y "frame.time >= p"')

所以如果我运行我的代码,就会出现这个 tshark 错误:

tshark: "p" is not a valid absolute time. Example: "Nov 12, 1999 08:55:44.123" or "2011-07-04 12:34:56"

怎么了?过滤符号是否错误?

提前致谢!

【问题讨论】:

    标签: python-2.7 time filter epoch tshark


    【解决方案1】:

    仅在字符串中重写 p 不会替代它。这是您的线路的外观:

    os.system('tshark -r test_in.pcap -w test_out.pcap -Y "frame.time >= {}"'.format(p))
    

    【讨论】:

      猜你喜欢
      • 2018-06-05
      • 2011-03-23
      • 2017-11-22
      • 2011-04-27
      • 1970-01-01
      • 2013-07-21
      • 2013-05-19
      • 2013-04-24
      • 1970-01-01
      相关资源
      最近更新 更多