2017-10-05 18 views
1

저는 'C'Wireshark 해독기를 코딩하는 데있어서 새로운 편입니다. 가변 길이가있는 필드를 디코딩하는 방법에 관한 꽤 기본적인 질문이 있습니다. 1 바이트가되고 다른 패킷에서는 8 바이트가 될 수 있습니다.Wireshark Dissector : 가변 길이 필드를 디코딩하는 방법

처리 할 패턴이 있습니까? 가장 좋은 방법은? 예는 굉장 할 것입니다!

감사합니다.

답변

2

트리에 항목을 추가 할 때 길이를 지정합니다. 그래서 한 경우

WS_DLL_PUBLIC proto_item * proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, const gint start, gint length, const guint encoding);

: 예를 들어, proto_tree_add_item()를 사용할 수있는 가장 일반적인 경우에, 같은 proto.h 선언

proto_tree_add_item(tree, hfindex, tvb, start, 1, encoding); 

... 다른 경우 :

proto_tree_add_item(tree, hfindex, tvb, start, 8, encoding); 

Wireshark 코드베이스에는 많은 해독기가 포함되어 있으므로 많은 도움이 될 수 있으므로 예제를 찾아 보시기 바랍니다. 전자 코드뿐만 아니라 다양한 README를 제공합니다.