在 CentOS 上“开机启动 sniffer”通常有两种理解:
下面分别说明,你可按需选择。
vi /usr/local/bin/sniffer.sh
内容示例(抓取 eth0 流量,保存到文件):
#!/bin/bash
/usr/sbin/tcpdump -i eth0 -w /var/log/sniffer.pcap -G 3600 -W 24
赋予执行权限:
chmod +x /usr/local/bin/sniffer.sh
vi /etc/systemd/system/sniffer.service
内容:
[Unit]
Description=Sniffer Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/sniffer.sh
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable sniffer
systemctl start sniffer
查看状态:
systemctl status sniffer
假设程序路径为 /opt/sniffer/sniffer
vi /etc/systemd/system/sniffer.service
[Unit]
Description=Custom Sniffer
After=network.target
[Service]
ExecStart=/opt/sniffer/sniffer
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable sniffer
systemctl start sniffer
vi /etc/init.d/sniffer
#!/bin/bash
# chkconfig: 2345 90 10
# description: sniffer
case "$1" in
start)
/usr/sbin/tcpdump -i eth0 -w /var/log/sniffer.pcap &
;;
stop)
pkill tcpdump
;;
esac
chmod +x /etc/init.d/sniffer
chkconfig sniffer on
service sniffer start
NetworkManager,确保网卡已就绪/var/log 或 /data如果你指的是 某个具体 sniffer 软件(如 Wireshark CLI、netsniff-ng、dsniff 等),可以告诉我名字,我可以给你精确配置。