ubuntu系统wireshark源码编译与安装
官方文档:Wireshark · Documentation
一 介绍
wireshark[1]是一款抓包工具。wireshark的GUI(用户界面)框架从开发版本 1.11.0 (2013.11.15)开始项目方向的一个重大变化是由GTK+切换到了Qt[2]。
Wireshark 1.11.0 Development Release[3]
November 15, 2013
The following features are new (or have been significantly updated) since version 1.10:
- Wireshark now uses the Qt application framework.
二 编译
2.1 编译环境
Ubuntu 20.04.4 LTS
2.2 源码
源码编译参考:2.7. Building from source under UNIX or Linux (wireshark.org)
从官网下载源码后解压。这里下载的是当前最新版本wireshark-4.0.2。
# tar xvf wireshark-4.0.2.tar.xz
2.3 安装依赖
qt
$ sudo apt-get install build-essential
$ sudo apt-get install qtcreator
$ sudo apt-get install qt5-default
//启动qt
$ qtcreator
cmake
apt-get install -y make cmake pkg-config
其他依赖可以根据提示再进行安装。
2.4 cmake编译
cmake编译一般会新建一个编译用的目录
wireshark-4.0.2# mkdir build
cmake编译生成makefile文件
wireshark-4.0.2# cd build/
wireshark-4.0.2/build# cmake ..
-- Configuring done <<< cmake成功
-- Generating done
cmake编译后虽然还是很多提示Could NOT find,但只要能运行完成没有error提示就不影响后面的编译。
2.4.1 遇到的依赖问题
问题1:缺少pkg-config
wireshark-4.0.2/build# cmake ..
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
解决:
apt-get install -y pkg-config
问题2:缺少GLIB2
-- Checking for one of the modules 'glib-2.0'
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find GLIB2 (missing: GLIB2_LIBRARY GLIB2_MAIN_INCLUDE_DIR
解决:
//1 搜索库
# apt-cache search libglib
gvfs-bin - userspace virtual filesystem - deprecated command-line tools
libglib-object-introspection-perl - Perl bindings for gobject-introspection libraries
libglib-perl - interface to the GLib and GObject libraries
libglib2.0-0 - GLib library of C routines
libglib2.0-bin - Programs for the GLib library
libglib2.0-data - Common files for GLib library
libglib2.0-dev - Development files for the GLib library
libglib2.0-dev-bin - Development utilities for the GLib library
libglib2.0-doc - Documentation files for the GLib library
//2 安装库
# apt-get install -y libglib2.0-dev
问题3:缺少GCRYPT
Could NOT find GCRYPT (missing: GCRYPT_LIBRARY GCRYPT_INCLUDE_DIR)
(Required is at least version "1.8.0")
解决:
$ sudo apt-file update
$ apt-file search gcrypt.h
apt-get install libgcrypt-dev
问题4:缺少CARES
Could NOT find CARES (missing: CARES_LIBRARY CARES_INCLUDE_DIR) (Required
is at least version "1.13.0")
解决:
apt-get install libc-ares-dev
问题5:缺少LEX
Could NOT find LEX (missing: LEX_EXECUTABLE)
解决:
apt-get install flex bison
问题6:缺少Gettext
-- Could NOT find Gettext (missing: GETTEXT_MSGMERGE_EXECUTABLE GETTEXT_MSGFMT_EXECUTABLE)
解决:
apt-get install gettext
问题7:缺少LIBSSH
-- Could NOT find LIBSSH (missing: LIBSSH_LIBRARIES LIBSSH_INCLUDE_DIRS LIBSSH_VERSION) (Required is at least version "0.6")
解决:
apt-get install libssh-dev
apt-get install libssh2-1-dev
问题8:缺少libpcap
-- Checking for one of the modules 'libpcap'
-- Could NOT find PCAP (missing: PCAP_LIBRARY PCAP_INCLUDE_DIR)
解决:
apt-get install libpcap-dev
问题9:缺少Qt5LinguistTools
Could not find a package configuration file provided by "Qt5LinguistTools"
with any of the following names:
Qt5LinguistToolsConfig.cmake
qt5linguisttools-config.cmake
解决:
apt-get install qttools5-dev
问题10:缺少Systemd
-- Could NOT find Systemd (missing: SYSTEMD_LIBRARY SYSTEMD_INCLUDE_DIR) (found version "")
可选依赖库可以忽略。
2.5 make编译
cmake生成makefile后
wireshark-4.0.2/build# make
Scanning dependencies of target wmem
[ 0%] Building C object wsutil/wmem/CMakeFiles/wmem.dir/wmem_array.c.o
[ 0%] Built target wmem
Scanning dependencies of target l16mono
[100%] Linking C shared module ../../../run/plugins/4.0/codecs/l16mono.so
[100%] Built target l16mono
2.6 运行wireshark
make编译生成可执行文件在build/run目录下,可以直接运行。
wireshark-4.0.2/build# run/wireshark
** (wireshark:208857) 09:47:59.035931 [Capture MESSAGE] -- Capture Start ...
** (wireshark:208857) 09:47:59.885422 [Capture MESSAGE] -- Capture started

可以运行图形界面说明已经成功了!如果希望安装到系统也可以make install,这样就可以加入环境变量只要用wireshark命令就可以启动了。
三 参考
ubuntu系统wireshark源码编译与安装的更多相关文章
- Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装
Ubuntu 环境 TensorFlow 源码编译安装 基于(Ubuntu 14.04LTS/Ubuntu 16.04LTS/) 一.编译环境 1) 安装 pip sudo apt-get insta ...
- [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程
标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...
- ubuntu 14.04 源码编译mysql-5.7.17
环境为 Ubuntu 12.04 64 位的桌面版 编译的mysql 版本为 5.7.18 首先需要安装一下依赖包 sudo apt-get install libncurses5-dev cmake ...
- ubuntu 14.04 源码编译postgresql
环境 ubuntu 14.04 桌面版 postgresql 源码下载链接,本教程是使用postgresql 9.3.4 进行编译的 http://www.postgresql.org/ftp/sou ...
- ubuntu下mysql源码编译安装
建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...
- Ubuntu 16.04 源码编译安装PHP7+swoole
备注: Ubuntu 16.04 Server 版安装过程图文详解 Ubuntu16镜像地址: 链接:https://pan.baidu.com/s/1XTVS6BdwPPmSsF-cYF6B7Q 密 ...
- Ubuntu 16.04 源码编译安装PHP7
一.下载PHP7的最新版源码 php7.0.9 下载地址 http://php.net/get/php-7.0.9.tar.gz/from/a/mirror 二.解压 tar -zxf /tmp/p ...
- Ubuntu 16.04源码编译安装nginx 1.10.0
一.下载相关的依赖库 pcre 下载地址 http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.t ...
- Mac系统下源码编译安装MySQL 5.7.17
1.下载并解压到:/Users/xiechunping/Softwares/mysql-5.7.17下载地址:http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MyS ...
- [转] ROS2源码编译和安装
机器人开源操作系统软件ROS在10年后, 终于推出全新架构的ROS2,代号“ardent”.中文意思为“热心的美洲鳖”,看来ROS2要从ROS1的“海龟”变成“土鳖”系列了. 与此同时,ROS2的编译 ...
随机推荐
- 驱动通信:通过PIPE管道与内核层通信
在本人前一篇博文<驱动开发:通过ReadFile与内核层通信>详细介绍了如何使用应用层ReadFile系列函数实现内核通信,本篇将继续延申这个知识点,介绍利用PIPE命名管道实现应用层与内 ...
- 微信小程序分享好友,朋友圈
<template> <view> <button open-type="share">发送给好友</button> </vi ...
- 洛谷P3243 [HNOI2015]菜肴制作 (拓扑排序/贪心)
这道题的贪心思路可真是很难证明啊...... 对于<i,j>的限制(i必须在j之前),容易想到topsort,每次在入度为0的点中选取最小的.但这种正向找是错误的,题目要求的是小的节点尽量 ...
- Podman容器基础(二)
Podman容器技术基础(二) 目录 Podman容器技术基础(二) 容器的使用 用户操作 用户配置文件 容器卷 容器的使用 运行一个容器 [root@cent1 ~]# podman pull ht ...
- Kafka之概述
Kafka之概述 一.消息队列内部实现原理 (1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消 ...
- IDEA生成带参数和返回值注释
步骤说明 打开IDEA进入点击左上角 - 文件 - 设置 - 编辑器 - 活动模板 新建活动模板 填写模板文本 编辑变量 添加变量表达式 设置模板使用范围-设置全部范围应用-或者设置只在Java代码中 ...
- 刷完一千道java笔试题的常见题目分析
java基础刷题遇到的最常见问题 可以先看一下这位博主整理的java面试题(很详细,我看了好几遍了):https://blog.csdn.net/ThinkWon/article/details/10 ...
- 1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
1.使用简单工厂模式设计能够实现包含加法(+).减法(-).乘法(*).除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果.要求使用相关的工具绘制UML类图并严格按照类图的设计编写程 ...
- 如何在IDEA中创建Module、以及怎样在IDEA中删除Module?
文章目录 1.为何要使用Module? 2.Module的创建 3.如何从硬盘上删除module 1.为何要使用Module? 目前主流的大型项目都是分布式部署的,结构类型这种多Module结构.不同 ...
- 使用 etcdadm 快速、弹性部署 etcd 集群
Etcd 是一个可靠的分布式键值存储, 常用于分布式系统关键数据的存储:而 etcdadm 是一个用于操作 etcd 集群的命令行工具,它可以轻松创建集群.向现有集群添加成员.从现有集群中删除成员等操 ...