我有一个wireshark捕获,其中包含一个RTP多播流(加上一些其他附带数据)。
使用如下所示的T鲨命令,我可以生成与数据包捕获时间相比较的RTP时间戳的CSV:
tshark.exe -r "capture.pcap" -Eseparator=, -Tfields -e rtp.timestamp -e frame.time_epoch -d udp.port==5000,rtp
这将UDP数据包解码为RTP,并按预期成功地打印出这两个字段。
现在,我的问题是: RTP流的有效负载是一个MPEG2传输流,我还想在数据包和RTP时间戳旁边打印聚合酶链反应值(如果有)。在wireshark中,我可以看到PCR被正确解码,但是使用如下命令:
tshark.exe -r "HBO HD CZ.pcap" -Eseparator=,-Tfields -e rtp.timestamp -e frame.time_epoch -e mp2t.af.pcr -d udp.port==5000,mp2t
如果存在聚合酶链反应,...only会打印出一个"1“,而不是实际值。我还检查了.pcr_flag,以确认这两者没有交换,但我仍然看到了相同的结果。
文档似乎称mp2t.af.pcr
为“标签”,这是否意味着Tshark无法将其用作字段?有办法用这些值生成CSV吗?
发布于 2014-05-28 16:32:45
(文档的哪一部分称它为“标签”?这是对命名字段的有点奇怪的描述。
问题是,Wireshark在"base(XXX)*300 + ext(YYY)“之后显示的值是计算并显示的,但是字段本身并没有给出一个整型,而是给出了一个没有值的类型。可以说,它应该是一个FT_UINT64字段,并且应该被赋予一个值,这样您就可以对其进行筛选,并在TShark中打印该值。
请在Wireshark Bugzilla上提交一个增强请求。
https://stackoverflow.com/questions/23909173
复制相似问题