在 Debian 下使用 dumpcap 出现“乱码”,通常不是 dumpcap 本身的问题,而是终端编码、语言环境(locale)或显示方式的问题。下面按常见原因逐一说明和解决。
dumpcap 在打印接口名、错误信息时,如果系统 locale 不是 UTF-8,就可能乱码。
locale
如果看到类似:
LANG=
LC_ALL=
或不是 UTF-8,就会有问题。
sudo apt install locales
sudo dpkg-reconfigure locales
勾选:
en_US.UTF-8
zh_CN.UTF-8
并设置为默认。
然后:
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
即使系统是对的,终端也要用 UTF-8。
echo $LANG
应为 *.UTF-8
dumpcap 是 抓包工具,不是分析工具:
dumpcap
输出的是接口列表 + 状态信息
.pcap 文件是二进制如果你用:
cat xxx.pcap
那一定是“乱码”,这是正常的。
✅ 正确方式:
dumpcap -i eth0 -w test.pcap
tshark -r test.pcap
有时你本地是 UTF-8,但 sudo dumpcap 就乱码。
sudo visudo
添加:
Defaults env_keep += "LANG LC_ALL"
或直接:
sudo env LANG=zh_CN.UTF-8 dumpcap -D
某些网卡名、说明可能含中文或特殊字符,dumpcap 直接输出就会乱。
可先确认:
dumpcap -D
如果乱码但能用,一般不影响抓包。
那不是 dumpcap 的问题,而是:
dumpcap 乱码 90% 是 locale / 终端编码问题,不是 dumpcap bug
如果你愿意,可以把:
locale 输出发出来,我可以精确判断是哪一种。