第二周进展

本周计划

完成自己的部分

实际完成情况

还在调试代码,目前代码运行后没有预期效果。

  • 未完成计划的原因:对lua语言的学习不足,对wireshark抓包不够熟悉。

  • 改进:在接下来的一周中,加强对lua的学习以及熟悉wireshark的使用,对待吗进行改善,调试和运行。

代码:

do
    -- 创建一个新的协议
    local proto = Proto("UserCert", "User Certificate Protocol")

    -- 定义协议字段
    local fields = proto.fields
    fields.certificate = ProtoField.bytes("UserCert.certificate", "Certificate")

    -- 解析函数
    function proto.dissector(buffer, pinfo, tree)
        -- 将协议字段添加到树中
        local subtree = tree:add(proto, buffer(), "User Certificate")
        local offset = 0

        -- 解析数字证书的长度
        local cert_length = buffer(0, 2):uint()
        subtree:add(fields.certificate, buffer(offset, cert_length))
        offset = offset + cert_length

        -- 指定协议字段的长度
        pinfo.cols.protocol = "UserCert"
        pinfo.cols.info = "User Certificate"

        -- 指定协议字段的描述
        local cert_info = string.format("Certificate length: %d bytes", cert_length)
        pinfo.cols.info:append(" (" .. cert_info .. ")")
    end

    -- 注册协议
    local tcp_port = DissectorTable.get("tcp.port")
    tcp_port:add(443, proto)
end

遇到的问题

问题:在加载插件后,wireshark重新加载报错,表示没有pcap库。
解决:尝试了在Windows中链接lua-pcap库,但是链接没有成功,后面发现是代码问题,在修改代码后,插件加载就没问题了。

posted on 2023-11-26 22:14  20211417黄琪凯  阅读(8)  评论(0编辑  收藏  举报