温馨提示×

Debian sniffer怎么过滤

小樊
39
2026-07-27 14:28:05
栏目: 智能运维

Debian 里,“sniffer”通常指的是网络抓包工具,最常用的是:

  • tcpdump
  • tshark(Wireshark 命令行版)
  • Wireshark(图形界面)

下面按常见场景说明 如何过滤


一、使用 tcpdump 过滤(最常见)

1️⃣ 安装

sudo apt update
sudo apt install tcpdump

2️⃣ 基本抓包

sudo tcpdump -i eth0

3️⃣ 常见过滤方式

✅ 按 IP 过滤

# 来源或目的 IP
sudo tcpdump host 192.168.1.10

# 只抓来源 IP
sudo tcpdump src 192.168.1.10

# 只抓目的 IP
sudo tcpdump dst 192.168.1.10

✅ 按端口过滤

sudo tcpdump port 80
sudo tcpdump src port 443
sudo tcpdump dst port 22

✅ 按协议过滤

sudo tcpdump tcp
sudo tcpdump udp
sudo tcpdump icmp

✅ 组合条件(非常常用)

sudo tcpdump tcp port 80 and host 192.168.1.10
sudo tcpdump 'udp port 53 or tcp port 443'
sudo tcpdump 'not arp and not icmp'

⚠️ 注意:复杂条件建议用单引号 ' ' 包住,避免 shell 解析错误。


✅ 按网段过滤

sudo tcpdump net 192.168.1.0/24

✅ 只抓数据包头(不抓数据)

sudo tcpdump -s 96

✅ 保存到文件

sudo tcpdump -w capture.pcap

再分析:

tcpdump -r capture.pcap

二、使用 tshark(Wireshark CLI)

1️⃣ 安装

sudo apt install tshark

2️⃣ 过滤示例

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

-Y 使用 Wireshark 显示过滤器(比 tcpdump 更强大)


三、使用 Wireshark(图形界面)

sudo apt install wireshark
sudo wireshark

常用显示过滤器

ip.addr == 192.168.1.1
tcp.port == 443
http.request
dns
udp.srcport == 53

四、常用对照表

需求 tcpdump tshark/Wireshark
IP host ip.addr
端口 port tcp.port / udp.port
协议 tcp/udp tcp / udp
组合 and/or and/or
排除 not !

五、权限问题(很重要)

Debian 默认需要 root:

sudo tcpdump ...

或加入 wireshark 组(推荐):

sudo usermod -aG wireshark $USER
newgrp wireshark

如果你能说明:

  • 用的是 tcpdump / Wireshark / 其他
  • 想过滤 IP / 端口 / 协议 / 应用层
  • 实时抓包 还是 分析已有 pcap

我可以给你一条精确命令

0