温馨提示×

Debian dumpcap如何后台运行

小樊
34
2026-08-06 02:46:07
栏目: 智能运维

在 Debian 上让 dumpcap 后台运行,常见有几种方式,取决于你是临时抓包还是长期、开机自启。下面按常用场景说明。


一、最简单:用 nohup 后台运行(临时)

适合临时抓包,退出终端也不中断。

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

说明:

  • -i eth0:监听网卡(用 ip a 查看)
  • -w:保存文件
  • nohup:忽略 HUP 信号
  • &:后台运行

查看进程:

ps aux | grep dumpcap

停止:

sudo kill <PID>

⚠️ 注意:dumpcap 默认需要 root 权限


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

1️⃣ 安装 screen

sudo apt install screen

2️⃣ 新建会话

sudo screen -S capture

3️⃣ 运行 dumpcap

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

4️⃣ 离开会话(后台继续运行)

按:

Ctrl + A 然后 D

5️⃣ 重新进入

screen -r capture

三、使用 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

3️⃣ 开机自启

sudo systemctl enable dumpcap

4️⃣ 查看状态

systemctl status dumpcap

停止:

sudo systemctl stop dumpcap

四、常见注意事项(非常重要)

✅ 权限问题

dumpcap 可能需要:

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

否则可能报错:

Permission denied

✅ 磁盘空间

长期抓包建议:

  • 限制文件大小
  • 使用轮转文件

示例(100MB 一个文件,最多 10 个):

dumpcap -i eth0 -w /var/tmp/capture.pcap -b filesize:100000 -b files:10

五、推荐方案总结

场景 推荐方式
临时抓包 nohupscreen
可交互查看 screen
长期 / 开机自启 systemd
生产环境 systemd + 文件轮转

如果你能说明:

  • 抓包时长
  • 是否开机自启
  • 是否有 Wireshark 使用需求

我可以帮你定制一套 最合适、最安全的 dumpcap 运行方案

0