在 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(推荐,可随时查看)适合需要偶尔查看或中断的场景。
sudo apt install screen
sudo screen -S dumpcap
dumpcap -i eth0 -w /var/tmp/capture.pcap
按:
Ctrl + A 然后 D
重新进入:
screen -r dumpcap
systemd(最规范,适合长期运行)适合服务器、长期抓包、开机自启。
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
sudo systemctl daemon-reload
sudo systemctl start dumpcap
sudo systemctl enable dumpcap
systemctl status dumpcap
停止:
sudo systemctl stop dumpcap
dumpcap 抓包通常需要 root 或 CAP_NET_RAW 权限。
sudo dumpcap ...
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
检查:
getcap /usr/bin/dumpcap
✅ 生产环境推荐:systemd
✅ 临时调试推荐:screen / nohup
✅ 抓包文件定期轮转(避免磁盘爆满)
如果你愿意,可以告诉我:
我可以帮你写一套完整可用的配置。