温馨提示×

debian dumpcap如何后台跑

小樊
38
2026-09-15 21:28:30
栏目: 智能运维

在 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(推荐,服务器长期使用)

1. 创建 service 文件

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

2. 启用并启动

sudo systemctl daemon-reexec
sudo systemctl enable --now dumpcap

3. 管理

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:抓包过滤条件

如果你能说明:

  • 是否服务器长期运行
  • 是否需要开机自启
  • 是否多网卡 / 容器环境

我可以给你更合适的方案。

0