搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
喵喵爱编程
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
国内常用NTP服务器地址及IP_ntp服务器ip地址
2
系统集成项目管理工程师(软考中级)—— 第十章 项目立项管理 笔记分享
3
2024年华为OD机试真题-二叉树的广度优先遍历-Java-OD统一考试(C卷)
4
Python接口自动化测试实战系列
5
本科应届生22K拿下字节跳动和顺丰offer,看看你都会吗?_顺丰科技后台java应届生白菜价
6
启用dell服务器的iDRAC_dell服务器配置idrac ip地址
7
什么是零代码开发平台?它有哪些功能模块—白码_0代码开发平台后期可以汇总数据吗
8
算法巩固——旅行商问题
9
超好用资源分享-VMware Workstation Pro 17.5.2(最新版)包含下载及安装教程_vmware下载哪个版本
10
2024年8月HarmonyOS鸿蒙应用开发者高级认证全新题库_鸿蒙认证考试
当前位置:
article
> 正文
syslog-ng客户端,服务器配置_syslog-ng 过滤ip
作者:喵喵爱编程 | 2024-08-09 08:51:22
赞
踩
syslog-ng 过滤ip
整合syslog-ng
一、syslog-ng配置
二、syslog-ng 介绍
一、syslog-ng配置
syslog-ng客户端配置:
打开配置文件
sudo vi /etc/syslog-ng/syslog-ng.conf
首先,定义一个source,也就是日志来源。来源还有很多种定义方法,自己去研究手册就可以了。
source
my_log { unix-stream("/dev/log"); internal(); };
然后定义一个filter,就是过滤器。因为我只发送用户认证日志。
filter f_auth { facility(auth); };
然后定义一个目的地。就是我要把日志发送到什么地方。我使用的是tcp协议。(192.168.1.100就是我的中央日志服务器,它在25214端口监听。 )
destination center_log_server { tcp("192.168.1.100" port(25214)); }
然后定义发送命令
log { source(my_log); filter(f_auth); destination(center_log_server); };
syslog-ng服务端配置(也就是我的中央日志服务器配置) :
打开配置文件
sudo vi /etc/syslog-ng/syslog-ng.conf
首先,定义一个来源。就是我要从那里读日志(因为服务器在自己的25214端口监听,所以自然也是从那里读了
)。
source log_from { tcp(ip(192.168.1.100), port(25214)); };
定义一个目的地:
destination remote_log { file("/var/log/remote_log"); };
记录日志命令:
log { source(log_from); destination(remote_log); };
好了,配置文件就写好了。
然后创建一下你要把日志输出到的那个文件:
sudo touch /var/log/remote_log
然后重启客户端和服务端的syslog-ng进程。
sudo /etc/init.d/syslog-ng restart
好了,配置完毕。检验一下配置结果就行了。
可以用python的syslog模块来检验,非常方便的。
二、syslog-ng 介绍
在UNIX系统的维护中,经常会忽略系统事件的处理。经常检查系统日志对于保持系统的安全和正常运行是至关重要的。但是,系统日志中有太多的噪音,一些不是很重要的信息会掩盖重要的信息。目前的工具很难甄别出系统管理者感兴趣的信息。
用户可以通过指定facility/priority,把消息发到不同的地方。系统预先定义了12+8个(mail、news、auth等)facility,八个不同的优先级(alert到debug)。
这其中存在一个问题,大量的程序使用同样的facility(daemon),把日志都保存到一个文件中(messages),即使它们毫无关联。这样就造成用户很难筛选出自己感兴趣的东西。
第二个问题是,大多数的程序无法改变日志配置,只能修改软件的源代码。
因此,使用facility作为过滤不是一个好办法。最好能够有一些runtime选项,使用这些选项指定日志facility,建立新的facility。
syslog- ng的一个设计原则就是建立更好的消息过滤粒度。syslog-ng能够进行基于内容和优先权/facility的过滤。另一个设计原则是更容易进行不同防火墙网段的信息转发,它支持主机链,即使日志消息经过了许多计算机的转发,也可以找出原发主机地址和整个转发链。最后的一个设计原则就是尽量使配置文件强大和简洁。
syslog-ng的配置基于下面的架构:
LOG STATEMENTS『SOURCES - FILTERS -DESTINATIONS』
消息路径 『消息源 - 过滤器 - 目的站』
例如:
log { source(my_log); filter(f_auth); destination(center_log_server); };
一个消息路径是由一个或者多个日志消息源、一个或者多个过滤规则以及一个或者多个日志消息目的组成的。来自某个日志消息源的消息进入syslog-ng,如果消息命中某条规则,syslog-ng就把它发送到对应的日志消息目的。
消息源
一些日志消息源驱动器(source driver)组成一个消息源,这些驱动器使用给定的方法收集日志消息。譬如,有的syslog()系统调用使用的AF_UNIX、SOCK_STREAM风格的套接字源驱动器。
在配置文件中,你可以使用下面的语法声明一个日志消息源:
source { source-driver(params); source-driver(params); … };
identifier是给定消息源的唯一标志,但是这个标志符不能和保留字有冲突。
你可以控制使用哪个驱动器来收集日志消息,因而你需要知道你的系统和他的内部syslogd是如何通讯的。下面介绍一下某些平台中,syslogd是如何工作的。
Linux 一个叫作/dev/log的SOCK_STREAM unix套接字
BSD 一个叫作/var/run/log的SOCK_STREAM unix套接字
Solaris(2.5或以下) 一个叫做/dev/log的SVR4风格的STREAMS设备
solaris(2.6或以上) 除了2.6之前版本使用的STREAMS设备之外,使用了一种新的多线程IPC方法调用门。默认情况下,这个调用门是/etc/syslog_door,由syslogd使用。
在syslog-ng中,每个可能的通讯机制都有对应的日志消息源驱动器。例如:如果要打开一个SOCK_DGRAM风格的UNIX套接字进行通讯,你就会用到unix-dgram驱动器,同样SOCK_STREAM式的通讯需要unix-stream驱动器。
例2-1.Linux中的一个源指令
source src { unix-stream(“/dev/log”); internal(); udp(ip(0.0.0.0) port(514)); };
驱动器可以使用参数,参数有些是必需的,有些是可选的。必需的参数一般在前面。上面的指令中,/dev/log就是必需参数。
下面是可用的源驱动器:
internal syslog-ng内部产生的消息
unix-stream 打开指定的SOCK_STREAM模式的unix套接字,接收日志消息
unix-dgram 打开指定的SOCK_DGRAM模式的unix套接字,接收日志消息
file 打开指定的文件读取日志信息
pipe,fifo 打开指定的管道或者FIFO设备,读取日志信息
tcp 在指定的TCP端口接收日志消息
udp 在指定的UDP端口接收日志消息
sun-stream(s) 在solaris系统中,打开一个(多个)指定的STREAM设备,从其中读取日志消息。
internal()
所有syslog-ng内部产生的日志消息都来自这个日志消息源。如果你需要syslog-ng自身产生的警告、错误和提醒信息,就需要在配置文件中加入以下声明:
Declaration: internal()
如果这个消息源驱动器没有被引用,syslog-ng会向你输出报警信息。
例3-1.使用inernal()日志消息源驱动器
source s_local { internal(); };
unix-stream()和unix-dgram()
这 两个日志消息源驱动器比较相似,都打开AF_UNIX类型的套接字,在套接字上监听日志消息。unix-stream()主要用在Linux,使用 SOCK_STREAM参数,是面向连接的,不会造成日志消息的丢失;unix-dgram()用在BSD系统上,使用SOCK_DGRAM参数,是无连 接的,如果系统过载,会造成日志消息丢失。
在使用面向连接的协议时,为了避免造成拒绝服务攻击,需要对同时接受的连接数量进行闲置。这由max-connections()参数实现。
Declaration: unix-stream(filename [options]); unix-dgram(filename [options]);
以下选项可以用于unix-stream和unix-dgram日志消息源驱动器的声明:
名字 参数数据类型 描述 owner() 字符串 设置套接字的uid,默认是:root group() 字符串 设置套接字的gid,默认是:root perm() 数字 设置权限掩码。八进制数字以0开头,例如:0755表示rwxr-xr-x。 keep-alive() yes/no 当syslog-ng重启动,选择是否保持连接,只用于unix-stream()。默认是yes max-connections()数字 同时打开的连接的数目限制,只用于unix-stream()日志消息源驱动器。默认是10。
例3-2.使用unix-stream()和unix-dgram()日志消息源驱动器
source s_stream { unix-stream(”/dev/log” max-connections(10)); }; source s_dgram { unix-dgram(”/var/run/log”); };
tcp()和udp()
使用这两个日志消息源驱动器,你可以使用TCP或者UDP协议从网络上接受日志消息。
UDP是一种简单的用户数据报协议,使用这种协议可能会发生日志消息的丢失,而且这种协议没有重传机制;TCP是一种面向连接的传输层协议,不会造成日志消息的丢失。
这两种消息源驱动器都不需要位置参数。默认情况下,syslog-ng会绑定到0.0.0.0:514,在所有有效的端口上监听。可以使用localip()参数来限制其接受连接的端口。
注意:514端口是rshell使用的端口,因此如果syslog-log和rshell同时使用,你需要为syslog-ng选择另外的端口。
Declaration: tcp([options]); udp([options]);
下面是udp()和tcp()可用的选项:
选项名 数据类型 描述 默认值 ip或者iplocalip 字符串 绑定的IP地址 0.0.0.0
udp()和tcp()使用示例:
source s_tcp { tcp(ip(127.0.0.1) port(1999); max-connections(10); }; source s_udp { udp(); };
file()
通 常,内核会把自己的消息送到一个特殊的文件(BSD系统是/dev/kmsg,Linux系统是/proc/kmsg),因此你需要使用file()日志 消息源驱动器来指定这个文件。在Linux中,klogd会读取内核信息,并转发到syslogd进程,klogd在转发之前会对内核消息进行处理,使用 /boot/System.map文件中的符号名代替原来的地址。如果你不需要这种功能,可以使用-x参数运行klogd。
Declaration: file(filename);
file()日志消息源驱动器示例:
source s_file { file(”/proc/kmsg”); };
pipe()
pipe日志消息源驱动器打开一个命名管道,在这个命名管道监听日志消息。在HP-UX系统中,它用于内部日志消息的获得。
Declaration: pipe(filename);
注意首先你需要使用mkfifo建立命名管道。
例3-6.使用pipe()日志消息源驱动器
source s_pipe { pipe(”/dev/log”); );
sun-streams()
solaris使用STREAMS API把日志消息发送到syslogd进程。你必须在编译syslog-ng时加入这个特征。
新版solaris(>=2.51)中,STREAMS使用一个新的IPC调用门来投递日志消息。syslog-ng支持这种IPC机制。
例如:
引用
source s_sys {
file ("/proc/kmsg" log_prefix("kernel: "));
unix-stream ("/dev/log");
internal();
# udp(ip(0.0.0.0) port(514)); #如果取消注释,则可以从udp的514端口获取消息
};
※linux使用/dev/log作为SOCK_STREAM unix的套接字,BSD使用/var/run/log;
参数需要使用括号括住。
过滤器FILTERS
定义格式为:
引用
filter fliter_name { expression; };
含义:
fliter_name:一个过滤器标识
expression:表达式
表达式支持:
逻辑操作符:and(和)、or(或)、not(非);
函数:可使用正规表达式描述内容
过滤函数有:
引用
facility(,): 根据facility(设备)选择日志消息,使用逗号分割多个facility
level(,): 根据level(优先级)选择日志消息,使用逗号分割多个level,或使用“..”表示一个范围
program(regexp): 日志消息的程序名是否匹配一个正则表达式
host(regexp): 日志消息的主机名是否和一个正则表达式匹配
match(regexp): 对日志消息的内容进行正则匹配
filter(): 调用另一条过滤规则并判断它的值
例如:
filter f_filter2{
level(info..emerg) and
not facility(mail,authpriv,cron); };
※这里的level定义info,相当于syslog的.=info,并不包括更低的等级;
若需要包括更低的等级,请使用“..”表示一个等级范围;
另外,filter(DEFAULT),用于捕获所有没有匹配上的日志消息。filter(*)是无效的。
目的地DESTINATIONS
定义格式为:
引用
destination d_mesg{ destdriver params; destdriver params;
...
;};
含义:
d_mesg:一个目的地的标识
destdriver :目的地驱动器
目的地驱动器有:
file (filename) :把日志消息写入指定的文件
unix-dgram
(filename) :把日志消息写入指定的SOCK_DGRAM模式的unix套接字
unix-stream (filename) :把日志消息写入指定的SOCK_STREAM模式的unix套接字
udp
(ip),(port) :把日志消息发送到指定的UDP端口
tcp (ip),(port) :把日志消息发送到指定的TCP端口
usertty(username) :把日志消息发送到已经登陆的指定用户终端窗口
pipe(filename),fifo(filename) :把日志消息发送到指定的管道或者FIFO设备
program(parm) :启动指定的程序,并把日志消息发送到该进程的标准输入
举例:
destination d_mesg { file("/var/log/messages"); };
destination d_syslog { udp ("192.168.228.225" port(514)); };
※配合使用udp或tcp即可实现集中的日志服务器。注意,udp函数的写法上和消息源驱动器中的定义不同。
除了上述的消息路径定义外,syslog-ng还可以设定一些选项参数以优化其操作。
全局的选项参数,定义在配置文件的开头位置:
options { opt1; opt2; ... };
选项有:
chain_hostnames(yes|no) :是否打开主机名链功能,打开后可在多网络段转发日志时有效
long_hostnames(yes|no) :是chain_hostnames的别名,已不建议使用
keep_hostname(yes|no) :是否保留日志消息中保存的主机名称,否时,总是使用来源主机来作重写日志的主机名
use_dns(yes|no) :是否打开DNS查询功能,应使用防火墙保护使用syslog-ng的节点安全,并确认所有主机都是可以通过dns解释的,否则请关闭该选项。
use_fqdn(yes|no) :是否使用完整的域名
check_hostname(yes|no) :是否检查主机名有没有包含不合法的字符
bad_hostname(regexp) :可通过正规表达式指定某主机的信息不被接受
dns_cache(yes|no) :是否打开DNS缓存功能
dns_cache_expire(n) :DNS缓存功能打开时,一个成功缓存的过期时间
dns_cache_expire_failed(n) :DNS缓存功能打开时,一个失败缓存的过期时间
dns_cache_size(n) :DNS缓存保留的主机名数量
create_dirs(yes|no) :当指定的目标目录不存在时,是否创建该目录
dir_owner(uid) :目录的UID
dir_group(gid) :目录的GID
dir_perm(perm) :目录的权限,使用八进制方式标注,例如0644
owner(uid) :文件的UID
group(gid) :文件的GID
perm(perm) :文件的权限,同样,使用八进制方式标注
gc_busy_threshold(n) :当syslog-ng忙时,其进入垃圾信息收集状态的时间。一旦分派的对象达到这个数字,syslog-ng就启动垃圾信息收集状态。默认值是:3000。
gc_idle_threshold(n) :当syslog-ng空闲时,其进入垃圾信息收集状态的时间。一旦被分派的对象到达这个数字,syslog-ng就会启动垃圾信息收集状态,默认值是:100
log_fifo_size(n) :输出队列的行数
log_msg_size(n) :消息日志的最大值(bytes)
mark(n) :多少时间(秒)写入两行MARK信息供参考,目前没有实现
stats(n) :多少时间(秒)写入两行STATUS信息供,默认值是:600
sync(n) :缓存多少行的信息再写入文件中,0为不缓存,局部参数可以覆盖该值。
time_reap(n) :在没有消息前,到达多少秒,即关闭该文件的连接
time_reopen(n) :对于死连接,到达多少秒,会重新连接
use_time_recvd(yes|no) :宏产生的时间是使用接受到的时间,还是日志中记录的时间;建议使用R_的宏代替接收时间,S_的宏代替日志记录的时间,而不要依靠该值定义。
例如:
options {
sync (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (yes);
};
部分函数的参数
syslog-ng除了有全局选项参数外,不同的函数还可以定义其参数,其中包括:
1、扩展file的宏
HOST 日志消息的源发主机名。如果日志消息穿过几个主机,并且chain_hostname()功能已经打开,就使用第一个主机名。
FACILITY :日志消息来自的日志设备
PRIOPRITY/LEVEL :日志消息的优先级
PROGRAM :发送日志消息的程序
YEAR :发送日志消息的年份,这个宏既可以指定日志消息送出的时间,也可以指定日志消息收到的时间。这由use_time_recvd()选项控制
MONTH :发送日志消息的月份
DAY :发送日志消息的日子
HOUR :小时
MIN : 分钟
SEC :秒
2、file的参数
例如:log_file_size()、sync()、owner()、perm()等,请参考上面的全局设定
3、tcp和upd的参数
ip(xxx.xxx.xxx.xxx): 定义绑定的IP地址
port(n):定义绑定的端口
max-connections(n) : 定义最大连接数
※TCP基于连接方式传输,不会造成日志丢失,而UDP则不同。但因为传统的syslog基于UDP的514端口,所以,UDP方式也经常会使用到。
另外,514也是rshell的默认端口,请注意冲突。
举例:
destination d_mail { file("/var/log/maillog" sync(10)); };
这里定义的sync(10)会覆盖全局配置,表示若写入的日志数量达到10,才写入maillog文件。
关于垃圾收集状态
当满足一定的条件,syslog-ng即会进入垃圾收集状态,而暂时不再接受日志信息。这时,会造成非连接的传输协议的日志丢失(例如UDP)。通过设置下面两个选项可以控制:
gc_idle_threshold(n) :
意思是,一旦被分派的对象到达这个数字,并且当syslog-ng空闲时(100微秒内没有日志消息到达)。此时,syslog-ng就会启动垃圾信息收集状态。
已分配的对象可通过-v命令行参数指定其的最小值。而syslog-ng这个值应该比较小,但比已分配的对象要大即可。
例如,空闲状态,syslog-ng会显示:
Nov 13 16:35:35 syslogng syslog-ng[4510]: STATS: dropped 0
Nov 13 16:45:35 syslogng syslog-ng[4510]: STATS: dropped 0
当忙时:
gc_busy_threshold(n) :当syslog-ng忙时,一旦分派的对象达到这个数字,syslog-ng就进入垃圾信息收集状态的时间。该值应该比较高,以保证正常情况下不会打断日志消息的收取。
filter F1; filter F2; ... destination
D1; destination D2; ... };
把消息源、过滤器、消息目的组合起来就形成一条完整的指令。日志路径中的成员是顺序执行的。凡是来源于指定的消息源,匹配所有指定的过滤器,并送到指定的地址。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/喵喵爱编程/article/detail/952394
推荐阅读
article
Android
Studio
使用之 -- 更改
FileHeader
_
androidstudio
fi...
Android
开发中,我们常常会在类名上方写上作者的基本信息,可是默认的
FileHeader
中只包括了 ${USER}、...
赞
踩
article
Go语言
实现
区块
链
与加密货币-
Part1
(基本原型、
工作量
证明
、持久化)_new
block
(
data
...
本文介绍了如何使用Go语言
实现
一个简化版的
区块
链
,包括基本数据结构、
工作量
证明
(Proof-of-Work)机制以及持久...
赞
踩
article
华为
hcie
认证
工程师
NFV
基本概念
网工必看!_
nfvi
工程师
认证
...
华为
hcie
认证
工程师
NFV
基本概念
网工必看!上次介绍到
NFV
的标准架构包含了
NFV
I、MANO以及VNFs三个部分。...
赞
踩
article
comfyui
节点
编写示例
文件
(下)
_
comfyui
创建
自定义
节点
...
4、这个
节点
干了啥,定义函数、输出结果。3、
节点
指定任务、输出啥。1、先看示例
文件
的结构。5、多个
节点
,就多个类。
_
co...
赞
踩
article
ComfyUI
反推提示词节点报错:Load
model
failed_error
occurred
...
反推提示词的时候会提示报错:Error
occurred
when
executing
WD14Tagger|pysss...
赞
踩
article
如何在浏览器
Web
前端
在线
编辑
PPT
幻灯片
?_
前端
实现
可
编辑
ppt
...
有时候在项目中我们会遇到需要在网页在线打开并
编辑
PPT
文档保存到本地或者服务器指定位置,猿大师办公助手可以很方便的调用本...
赞
踩
article
访问
方式
数据
结构
_
一本正经
的聊
数据
结构
(5):
二叉树
的存储
结构
与遍历...
前文传送门:「
一本正经
的聊
数据
结构
(1):时间复杂度」「
一本正经
的聊
数据
结构
(2):数组与向量」「
一本正经
的聊
数据
结构
(...
赞
踩
article
Dropout
层
到底
在
干些什么(
Pytorch
实现
)...
Dropout
是一种正则化技术,通过随机置零隐藏
层
神经元来缓解过拟合。
在
Pytorch
中,
Dropout
层
在
训练模式下...
赞
踩
article
Arduino
开发板DIY简易
机械
臂
_
arduino
机械
臂
...
机械
臂
由
Arduino
,舵机和MeArm硬件组成,
Arduino
通过程序驱动舵机,控制
机械
臂
,简单地实现
机械
臂
的功能。舵...
赞
踩
article
KP15052SPA
非隔离
12V700mA
贴片
SOP8
电源管理
芯片
...
同时
芯片
采用了多模式 PWM 控制技术,有效简化了外围电路设计,提升线性调整率和负载调整率并消除系统工作中的可闻噪音。此...
赞
踩
article
Stable
Diffusion
教程:
文生
图_
stable
diffusion
每一个指令是什么意思...
本文详细介绍了
Stable
Diffusion
中的
文生
图功能,包括基础模型选择、提示词的使用技巧、反向提示词、采样器和采样...
赞
踩
article
windows
安全
中心
设置@
WindowsDefender
@
windows
安全
中心
常用开关_wind...
本文探讨了如何临时关闭
WindowsDefender
的实时防护,以避免内存占用问题,包括使用软件工具如DefenderC...
赞
踩
article
1.
Python
的
print
( )
输出
函数
_请
使用
print
函数
输出
i'mfromchina...
本文介绍了
Python
中的
print
()
函数
,包括其作用、语法、四种用法,并通过实例展示了如何
输出
数字、字符串和带有换行...
赞
踩
article
Linux
git
服务器
搭建 配置IDEA
git
_
idea
linux
git
...
1.
linux
上创建
git
用户 ,作为
git
服务管理员 2.安装
git
服务器
3.window 客户端安装3.客户...
赞
踩
article
内网渗透隧道构建,
使用
github
项目联动
msf
绕
uac
,
使用
简单的
spp
来进行操作
icmp
隧道_m...
我们还是照样生成
msf
的后面文件,然后我们在
绕过
uac
的时候,前面讲的是
使用
msf
内置模块,但是那个
绕过
的成功率比较低,...
赞
踩
article
机器翻译
中分词方法
--
BPE
(
Byte
Pair
Encoding
)_
机器翻译
bpe...
本文详细介绍了
机器翻译
中的
Byte
Pair
Encoding
(
BPE
)算法,对比了传统空格分隔tokenization...
赞
踩
article
流体
对
阀门
会
造成
哪些
影响
!_
阀门
流体
分析...
流体
对
阀门
会
造成
哪些
影响
!
流体
对
阀门
会
造成
哪些
影响
! 磨蚀
影响
流体
颗粒磨损的因素有很多:颗粒大小、
流体
介质中的...
赞
踩
article
vscode
只
修改
几
行
,
git
却显示整个
文件
都被
修改
_
vscode
查看
代码
但
是
没有改动
代码
,
会造成g...
本文讨论了不同操作系统对回车换
行
符的不同处理
,
重点介绍了如何在Windows和Unix/Linux/Mac系统中避免Gi...
赞
踩
article
JMX
监控
Kafka
offset,
kafka
流量监控,
kafka
metrics
...
JMX
监控
Kafka
offset,
kafka
流量监控,
kafka
metrics
_jmx监控
kafka
jmx监控kaf...
赞
踩
article
【零基础学
STM32
】
CubeMX
+
HAL
喂狗
小
教程
_
stm
喂狗
...
这篇博客介绍了
STM32
的IWDG和WWDG看门狗的原理及配置方法,通过
CubeMX
设置时钟源和参数,并在
HAL
库中实现...
赞
踩
相关标签
StudioFileHeader
FileHeader
AndroidFileHeader
Go语言
区块链
加密货币
工作量证明
持久化挖矿
python
stable diffusion
comfyui
报错处理
反推提示词
tagger
图像提示词
powerpoint
chrome
ppt
猿大师办公助手
OFFICE
访问方式 数据结构
pytorch
深度学习
人工智能