第二周进展

一、本周计划完成的任务

云班课资源和lua编写插件的学习

二、本周实际完成情况

练习微信读书中的示例,

foo协议
代码:

-- Define the "foo" protocol
foo_proto = Proto("foo", "Foo Protocol")

-- Define protocol fields
trans_id_field = ProtoField.uint16("foo.ID", "ID")
msg_type_field = ProtoField.uint16("foo.Type", "Type")
msg_data_field = ProtoField.uint32("foo.Data", "Data")

-- Add fields to the protocol
foo_proto.fields = {trans_id_field, msg_type_field, msg_data_field}

-- Define the dissector function
function foo_proto.dissector(tvb, pinfo, tree)
    pinfo.cols.protocol = "foo"
    local subtree = tree:add(foo_proto, tvb(0))

    -- Add fields to the tree
    subtree:add(trans_id_field, tvb(0, 2))
    subtree:add(msg_type_field, tvb(2, 2))
    subtree:add(msg_data_field, tvb(4, 4))
end

-- Register the dissector for TCP port 10001
tcp_table = DissectorTable.get("tcp.port")
tcp_table:add(10001, foo_proto)

抓包结果

尝试自主编写一个协议
代码截图

但是在实际运行中,并不能按照我们要求的显示相应内容,相反,相关数据包本来都能抓到,现在都被过滤掉了
基本可以确定是代码不合理,但是因为我们队伍对代码的学习还有待深入,所以暂未完全解决此问题

三、本周遇到的问题与解决过程

1.在运行博客中的示例插件中出现了以下报错

查找资料得知这是由于协议名称与已有协议名称相同导致的,修改协议名称或者禁用协议即可解决
2.代码编写中遇到的问题
通过查阅资料和询问GPT得到修改建议

posted @ 2023-11-26 20:16  20211315邹雪梅  阅读(2)  评论(0编辑  收藏  举报