第二周进展
一、本周计划完成的任务
云班课资源和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得到修改建议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!