银河麒麟系统需据内核类型(debian/rhel系)和架构(x86_64/aarch64)选择tcpdump或wireshark安装方式,优先在线安装并配置非root抓包权限,断网环境须用对应架构离线包并修复依赖。

如果你在银河麒麟系统上需要实时捕获网络流量、分析协议行为或排查连接异常,却连基础抓包命令都提示“command not found”,说明系统既未预装tcpdump也未部署Wireshark,更缺乏libpcap等底层依赖——这在国产化封闭环境中极为常见,必须按架构、源类型和网络连通性分路径处理。
确认系统内核与架构类型
打开终端,依次执行以下两条命令:
cat /etc/kylin-release → 查看发行版本(SP1/SP2/SP3)及内核系别(Debian系或RHEL系)
uname -m → 判断硬件架构(x86_64 或 aarch64)
这两项结果将直接决定后续安装方式:SP1多为Debian系,SP2/SP3倾向RHEL系;ARM服务器必须选arm64离线包,否则dpkg会报architecture mismatch错误。
在线安装tcpdump(推荐优先尝试)
方法一:Debian/Ubuntu系(如Kylin V10 SP1)
执行sudo apt-get update → sudo apt-get install -y tcpdump libpcap0.8
验证:tcpdump --version 应输出版本号,且ldconfig -p | grep libpcap 能看到加载条目。
方法二:RHEL/CentOS系(如Kylin V10 SP2/SP3)
先刷新源缓存:sudo yum makecache
再安装:sudo yum install -y tcpdump libpcap
【若提示“No package tcpdump available”】,需启用Kylin专属仓库:sudo yum --enablerepo=Kylin-Server-10-SP2 install -y tcpdump
离线安装tcpdump(断网环境必选)
第一步:根据uname -m结果下载对应架构包
x86_64系统 → 下载libpcap0.8_*.deb与tcpdump_*.deb(amd64后缀)
aarch64系统 → 下载libpcap0.8_*.deb与tcpdump_*.deb(arm64后缀)
第二步:复制到目标机,按依赖顺序安装
sudo dpkg -i libpcap0.8_*.deb → sudo dpkg -i tcpdump_*.deb
第三步:修复可能的依赖断裂
sudo apt-get install -f -y
这一步操作起来很简单,直接把两个deb文件拖进终端所在目录就行。但注意:若系统为最小化安装,apt-get install -f可能因缺少apt核心组件失败,此时需改用源码编译方案。
安装Wireshark并启用非root抓包
① Debian系在线安装
sudo apt-get update → sudo apt-get install -y wireshark wireshark-qt
安装过程中弹出图形配置框时,【必须选择“Yes”启用非root捕获】;若未弹出,则补执行:sudo dpkg-reconfigure wireshark-common
② RHEL系在线安装
sudo yum install -y wireshark wireshark-qt
若提示GPG校验失败,先导入密钥:sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
③ 离线安装(含ARM专用)
解压离线包:tar zxvf wireshark_ARM.tar.gz(ARM平台)或wireshark_x86.tar.gz(x86平台)
进入目录:cd wireshark*
批量安装:sudo dpkg -i *.deb
强制架构兼容(仅ARM报错时用):sudo dpkg --force-architecture -i *.deb
配置Wireshark非root用户权限
即使安装完成,普通用户启动Wireshark仍会提示“权限拒绝”。这是因为dumpcap需获得原始套接字访问能力:
执行:sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
将当前用户加入wireshark组:sudo usermod -a -G wireshark $USER
【必须注销当前会话并重新登录】,否则组权限不生效。
验证:重启终端后运行wireshark-qt,点击任意网卡应能直接开始捕获,无弹窗报错。










