温馨提示×

Dumpcap在Debian如何后台运行

小樊
36
2026-07-11 00:37:20
栏目: 智能运维

Debian 系统上让 dumpcap 在后台运行,常见有几种方式,取决于你是想临时抓包长期运行,还是开机自启


一、最直接:用 nohup 后台运行

适合临时抓包,不依赖 systemd。

sudo nohup dumpcap -i eth0 -w /var/tmp/capture.pcap > /dev/null 2>&1 &

说明:

  • -i eth0:指定网卡(用 ip a 查看)
  • -w:输出 pcap 文件
  • nohup:防止终端关闭时进程被杀
  • &:后台运行

查看进程:

ps aux | grep dumpcap

停止抓包:

sudo kill $(pgrep dumpcap)

二、使用 screen(推荐,可随时查看)

适合需要偶尔查看或中断的场景。

1️⃣ 安装 screen

sudo apt install screen

2️⃣ 新建会话

sudo screen -S dumpcap

3️⃣ 在 screen 中运行

dumpcap -i eth0 -w /var/tmp/capture.pcap

4️⃣ 离开会话(不终止)

按:

Ctrl + A 然后 D

重新进入:

screen -r dumpcap

三、使用 systemd(最规范,适合长期运行)

适合服务器、长期抓包、开机自启。

1️⃣ 创建 service 文件

sudo nano /etc/systemd/system/dumpcap.service

内容示例:

[Unit]
Description=Dumpcap Packet Capture
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/dumpcap -i eth0 -w /var/tmp/capture.pcap
Restart=always
User=root

[Install]
WantedBy=multi-user.target

2️⃣ 重载并启动

sudo systemctl daemon-reload
sudo systemctl start dumpcap
sudo systemctl enable dumpcap

3️⃣ 查看状态

systemctl status dumpcap

停止:

sudo systemctl stop dumpcap

四、注意权限问题(非常重要)

dumpcap 抓包通常需要 root 或 CAP_NET_RAW 权限。

方法 1:直接用 root(简单)

sudo dumpcap ...

方法 2:设置 capabilities(更安全)

sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

检查:

getcap /usr/bin/dumpcap

五、常见建议

✅ 生产环境推荐:systemd
✅ 临时调试推荐:screen / nohup
✅ 抓包文件定期轮转(避免磁盘爆满)

如果你愿意,可以告诉我:

  • 抓哪个网卡?
  • 是否长期运行?
  • 是否需要按大小/时间切分 pcap?

我可以帮你写一套完整可用的配置

0