温馨提示×

centos sniffer怎样过滤流量

小樊
44
2026-10-17 18:30:38
栏目: 智能运维

在 CentOS 上做“流量过滤 / 抓包过滤”,通常说的是 sniffer(抓包工具),最常见的是 tcpdump,也可能是 Wireshark(命令行 tshark)。下面按常见场景给你说明。


一、使用 tcpdump 过滤流量(最常用)

1️⃣ 按网卡过滤

tcpdump -i eth0

只抓 eth0 网卡流量。


2️⃣ 按 IP 过滤

# 源或目的 IP
tcpdump host 192.168.1.10

# 源 IP
tcpdump src host 192.168.1.10

# 目的 IP
tcpdump dst host 192.168.1.10

3️⃣ 按端口过滤

# 端口 80
tcpdump port 80

# 源端口
tcpdump src port 443

# 目的端口
tcpdump dst port 22

4️⃣ 按协议过滤

tcpdump tcp
tcpdump udp
tcpdump icmp

5️⃣ 组合条件(AND / OR / NOT)

tcpdump tcp and port 80
tcpdump host 192.168.1.10 and port 443
tcpdump not arp
tcpdump src 192.168.1.10 and not port 22

6️⃣ 保存到文件(pcap)

tcpdump -i eth0 -w traffic.pcap

之后可用 Wireshark 分析。


二、使用 tshark(Wireshark 命令行)

如果已安装:

yum install -y wireshark

示例:

tshark -i eth0 -f "tcp port 80"
tshark -i eth0 host 192.168.1.10

三、只“看某些流量”但不抓包(可选)

如果只是想限制/观察流量,而不是抓包:

1️⃣ iptables 统计

iptables -I INPUT -s 192.168.1.10 -j LOG

2️⃣ nload / iftop(实时流量)

yum install -y iftop
iftop -i eth0

四、常见示例汇总

需求 命令
抓某 IP tcpdump host 1.2.3.4
抓 HTTP tcpdump tcp port 80
抓非 SSH tcpdump not port 22
抓 DNS tcpdump udp port 53
抓网段 tcpdump net 192.168.1.0/24

五、权限说明

通常需要 root:

sudo tcpdump ...

如果你能告诉我:

  • 用的是 tcpdump / Wireshark / 其他
  • 想过滤的是 IP / 端口 / 协议 / 应用层

我可以直接给你精确命令。

0 踩