官网:https://www.wireshark.org/

官方文档: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命令就可以启动了。

三 参考


  1. Wireshark - Arch Linux 中文维基 (archlinuxcn.org)

  2. Wireshark 正在使用 Qt 进行重写 - OSCHINA - 中文开源技术交流社区

  3. Wireshark · Wireshark 1.11.0 Development Release

ubuntu系统wireshark源码编译与安装的更多相关文章

  1. Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装

    Ubuntu 环境 TensorFlow 源码编译安装 基于(Ubuntu 14.04LTS/Ubuntu 16.04LTS/) 一.编译环境 1) 安装 pip sudo apt-get insta ...

  2. [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程

    标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...

  3. ubuntu 14.04 源码编译mysql-5.7.17

    环境为 Ubuntu 12.04 64 位的桌面版 编译的mysql 版本为 5.7.18 首先需要安装一下依赖包 sudo apt-get install libncurses5-dev cmake ...

  4. ubuntu 14.04 源码编译postgresql

    环境 ubuntu 14.04 桌面版 postgresql 源码下载链接,本教程是使用postgresql 9.3.4 进行编译的 http://www.postgresql.org/ftp/sou ...

  5. ubuntu下mysql源码编译安装

    建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...

  6. Ubuntu 16.04 源码编译安装PHP7+swoole

    备注: Ubuntu 16.04 Server 版安装过程图文详解 Ubuntu16镜像地址: 链接:https://pan.baidu.com/s/1XTVS6BdwPPmSsF-cYF6B7Q 密 ...

  7. 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 ...

  8. 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 ...

  9. Mac系统下源码编译安装MySQL 5.7.17

    1.下载并解压到:/Users/xiechunping/Softwares/mysql-5.7.17下载地址:http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MyS ...

  10. [转] ROS2源码编译和安装

    机器人开源操作系统软件ROS在10年后, 终于推出全新架构的ROS2,代号“ardent”.中文意思为“热心的美洲鳖”,看来ROS2要从ROS1的“海龟”变成“土鳖”系列了. 与此同时,ROS2的编译 ...

随机推荐

  1. TDengine的数据建模?库、表、超级表是什么?怎么用?

    ​欢迎来到物联网的数据世界 在典型的物联网场景中,一般有多种不同类型的采集设备,采集多种不同的物理量,同一种采集设备类型,往往有多个设备分布在不同的地点,系统需对各种采集的数据汇总,进行计算和分析对于 ...

  2. linux下rsync的同步

    rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync****主机同步 文件下载地址: 链接:https:/ ...

  3. Python学习三天计划-1

    一.第一个Python程序 配置好环境变量后 打开CMD(命令提示符)程序,输入Python并回车 然后,在里面输入代码回车即可立即执行 Python解释器的作用是 将Python代码翻译成计算机认识 ...

  4. 前后端代码分离开发(Vue)

  5. 利用inotify和rsync服务实现数据实时同步

    文件定时同步的实现: 利用rsync结合cron计划任务实现: rsync -av --delete /data/ 10.0.0.12:/back -a:保留文件属性 -v:显示过程 -delete: ...

  6. Docker在windows系统以及Linux系统的安装

    Docker简介和安装 Docker是什么 Docker 是一个应用打包.分发.部署的工具 你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要, 而普通虚拟机则是一个完 ...

  7. 一个实用的 vite + vue3 组件库脚手架工具,提升开发效率

    无论是 vue2 全家桶还是 vue3 + vite + TypeScript,组件库的使用几乎大家都会,但自己开发一个独立组件库就不是每个人都掌握的,因为搭建组件库的基础开发环境,就会让很多同学望而 ...

  8. 现代GPGPU 架构汇总

    本篇是GPGPU 架构汇总的总章,参考的是AMD公布OpenCL 手册,该手册总结了AMD. Nvdia 早年的GPGPU体系架构,以及Opencl 各个API 与硬件结构的映射关系.本篇除了整理这两 ...

  9. Linux环境下执行脚本重启Weblogic控制台中部署的应用程序

    之前有写过一篇博文介绍切换登录方式的脚本,脚本中存在一个缺点:仍需手动去Weblogic控制台重启应用程序:本文即介绍如何在脚本中更新Weblogic控制台中部署的应用程序. 一.配置Weblogic ...

  10. Java注解和反射笔记

    Java注解和反射笔记 1 注解 1.1 定义 Annotation是从JDK1.5开始引入的技术 作用 不是程序本身,可以对程序作出解释 可以被其他程序(编译器等)读取 格式 @注释名,可以添加一些 ...