在 Ubuntu 上安装与使用 Sniffer 工具
一 常见工具与选择
- tcpdump:命令行抓包工具,轻量、稳定,适合服务器与快速排障。
- Wireshark:图形化协议分析器,适合深度分析与可视化排查。
- netsniff-ng:高级命令行套件(含抓包、流量生成等),适合需要更强抓包与回放能力的场景。
二 安装 tcpdump
- 更新索引并安装:
- sudo apt update
- sudo apt install tcpdump
- 验证安装:
- 说明:tcpdump 基于 libpcap,用于实时捕获与过滤网络数据包,是最常用的“sniffer”之一。
三 安装 Wireshark
- 稳定版 PPA 安装(推荐):
- sudo add-apt-repository ppa:wireshark-dev/stable
- sudo apt update
- sudo apt install wireshark
- 若提示权限对话框,运行:sudo dpkg-reconfigure wireshark-common,选择“Yes”以允许非 root 用户抓包(通过 wireshark 用户组)。
- 启动:
- 命令行:sudo wireshark
- 或应用菜单启动 Wireshark。
- 说明:Wireshark 提供丰富的协议解析与图形化过滤,适合交互式分析。
四 安装 netsniff-ng(可选)
- 安装依赖(构建工具与库):
- sudo apt update
- sudo apt install build-essential libncurses5-dev zlib1g-dev gawk flex quilt git-lfs libssl-dev xz-utils
- 克隆与编译安装(示例):
- git clone https://github.com/netsniff-ng/netsniff-ng
- cd netsniff-ng
- ./configure
- make
- sudo make install
- 说明:netsniff-ng 为功能更全的抓包套件,适合需要高级抓包、流量回放与统计的场景。
五 快速上手与合规提示
- 查看网卡名:ip link show(常见如 eth0、wlan0、enp3s0)。
- tcpdump 常用命令:
- 实时抓包:sudo tcpdump -i eth0
- 抓取 10 个包:sudo tcpdump -i eth0 -c 10
- 保存到文件:sudo tcpdump -i eth0 -w capture.pcap
- 读取文件:tcpdump -r capture.pcap
- 过滤示例:sudo tcpdump -i eth0 port 80;sudo tcpdump -i eth0 host 192.168.1.1
- 无线抓包提示:如需抓取 Wi‑Fi 管理/控制帧,需将网卡切到 monitor 模式(示例:sudo iw phy phy0 interface add mon0 type monitor;sudo ifconfig mon0 up),再在 Wireshark 选择 mon0 捕获。
- 合规与安全:抓包可能触及隐私与合规要求,务必在获得明确授权的网络与主机上操作,避免未授权监控与数据泄露。