我的目标是拥有一个插件/解析器,可以解析基于 protobuf (UDP) 的协议。
我在网上找到了一个用于协议缓冲区消息的自动生成 Wireshark/Ethereal 解剖器插件:https : //code.google.com/archive/p/protobuf-wireshark/
当我按照自述文件我跳过“第 1步:安装Wireshark from source”,因为我已经安装了它(版本 1.12.3)。
第 2 步:准备协议缓冲区-
这一步我不明白,我如何安装libprotobuf以及在哪里?
第 3 步:更新wireshark 配置文件-
我不确定什么是“wireshark_src_dir”
我创建了一个带有wireshark.conf文件:
wireshark_src_dir :C:\ Program Files文件(x86)的\ Wireshark的
wireshark_install_dir:C:\ Program Files文件(x86)的\ Wireshark的
wireshark_version :1.12.3
第 4 步:运行 make_wireshark_plugin.py - 对于这一步,我下载并安装了 python-3.6.0-amd64.exe。
当我运行它时,我得到一个错误:回溯(最近一次调用最后一次):文件“C:\ProtoBuff\protobuff\make_wireshark_plugin.py”,第 91 行,在 f=open("configure.in","r") FileNotFoundError: [Errno 2] 没有这样的文件或目录:'configure.in'。
这个文件在我从 github 下载的包中确实不存在。我从哪里得到这个文件?我需要创建这样的吗?这个 make_wireshark_plugin.py 生成什么?
第 5 步:创建 proto 配置文件- 所有 proto 配置文件都需要在 /usr/share/wireshark/protobuf 或 $HOME/.wireshark/protobuf 中。
我在wireshark安装路径中没有共享文件夹和protobuf文件夹。我可以简单地将 proto …
我试图从我创建的列表中获取特定的x项.
List<Item> il = (List<Item>)(from i in AllItems
where i.Iid == item.Iid
select i).Take(Int32.Parse(item.amount));
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"无法将类型为'd__3a`1 [AssetManagement.Entities.Item]'的对象转换为'System.Collections.Generic.List`1 [AssetManagement.Entities.Item]'."
如何修复,为什么会发生这种情况?