Wireshark插件:在wireshark数据包解析器中获取总数据包大小

时间:2012-12-25 14:50:12

标签: wireshark wireshark-dissector

如何读取wireshark-dissector中收到的数据包大小? 这个数据是否可以从tvbuff_t获得?

1 个答案:

答案 0 :(得分:0)

如果通过"数据包大小"你的意思是在tvb中传递给解剖器的数据的大小,然后:

tvb_reported_length(tvb)是电线上看到的尺寸;

tvb_length(tvb)是实际捕获的大小(可能小于线路上的大小)。

在任何一种情况下,返回的大小都是传递给解剖器的数据(即,不包括任何较低级别的标题(以太网等))。


如果您希望完整数据包的大小最初在线上看到或保存的话)

pinfo->fd->pkt_len   // packet-len
pinfo->fd->caplen    // amount actually captured
解剖器源代码树中的

(参见epan / frame_data.h)。

解剖器通常不需要(即不应该)访问有关框架实际完整尺寸的信息。

如果这是需要的数据,如果您可以指出需要这些数据的原因,那么我可能会建议采用不同的方法。