温馨提示×

centos sniffer怎么设置过滤

小樊
41
2026-07-20 17:37:16
栏目: 智能运维

在 CentOS 上做“sniffer 过滤”,通常指使用 tcpdump / libpcapWireshark(tshark) 来抓包并过滤。下面按最常见场景给你说明。


一、使用 tcpdump(最常用)

1️⃣ 基本语法

tcpdump -i eth0 <过滤条件>

示例:

tcpdump -i eth0

2️⃣ 按 IP 过滤

抓指定源 IP

tcpdump src host 192.168.1.10

抓指定目的 IP

tcpdump dst host 192.168.1.10

抓某台主机(双向)

tcpdump host 192.168.1.10

3️⃣ 按端口过滤

抓指定端口

tcpdump port 80

源端口

tcpdump src port 22

目的端口

tcpdump dst port 443

端口范围

tcpdump portrange 8000-9000

4️⃣ 按协议过滤

tcpdump tcp
tcpdump udp
tcpdump icmp

5️⃣ 组合条件(重点)

AND

tcpdump tcp and port 80

OR

tcpdump port 80 or port 443

NOT

tcpdump not arp

复杂示例

tcpdump -i eth0 tcp and host 192.168.1.10 and port 80

6️⃣ 常用实用参数

参数 作用
-i eth0 指定网卡
-n 不解析主机名
-nn 不解析主机名和端口名
-c 100 抓 100 个包后停止
-w file.pcap 保存到文件
-r file.pcap 读取文件
-v / -vv 显示详细信息

示例:

tcpdump -i eth0 -nn -c 100 port 80

二、使用 tshark(Wireshark 命令行)

安装

yum install wireshark-cli

基本过滤

tshark -i eth0 -f "port 80"

显示过滤(类似 Wireshark)

tshark -i eth0 -Y "ip.addr == 192.168.1.10 && tcp.port == 80"

三、常见错误 & 注意事项

1️⃣ 权限问题

sudo tcpdump ...

yum install libpcap

2️⃣ 网卡名不对

查看网卡:

ip a

四、典型实战示例

✅ 只抓 HTTP 请求(80 端口)

tcpdump -i eth0 -nn tcp port 80

✅ 抓某台服务器的 SSH 流量

tcpdump -i eth0 tcp port 22 and host 192.168.1.10

✅ 抓 DNS 请求

tcpdump -i eth0 udp port 53

如果你能告诉我:

  • 使用的是 tcpdump / Wireshark / 其他工具
  • 想抓 哪种流量(HTTP、MySQL、SSH、ARP 等)
  • 实时分析 还是 保存 pcap

我可以直接给你一条完全可用的命令

0