讓你的插件解剖,你通常會做,在this頁記錄。如鏈接所述,當您使用proto_register_protocol()
在proto_register_ABC()
下注冊您的協議時,作爲第三個參數提供的縮寫字符串被註冊爲過濾器名稱。
有關創建插件的信息可以在「DOC/README.plugins」文件中找到。
如果你想註冊數據包中的數據結構的過濾器(你可以再次看到上述鏈接的說明),尋找函數proto_register_ABC()(這裏ABC是你的協議名稱),將你的數據成員添加到靜態數組「hf_register_info hf []」,如下所示。
void
proto_register_ABC(void)
{
static hf_register_info hf[] = {
{ &hf_foo,
{ "FOO member", "foo", FT_BYTES,
BASE_NONE, NULL, 0x0, NULL, HFILL }}
};
hf_foo將不得不申報。 在您第二個字符串:
{ "FOO member", "ABC", FT_BYTES,
BASE_NONE, NULL, 0x0, NULL, HFILL }}
即第二個字符串「foo」是你的過濾器名稱。
現在,如果你的解剖功能dissect_ABC()
正常工作,那麼你就可以使用過濾器「ABC」自動將協議報文。您還可以查看其他解剖方法如「TCP」是如何完成的。查看「epan/dissectors/packet-tcp.c」。