温馨提示×

Centos sniffer和tcpdump区别

小樊
47
2026-08-04 06:38:52
栏目: 智能运维

CentOS 上,“sniffer” 并不是某一个具体命令,而是一类工具/技术的总称,而 tcpdump 是其中一种具体实现。很多人会把两者混着说,下面给你一个清晰对比。


一句话总结

tcpdump 是一个抓包工具,sniffer 是抓包行为的统称
tcpdump 属于 sniffer 的一种实现


一、概念区别

1️⃣ sniffer(嗅探器)

  • 概念:用于监听、捕获网络数据包的工具或技术
  • 不是某个具体命令
  • 可以是:
    • 软件(tcpdump、wireshark、tshark、sshdump)
    • 硬件(专用抓包设备)
  • 可工作在:
    • 普通模式
    • 混杂模式(promiscuous mode)

✅ 举例:

  • tcpdump 是 sniffer
  • Wireshark 是 sniffer
  • libpcap 是 sniffer 的底层库

2️⃣ tcpdump

  • 具体工具
  • 基于 libpcap
  • 运行在 命令行
  • 常用于:
    • 服务器
    • CentOS / RHEL / Linux
    • 实时抓包分析

✅ 特点:

  • 轻量
  • 无 GUI
  • 适合线上服务器
  • 可保存 .pcap 文件

二、功能对比表

对比项 sniffer(概念) tcpdump(工具)
本质 抓包技术/类别 具体抓包程序
是否命令 ❌ 不是 ✅ 是
是否依赖 libpcap 不一定 ✅ 是
是否支持混杂模式
使用场景 泛指 服务器、排错
是否有 GUI 可能有
能否保存 pcap 取决于工具

三、在 CentOS 上的常见 sniffer 工具

✅ tcpdump(最常用)

yum install -y tcpdump
tcpdump -i eth0

✅ tshark(Wireshark 命令行版)

yum install -y wireshark-cli
tshark -i eth0

✅ ss(不是 sniffer,但常被混淆)

ss -tunap

不能抓包,只能看连接


四、tcpdump 常见用法(CentOS)

抓指定网卡

tcpdump -i eth0

抓 HTTP 80 端口

tcpdump -i eth0 port 80

抓某个 IP

tcpdump host 192.168.1.10

保存到文件

tcpdump -i eth0 -w capture.pcap

只抓 100 个包

tcpdump -c 100 -i eth0

五、权限问题(CentOS 常见)

tcpdump 需要 rootCAP_NET_RAW

sudo tcpdump -i eth0

或在 CentOS 8+:

getcap /usr/sbin/tcpdump

六、安全性提醒(很重要)

  • sniffer 可看到 明文密码、token、cookie
  • 生产环境:
    • 不要长期运行
    • 抓包文件要加密
    • 避免抓全流量

七、简单记忆法

sniffer = 抓包这件事
tcpdump = 干这件事的一个工具


如果你愿意,我可以:

  • 给你 tcpdump 实战排错案例
  • 对比 tcpdump vs wireshark
  • sniffer 原理(混杂模式 / 交换机)
  • 或结合 Docker / K8s / 云服务器 场景说明

你更想了解哪一块?

0