温馨提示×

如何开机启动centos sniffer

小樊
35
2026-09-18 06:45:28
栏目: 智能运维

在 CentOS 上“开机启动 sniffer”通常有两种常见理解:

  1. 系统自带 sniffer(如 tcpdump / snoop 类工具)开机自动抓包
  2. 某个 sniffer 程序(如自定义脚本、Wireshark CLI、第三方 sniffer)开机运行

下面以 tcpdump 开机自动启动抓包 为例,给你一套最常用、最稳妥的做法(CentOS 7/8,systemd)。


一、使用 systemd 开机启动 tcpdump(推荐)

1. 编写 sniffer 启动脚本

sudo vi /usr/local/bin/sniffer-start.sh

内容示例(抓 eth0,存文件):

#!/bin/bash
tcpdump -i eth0 -nn -s0 -w /var/log/sniffer/eth0.pcap

赋予执行权限:

sudo chmod +x /usr/local/bin/sniffer-start.sh
sudo mkdir -p /var/log/sniffer

2. 创建 systemd 服务

sudo vi /etc/systemd/system/sniffer.service

示例:

[Unit]
Description=Network Sniffer (tcpdump)
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/sniffer-start.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

3. 设置开机启动

sudo systemctl daemon-reload
sudo systemctl enable sniffer
sudo systemctl start sniffer

查看状态:

systemctl status sniffer

二、如果是“自定义 sniffer 程序”

假设你的 sniffer 是:

/opt/sniffer/sniffer -i eth0

只需改 ExecStart:

ExecStart=/opt/sniffer/sniffer -i eth0

三、老版本 CentOS(CentOS 6,init.d)

如果是 CentOS 6:

chkconfig sniffer on

四、注意事项(很重要)

  1. 权限问题
    • 抓包需要 root 或 CAP_NET_RAW
  2. 磁盘空间
    • 长期抓包要加轮转(-G / logrotate)
  3. 安全风险
    • sniffer 可能泄露敏感数据,建议限制访问

如果你能提供:

  • CentOS 版本
  • 具体 sniffer 名称(tcpdump / wireshark / 自研)

我可以给你完全对应的配置示例。

0 踩