在 Debian 下使用 dumpcap(通常是 Wireshark 套件里的命令行抓包工具)时出现“中文乱码”,一般不是 dumpcap 本身的问题,而是终端编码 / 区域设置 / 显示工具的问题。下面按常见场景给你解决办法。
dumpcap 本身输出的中文很少,很多“乱码”其实来自:
tsharklocale
如果不是 UTF-8,比如是:
LANG=C
就会乱码。
sudo apt install locales
sudo dpkg-reconfigure locales
勾选:
zh_CN.UTF-8
en_US.UTF-8
然后:
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
(可写入 ~/.bashrc)
不同终端设置方式不同:
GNOME Terminal:
右键 → 配置文件 → 兼容性 → 字符编码 → UTF-8
SSH 客户端(Xshell / PuTTY / Termius):
编码必须设为 UTF-8
如果你用:
dumpcap -w 抓包文件.pcap
例如:
dumpcap -w capture.pcap
dumpcap 只抓包,真正“显示中文”的通常是 tshark:
tshark -r capture.pcap
如果乱码:
tshark -r capture.pcap -l -T fields -e http.host
确保:
如果是 GBK 编码数据(如老系统):
iconv -f GBK -t UTF-8 file.txt
sudo apt install wireshark
设置:
编辑 → 首选项 → 外观 → 字体
改为支持中文的字体(如 Noto Sans CJK)
locale 是 UTF-8如果你能贴一下:
我可以更精准帮你定位。