zl程序教程

您现在的位置是:首页 >  其它

当前栏目

wireshark最新版本for Ubuntu18.04(六)

for 版本 最新 wireshark ubuntu18.04
2023-09-14 09:16:11 时间
一、安装wireshark
1.第一种方式:
安装Ubunttu仓库wireshark(版本比较旧)
https://pkgs.org/download/wireshark
Ubuntu版本       wireshark版本
Ubuntu18.04     2.4.5
Ubuntu20.04     3.2.3
Ubuntu21.04     3.4.4





2.第二种方式:安装最新稳定版本
# sudo add-apt-repository ppa:wireshark-dev/stable 
# sudo apt update
# sudo apt install wireshark

//查看wireshark信息
# apt show wireshark
Package: wireshark
Version: 3.4.8-1~ubuntu18.04.0+wiresharkdevstable1
Priority: optional
Section: net
Maintainer: Balint Reczey <balint@balintreczey.hu>
Installed-Size: 60.4 kB
Depends: wireshark-qt (= 3.4.8-1~ubuntu18.04.0+wiresharkdevstable1)
Conflicts: ethereal (<< 1.0.0-3)
Replaces: ethereal (<< 1.0.0-3)
Download-Size: 45.2 kB
APT-Manual-Installed: yes
APT-Sources: http://ppa.launchpad.net/wireshark-dev/stable/ubuntu bionic/main amd64 Packages
Description: network traffic analyzer - meta-package
 Wireshark 是一个网络嗅探器 - 一个用于抓取和分析网络数据包的工具。 Wireshark 可以解码的协议数量巨大,不胜枚举。
 .
 This is a meta-package for Wireshark.

N: 有 2 条附加记录。请加上 ‘-a’ 参数来查看它们

//查看版本
# wireshark --version
Wireshark 3.4.8 (Git v3.4.8 packaged as 3.4.8-1~ubuntu18.04.0+wiresharkdevstable1)

Copyright 1998-2021 Gerald Combs <gerald@wireshark.org> and contributors.
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.html>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with Qt 5.9.5, with libpcap, with POSIX capabilities (Linux),
with libnl 3, with GLib 2.56.4, with zlib 1.2.11, with SMI 0.4.8, with c-ares
1.14.0, with Lua 5.2.4, with GnuTLS 3.5.18 and PKCS #11 support, with Gcrypt
1.8.1, with MIT Kerberos, with MaxMind DB resolver, with nghttp2 1.30.0, with
brotli, with LZ4, with Zstandard, with Snappy, with libxml2 2.9.4, with
QtMultimedia, without automatic updates, with SpeexDSP (using system library),
with Minizip.

Running on Linux 5.4.0-79-generic, with Intel(R) Core(TM) i7-10750H CPU @
2.60GHz (with SSE4.2), with 31775 MB of physical memory, with locale
zh_CN.UTF-8, with libpcap version 1.8.1, with GnuTLS 3.5.18, with Gcrypt 1.8.1,
with brotli 1.0.4, with zlib 1.2.11, binary plugins supported (0 loaded).

Built using gcc 7.5.0.

二、以非root用户运行wireshark
# sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
权限说明
Capabilities的主要思想在于分割root用户的特权,即将root的特权分割成不同的能力,每种能力代表一
定的特权操作。例如:能力CAP_SYS_MODULE表示用户能够加载(或卸载)内核模块的特权操作,而
CAP_SETUID表示用户能够修改进程用户身份的特权操作。在Capbilities中系统将根据进程拥有的能力来进
行特权操作的访问控制。
    在Capilities中,只有进程和可执行文件才具有能力,每个进程拥有三组能力集,分别称为
cap_effective, cap_inheritable, cap_permitted(分别简记为:pE,pI,pP),其中
cap_permitted表示进程所拥有的最大能力集;cap_effective表示进程当前可用的能力集,可以看做是
cap_permitted的一个子集;而cap_inheitable则表示进程可以传递给其子进程的能力集。系统根据进程
的cap_effective能力集进行访问控制,cap_effective为cap_permitted的子集,进程可以通过取消
cap_effective中的某些能力来放弃进程的一些特权。可执行文件也拥有三组能力集,对应于进程的三组能力
集,分别称为cap_effective, cap_allowed 和 cap_forced(分别简记为fE,fI,fP),其中,
cap_allowed表示程序运行时可从原进程的cap_inheritable中集成的能力集,cap_forced表示运行文
件时必须拥有才能完成其服务的能力集;而cap_effective则表示文件开始运行时可以使用的能力。

cap_chown=eip是将chown的能力cap_effective(e),cap_inheritable(i),cap_permitted(p)
三种位图的方式授权给相关的程序文件.

从Linux中第一次启动Wireshark的时候,可能会觉得奇怪,为什么看不到任何一个网卡,比如eth0之类
的。这是因为,直接访问这些设备需要 root权限。然后,我就用root权限去用了。当然,这是一个不好的做
法。
 比如Gentoo中就会提示:WIRESHARK CONTAINS OVER ONE POINT FIVE MILLION LINES OF 
SOURCE CODE. DO NOT RUN THEM AS ROOT.

那怎么办呢?Wireshark的leader Gerald Combs指出,现在多数Linux发行版都开始实现对raw网络设
备使用文件系统权限(能力),可以用这个途径从普通用户启动Wireshark。


将用户wireshark追加至$(whoami)的附加组中,并不从其它组中删除此用户
# sudo usermod -aG wireshark $(whoami)

将dumpcap的属组改为wireshark
# sudo chgrp wireshark /usr/bin/dumpcap
# sudo chmod 750 /usr/bin/dumpcap


Capabilities主要分割root用户的特权,即将root的特权分割成不同的能力,每种能力代表一定的特权操作。
CAP_NET_ADMIN:允许执行网络管理任务
CAP_NET_RAW:允许使用原始套接字
# sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

Or
# sudo setcap CAP_NET_RAW,CAP_NET_ADMIN=eip /usr/bin/dumpcap

//获取赋予的单一网络能力
# sudo getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

# wireshark