热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为私有协议写一个wireshark插件

为私有协议写一个wireshark插件为公司私有协议写了一个Wireshark插件。这样可以直观分析抓到的包,对开发和调试都可以带来一些方便。首先编译wireshar

为私有协议写一个wireshark插件


为公司私有协议写了一个Wireshark插件。这样可以直观分析抓到的包,对开发和调试都可以带来一些方便。

首先编译wireshark就挺折腾的,参考了网文还有Wireshark官方的 developer guide也还有一大堆错误,并且折腾到最后生成的wireshark exe文件还执行不了。。。幸好编译的插件可以用:)

有很多会出错,疏漏,或者需要注意的地方,网文没提到。

比如,网文会叫你用SVN客户端去check out一份Wireshark的代码下来。其实check out代码到windows上,有个问题,代码这样传到windows上,可能变成dos格式,出现某些编译器认不了的字符,当然这个时候你可以对每个文件都运行dos2unix这样的命令来转换。不过后来我觉得,你直接到wireshark官方注意下载一个稳定版本的代码压缩包更好,下载下来后解压缩,不会有这个问题。

还有,比如要把cygwin的bin目录加到path环境变量里头,不然会出现 不知道bash是什么 这样的错误提示。

还有config.nmake里头有个msvcr的dll的路径默认填的是 vs的英文版的路径,如果你装的中文版那就要相应改过来。

有个库geoIP,貌似用VS 2003有问题,链接的时候提示要找VC90的msvcr的库,我直接把geoip这个可选的库从makefile里头去掉了,源代码里头 ip-packet有引用的地方也把宏undef一把。最后把这个搞定基本可以编译成功,生成的wireshark可执行文件也运行没问题。

当然,要整插件出来,还要写好插件的makefile,熟悉协议的消息格式,并看developer guide看懂插件怎么写。

插件写成之后,初步在项目的测试中使用感受到极大方便,快速地看到代码的效果和正确性。


-------------------------------------------------------------------------------------------------

更多博文请订阅RSS,更多微博请关注@千里孤行Nerd




推荐阅读
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 求助高手:下载的压缩包中包含CMake文件,如何在Windows环境下使用已安装的CMake GUI进行运行?
    从GitHub仓库 `https://github.com/vonmax007/RobotSimulation` 下载的代码包含多种算法,其中算法1的文件目录中包含了CMake文件。为了在Windows环境下使用已安装的CMake GUI运行这些文件,需要先确保CMake已正确安装,并按照以下步骤操作:打开CMake GUI,设置源代码路径和构建路径,点击“Configure”配置项目,然后点击“Generate”生成构建文件。最后,在生成的构建目录中使用命令行或IDE进行编译和运行。 ... [详细]
  • 本文分享了将物理服务器上的操作系统、应用软件及数据迁移到阿里云ECS服务器的实际经验。P2V迁移通过利用多种工具软件,将物理服务器的系统状态和数据完整地复制到虚拟磁盘中,确保在阿里云平台上顺利运行。该过程不仅涉及技术细节,还涵盖了迁移前的准备、迁移中的监控以及迁移后的验证等多个环节,为用户提供了一套全面的迁移方案。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 深入解析 C 语言与 C++ 之间的差异及关联
    深入解析 C 语言与 C++ 之间的差异及关联 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
  • NOI题库(noi.openjudge.cn):1.7 编程基础之字符串 T31 至 T35 详解与解析
    T31至T35题目详细解析了字符串处理的基础编程技巧。其中,T31涉及P型编码,要求将一个仅包含数字字符的字符串转换为特定格式的编码串。例如,输入字符串“111223”应输出相应的P型编码结果。其他题目则涵盖了字符串的多种操作和变换方法,包括但不限于子串提取、字符替换和模式匹配等,旨在提升编程者对字符串处理的综合能力。 ... [详细]
  • 在Linux/WSL环境中,本文对Shell任务的并行处理进行了详细的测试与分析。通过多种并行处理技术,如GNU Parallel和xargs,探讨了如何有效提升任务执行效率和系统资源利用率。实验结果表明,合理配置并行参数能够显著缩短任务完成时间,提高系统整体性能。此外,文章还介绍了Shell脚本编写的基本原则和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 综合实训 201521440015
    Chinesepeople’publicsecurityuniversity网络对抗技术实验报告实验五综合渗透学生姓名常泽远年级15区队4指导教师高见信息技术与网络安全学院2018 ... [详细]
author-avatar
方彦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有