在 Debian 上让 dumpcap(Wireshark 的抓包后端)在后台运行,常见有几种做法,按使用场景从简单到专业排列:
nohup + &适合临时抓包、不依赖系统服务管理:
sudo nohup dumpcap -i eth0 -w /var/tmp/capture.pcap -q &
说明:
nohup:断开终端后继续运行&:后台执行-q:安静模式(不刷屏)查看是否在跑:
ps aux | grep dumpcap
停止:
sudo kill <pid>
setsid(更干净的后台进程)避免受终端影响:
sudo setsid dumpcap -i eth0 -w /var/tmp/capture.pcap -q
systemd(推荐,服务器长期使用)sudo vim /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 -q
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reexec
sudo systemctl enable --now dumpcap
systemctl status dumpcap
journalctl -u dumpcap
systemctl stop dumpcap
tmux / screen(交互式但可断开)sudo tmux
sudo dumpcap -i eth0 -w capture.pcap
# Ctrl+B D 断开
重新进入:
tmux attach
Debian 默认 dumpcap 需要 CAP_NET_RAW 权限:
sudo setcap 'CAP_NET_RAW+eip' /usr/bin/dumpcap
或直接使用 sudo。
dumpcap -i any -f "tcp port 443" -w /var/tmp/tls.pcap -b filesize:100000
-b filesize:自动滚动文件-f:抓包过滤条件如果你能说明:
我可以给你更合适的方案。