centos7源码安装wireshark3及打包二进制安装包


由于centos7的wireshark版本太旧,所以自己编译新版本(不能太新,有些依赖不支持,目前我用的3.2.7)
我这里为了程序调用tshark读取pcap时可以直接转xml,把源码tshark.c中的root用户提示注释,再编译

下载源码

如果没有安装wget需要安装 yum install wget 或者复制url到浏览器下载

wget https://github.com/wireshark/wireshark/archive/v3.2.7.tar.gz 

解压

tar -xzf wireshark-3.2.7.tar.gz

安装依赖

yum install -y libgcrypt-devel glib2-devel qt-devel qt5-qtbase-devel qt5-linguist qt5-qtmultimedia-devel qt5-qtsvg-devel libcap-devel libcap-ng-devel gnutls-devel krb5-devel libxml2-devel lua-devel lz4-devel snappy-devel spandsp-devel libssh2-devel bcg729-devel libmaxminddb-devel sbc-devel libsmi-devel libnl3-devel libnghttp2-devel libssh-devel libpcap-devel c-ares-devel redhat-rpm-config rpm-build gtk+-devel gtk3-devel desktop-file-utils portaudio-devel rubygem-asciidoctor docbook5-style-xsl docbook-style-xsl systemd-devel python34 cmake3 git gcc gcc-c++ flex bison doxygen gettext-devel libxslt cmake

进入到解压后的 Wireshark 源码目录

cd wireshark-3.2.7

Wireshark 源码 git 管理

注:打包二进制安装包,需要进行git管理这一步,只源码安装wireshark不需要
打包rpm时,尝试用rpmbuild -ba wireshark.spec打包失败了会提示在指定路径没有找到文件,之后用这种方式成功

# 初始化 git
git init
# 提交
git add .
git commit -m "First commit."

编译源码

cmake3 ./

源码安装

注:需要打包rpm则不用进行安装,打包完成,安装rpm即可,更快
安装完成执行可执行命令测试:tsahrk -v

make install

编译 rpm 安装包

编译完后会提示rpm所在路径,我解压到/opt路径下了,rpm所在路径是 /opt/wireshark-3.2.7/packaging/rpm/RPMS/x86_64
编译完成,会有3个二进制安装包,使用 rpm -ivh wireshark-3.2.7-1.x86_64.rpm 安装即可

make rpm-package

离线环境下依赖准备

方式一:从centos7安装包及网站下载需要的依赖

  1. 找到对应centos版本的的iso镜像,解压缩,里面有个Packages文件夹是rpm安装包
  2. 找不到的谷歌,我大多在以下两个网站找到了(找不到对应小版本的大版本相同也可以,例如centos7.8装7.9的也可以)
    安装wiresahrk依赖包下载地址1:https://centos.pkgs.org/
    依赖下载地址2:https://rpmfind.net/linux/rpm2html/

方式二:使用rpm --downloadonly 方式

此方式提示已经安装这些库所以没有下载成功?还有其他通过仓库下载安装包方式,懒得弄了。
列的包不全,可以下载后安装完,尝试安装wireshark根据提示再下载需要的依赖。

yum install libssh bcg729 libmaxminddb sbc libsmi libnghttp2 --downloadonly --downloaddir=./

用到的依赖

由于之前已经装过一部分其他工具,可能不全,本次准备的依赖如下

libpcap-1.5.3-13.el7_9.x86_64.rpm
bcg729-1.0.0-2.el7.centos.x86_64.rpm
c-ares-1.10.0-3.el7.x86_64.rpm
glib2-2.56.1-5.el7.x86_64.rpm
jbigkit-libs-2.0-11.el7.x86_64.rpm
libgcrypt-1.5.3-14.el7.x86_64.rpm
libjpeg-turbo-1.2.90-8.el7.x86_64.rpm
libmaxminddb-1.2.0-6.el7.x86_64.rpm
libnghttp2-1.33.0-1.1.el7.x86_64.rpm
libsmi-0.4.8-13.el7.x86_64.rpm
libssh-0.7.1-7.el7.x86_64.rpm
libtiff-4.0.3-32.el7.x86_64.rpm
lua-5.1.4-15.el7.x86_64.rpm
lz4-1.7.5-3.el7.x86_64.rpm
sbc-1.0-5.el7.x86_64.rpm
snappy-1.1.0-3.el7.x86_64.rpm
spandsp-0.0.6-0.10.pre21.el7.x86_64.rpm
wireshark-3.2.7-1.x86_64.rpm
zlib-1.2.7-18.el7.x86_64.rpm

参考文档

tsahrk参考文档:https://www.wireshark.org/docs/man-pages/tshark.html
未联系原作者,侵删
centos7 wiresahrk打包rpm参考博客:https://lovemma.github.io/posts/build-tshark-centos-7/

CentOS 7系统下通过源码安装Wireshark,可按以下详细步骤进行: ### 1. 检查并安装合适的CMake版本 安装Wireshark 3需要CMake版本 >= 3.5。若当前存在版本不符,则需卸载旧版本并安装合适版本: ```bash # 若当前存在版本不符,则卸载 yum -y remove cmake # 安装相关依赖 yum install -y gcc gcc-c++ build-essential autoconf libtool pkg-config # 下载安装包 wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz --no-check-certificate # 解压安装包 tar -zxvf cmake-3.5.2.tar.gz # 进入解压目录 cd cmake-3.5.2 # 引导配置 ./bootstrap # 编译并安装 make install # 验证是否安装成功 cmake --version ``` ### 2. 安装Wireshark依赖 ```bash yum -y install glib2 glib2-devel libgcrypt libgcrypt-devel c-ares c-ares-devel bison flex zlib zlib-devel qt5-linguist qt5-linguist-devel qt5-qtmultimedia qt5-qtmultimedia-devel qt5-qtbase qt5-qtbase-devel libpcap libpcap-devel libcap libcap-devel ``` ### 3. 安装Wireshark 获取Wireshark源码并进行编译安装,假设要安装Wireshark 3.6: ```bash # 下载Wireshark源码包,这里以3.6版本为例,可按需更换链接 wget https://www.wireshark.org/download/src/all-versions/wireshark-3.6.0.tar.xz # 解压源码tar -xvf wireshark-3.6.0.tar.xz # 进入解压后的目录 cd wireshark-3.6.0 # 创建构建目录并进入 mkdir build cd build # 配置编译选项 cmake .. # 编译 make # 安装 make install ``` ### 4. 覆盖系统的Wireshark命令(可选) 若想区分不同方式安装Wireshark,可进行如下操作: ```bash # 先以root执行 alias wireshark3='/home/kiosk/Development/wireshark3/bin/wireshark' ``` 这里的`wireshark3`是为了区分`yum`安装Wireshark
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值