利用BARK和Telebot进行VPS实时预警推送
字数 1396 2025-08-11 08:36:22

VPS实时预警推送系统搭建指南:基于BARK和Telebot

一、概述

本教程详细讲解如何利用BARK和Telebot搭建VPS实时预警推送系统,适用于服务器日常维护和蓝队监控场景。系统能够在服务器出现异常时(如非法登录、配置变更等)及时向管理员发送警报。

二、Telebot推送方案

1. 准备工作

2. 创建Telegram机器人

  1. 在BotFather对话框中输入 /newbot
  2. 按照提示输入机器人名称(name)和用户名(username)
  3. 创建完成后会返回一个token,格式如:5229xxxxxx:AAFAxxxxxxxxxxxxxxxxx1MJ4OY0

3. 获取Chat ID

在机器人对话框发送任意消息后,使用以下方式获取Chat ID:

cURL方式:

proxychains4 curl https://api.telegram.org/bot{token}/getUpdates

Python方式:

import requests
resp = requests.get("https://api.telegram.org/bot{token}/getUpdates")
print(resp.json())

返回的JSON中id字段即为你的Chat ID。

4. Python实现Telebot推送

安装依赖:

pip install pyTelegramBotAPI

示例代码:

import telebot
bot = telebot.TeleBot(token="522xxxx:xxxxxxxxxOY0")
bot.send_message(chat_id="xxxxxx", text="haha123")

注意:国内可能需要代理才能使用Telebot。

三、BARK推送方案(国内推荐)

1. BARK简介

BARK是一个免费开源的消息推送工具,适合国内网络环境使用。

2. 基本推送格式

https://api.day.app/6cPxxxxxxxxxxxF4/推送内容
https://api.day.app/6cPxxxxxxxxxxxF4/推送标题/推送内容

3. 可选参数

参数名 说明 可选值 备注
sound 推送铃声 minuet、alarm等 -
isArchive 自动保存通知 1或0 1表示自动保存
icon 推送图标 URL 需iOS15+
group 消息分组 自定义分组名 -
level 通知级别 active/timeSensitive/passive active:立即亮屏
url 跳转链接 URL 点击推送跳转
copy 复制内容 字符串 点击复制指定内容
badge 角标数字 数字 推送角标

4. Python实现BARK推送

import requests

url = "https://api.day.app/6cPxxxxxxxxxxxF4/"

def sendMessage(title, text, icon=""):
    requests.get(f'{url+title}/{text}?icon={icon}')

sendMessage(title='Warning', text='Your server has been invaded', 
           icon="https://example.com/icon.jpg")

四、实战应用:SSH登录监控

1. Shell脚本实现

将以下脚本放入/etc/profile.d/目录,每次终端连接时都会执行:

#!/bin/bash

message="主机名:$(hostname) 时间:$(TZ=UTC-8 date) 登陆用户:$(whoami) 当前所有登陆用户:$(who) 其他信息:$(w|awk 'BEGIN{OFS=" "}{print $1,$8}')"

# 处理空格问题
encoded_message=$(echo $message | sed 's/ /%20/g')

curl "https://api.day.app/6cxxxxxxxxxF4/$encoded_message?icon=https://example.com/icon.jpg" &>/dev/null

2. 功能说明

当有用户通过SSH登录服务器时,脚本会自动发送包含以下信息的警报:

  • 主机名
  • 登录时间(北京时间)
  • 登录用户名
  • 当前所有登录用户
  • 其他系统信息

五、高级应用拓展

  1. 结合SSH蜜罐技术:对非法登录尝试进行监控
  2. 系统日志监控:监控网页篡改、黑链植入等异常
  3. 数据库监控:检测数据库异常操作
  4. 异常用户检测:监控系统新增用户等异常行为

六、注意事项

  1. BARK推送内容不宜过长(受URL长度限制)
  2. 国内推荐使用BARK,境外VPS推荐使用Telebot
  3. 敏感信息推送建议使用HTTPS和自建BARK服务器
  4. 脚本执行权限和环境变量需正确配置

七、故障排查

  1. Telebot无法使用:检查代理设置和网络环境
  2. BARK推送失败:检查URL格式和网络连接
  3. 脚本不执行:检查文件权限和存放位置
  4. 推送延迟:检查服务器网络状况

通过以上方案,您可以构建一个高效的VPS实时监控预警系统,及时发现并响应服务器异常情况。

VPS实时预警推送系统搭建指南:基于BARK和Telebot 一、概述 本教程详细讲解如何利用BARK和Telebot搭建VPS实时预警推送系统,适用于服务器日常维护和蓝队监控场景。系统能够在服务器出现异常时(如非法登录、配置变更等)及时向管理员发送警报。 二、Telebot推送方案 1. 准备工作 需要一个Telegram账号 访问 Telegram BotFather 创建机器人 2. 创建Telegram机器人 在BotFather对话框中输入 /newbot 按照提示输入机器人名称(name)和用户名(username) 创建完成后会返回一个token,格式如: 5229xxxxxx:AAFAxxxxxxxxxxxxxxxxx1MJ4OY0 3. 获取Chat ID 在机器人对话框发送任意消息后,使用以下方式获取Chat ID: cURL方式: Python方式: 返回的JSON中 id 字段即为你的Chat ID。 4. Python实现Telebot推送 安装依赖: 示例代码: 注意:国内可能需要代理才能使用Telebot。 三、BARK推送方案(国内推荐) 1. BARK简介 BARK是一个免费开源的消息推送工具,适合国内网络环境使用。 2. 基本推送格式 3. 可选参数 | 参数名 | 说明 | 可选值 | 备注 | |--------|------|--------|------| | sound | 推送铃声 | minuet、alarm等 | - | | isArchive | 自动保存通知 | 1或0 | 1表示自动保存 | | icon | 推送图标 | URL | 需iOS15+ | | group | 消息分组 | 自定义分组名 | - | | level | 通知级别 | active/timeSensitive/passive | active:立即亮屏 | | url | 跳转链接 | URL | 点击推送跳转 | | copy | 复制内容 | 字符串 | 点击复制指定内容 | | badge | 角标数字 | 数字 | 推送角标 | 4. Python实现BARK推送 四、实战应用:SSH登录监控 1. Shell脚本实现 将以下脚本放入 /etc/profile.d/ 目录,每次终端连接时都会执行: 2. 功能说明 当有用户通过SSH登录服务器时,脚本会自动发送包含以下信息的警报: 主机名 登录时间(北京时间) 登录用户名 当前所有登录用户 其他系统信息 五、高级应用拓展 结合SSH蜜罐技术 :对非法登录尝试进行监控 系统日志监控 :监控网页篡改、黑链植入等异常 数据库监控 :检测数据库异常操作 异常用户检测 :监控系统新增用户等异常行为 六、注意事项 BARK推送内容不宜过长(受URL长度限制) 国内推荐使用BARK,境外VPS推荐使用Telebot 敏感信息推送建议使用HTTPS和自建BARK服务器 脚本执行权限和环境变量需正确配置 七、故障排查 Telebot无法使用:检查代理设置和网络环境 BARK推送失败:检查URL格式和网络连接 脚本不执行:检查文件权限和存放位置 推送延迟:检查服务器网络状况 通过以上方案,您可以构建一个高效的VPS实时监控预警系统,及时发现并响应服务器异常情况。