linux syslog

article/2025/8/22 22:46:15

linux syslog

  • 1. syslog 定义
    • 1.1 RFC3195
  • 2. syslog 组成
  • 3. syslog配置
    • 3.1 3CD 配置syslog 日志服务器
  • 4. syslog api
    • 4.1. c api 代码示例:
    • 4.2 syslog 例子2:

1. syslog 定义

在Unix类操作系统上,syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。

真实的例子:

May 17 13:55:56 192.88.8.121  May 17 05:55:37 2021 HANI %%10 
AUDIT_X/6/AUDIT_IPV4_LOG_X: -Slot=2.1; Protocol(1001)=TCP;SrcIPAddr(1003)=1.1.1.1;SrcPort(1004)=1111;
……

1.1 RFC3195

BSD syslog协议使用UDP协议在网络中传递;
然而UDP是一个不可靠的协议,并且syslog也没有要求接收方有所反馈。
为了解决这个问题,RFC又定义了一个新的规范来可靠的传递syslog消息,它使用TCP协议:

http://www.ietf.org/rfc/rfc3195.txt

到目前为止,RFC3195的应用还是很少见的。

2. syslog 组成

完整的syslog消息由3部分组成,分别是PRI、HEADER和MSG
完整的syslog日志中包含产生日志的程序模块(Facility)、严重性(Severity或 Level)、时间、主机名或IP、进程名、进程ID和正文。
由于syslog简单而灵活的特性,syslog不再仅限于 Unix类主机的日志记录,任何需要记录和发送日志的场景,都可能会使用syslog。

例子:

<30>Oct 9 22:33:20 hlfedora auditd[1787]: The audit daemon is exiting.
“<30>”是PRI部分,PRI部分由尖括号包含的一个数字构成,这个数字包含了程序模块(Facility)、严重性(Severity)“Oct 9 22:33:20 hlfedora”是HEADER部分,HEADER部分包括两个字段,时间和主机名(或IP)。“auditd[1787]: The audit daemon is exiting.”是MSG部分。MSG部分又分为两个部分,TAG和Content。其中TAG部分是可选的

3. syslog配置

守护进程:syslog
端口:514
配置文件:/etc/rsyslog.conf (centos7系统下)
常见日志文件:

/var/log/dmesg      内核引导信息日志
/var/log/maillog    邮件系统信息日志
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/messages :记录Linux操作系统常见的系统和服务错误信息
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
/var/log/cron :记录crond计划任务服务执行情况

3.1 3CD 配置syslog 日志服务器

看图:
在这里插入图片描述

4. syslog api

Linux C中提供一套系统日记写入接口,包括三个函数:openlog,syslog和closelog。
调用openlog是可选择的。如果不调用openlog,则在第一次调用syslog时,自动调用openlog。调用closelog也是可选择的,它只是关闭被用于与syslog守护进程通信的描述符。

void openlog (char*ident, int option, int facility); 
void closelog(); 
void syslog(int priority, char*format,……);priority参数的格式(severity level|facility code)示例:LOG_ERR|LOG_USER

4.1. c api 代码示例:

#include <syslog.h>int main() {setlogmask (LOG_UPTO (LOG_NOTICE));openlog ("Hani example log", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);syslog (LOG_NOTICE, "Program started by User %d", getuid ());syslog (LOG_NOTICE, "Hani is beautiful ok gaga");closelog ();
}

结果:

[root@localhost home]# tail /var/log/messages
……
Aug  5 22:50:01 localhost systemd: Started Session 713 of user root.
Aug  5 22:50:01 localhost systemd: Starting Session 713 of user root.
Aug  5 22:50:21 localhost journal: Hani example log[9806]: Program started by User 0
Aug  5 22:50:21 localhost journal: Hani example log[9806]: Hani is beautiful ok gaga
[root@localhost home]#

4.2 syslog 例子2:

#include <syslog.h>
#include <stdio.h>
#include <stdlib.h>
int main() {FILE *f = NULL;f = fopen ("nowhere", "r");if(!f)syslog(LOG_ERR|LOG.USER,"oops - %m\n");exit(0);
}

结果:

[root@localhost linux-]# gcc syslog.c 
[root@localhost linux-]# ./a.out 
[root@localhost linux-]# tail /var/log/messages
……
Oct 14 04:20:01 localhost systemd: Starting Session 1290 of user root.
Oct 14 04:26:20 localhost a.out: oops - No such file or directory
[root@localhost linux-]#

试图打开一个不存在的文件。在文件打开失败后,调用syslog在系统日志中记 录这一事件

参考:
https://www.cnblogs.com/skyofbitbit/p/3674664.html
https://zhuanlan.zhihu.com/p/62793386


http://chatgpt.dhexx.cn/article/GKk3bkBW.shtml

相关文章

Syslog 教程:工作原理、示例、最佳实践等

Syslog 是用于从各种网络设备以特定格式发送和接收通知消息的标准。这些消息包括时间戳、事件消息、严重性、主机 IP 地址、诊断等。就其内置的严重性级别而言&#xff0c;它可以传达 0 级、紧急、5 级、警告、系统不稳定、严重和 6 级和 7 级&#xff08;信息和调试&#xff0…

关于fidder

fidder教程 https://www.cnblogs.com/R-bear/p/7508133.html fidder抓包工具总结 https://www.cnblogs.com/yyhh/p/5140852.html 从别人那里截了几张图。觉得写的挺好的&#xff0c;保存下来&#xff0c;日后复看。

Python fidder的简单实用

Fidder 对中间数据进行拷贝 然后再发送给服务器 Winconfig->勾选IE->浏览IE->一点一拖看数据(选项卡定位到composer)

Fidder下载安装

一、登录Fidder官网&#xff1a;https://www.telerik.com/fiddler 二、在Fidder官网页点击下载 三、输入信息&#xff0c;点击下载windows版 四、对于弹出的Fidder可执行文件&#xff0c;点击“保存文件”进行下载 五、执行下载好的Fidder可执行程序&#xff0c;在弹出的条款…

Fidder显示抓取IP地址

1.打开fiddler, 快捷键CtrlR 或者 菜单->Rules->Customize Rules…&#xff0c;然后在CustomRules.js文件里CtrlF查找字符串&#xff1a;static function Main()&#xff0c;然后添加一行代码即可显示IP&#xff0c;代码如下&#xff1a; FiddlerObject.UI.lvSessions.…

学习Fidder和willow

自学fidder和willow Fidder是什么 一种Web调试工具可以记录所有客户端和服务器的http和https请求允许监视、设置断点、修改输入输出数据其包含了一个强大的基于事件脚本的子系统&#xff0c;并且能使用.net语言进行扩展 Fidder的工作原理 Fiddler是以代理web服务器的形式工…

fidder classic 界面介绍

界面划分 开始抓包 &#xff08;1&#xff09;默认情况下都是开启的&#xff0c;点击下图可以关闭或开启抓包。 &#xff08;2&#xff09;点击“file”----“capture traffic”也可以开始抓包 菜单栏 重要的菜单栏 reset script 重置你修改的脚本&#xff1b;在rules里&…

Fidder下抓取https

1、首先需要手机连接上Fiddler代理&#xff0c;而Fiddler默认是不允许其他设备进行连接的&#xff0c;点击 Tools > Options...&#xff0c;在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接 点击 Tools > Options...&#xff0c;在 HTTPS 面…

fidder使用

前言 本文会对Fidder这款工具的一些重要功能&#xff0c;进行详细讲解&#xff0c;带大家进入Fidder的世界&#xff0c;本文会让你明白&#xff0c;Fidder不仅是一个抓包分析工具&#xff0c;也是一个请求发送工具&#xff0c;更加可以当作为Mock Server使用&#xff0c;而且可…

Fidder应用(一)

Fiddler调式使用(一)深入研究 阅读目录 Fiddler的基本概念如何安装Fiddler了解下Fiddler用户界面理解不同图标和颜色的含义web session的常用的快捷键了解web Session上下文菜单Fiddler如何捕获firefox中的会话Fiddler如何捕获Https会话Fiddler的HTTP统计视图移动开发如何使用…

Fidder教程

一.Fiddler的基本介绍 Fiddler的官方网站:http://www.telerik.com/fiddler Fiddler官方网站提供了大量的帮助文档和视频教程,学习Fiddler的最好资料 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出…

fidder使用教程(一)

目录 一、抓包原理 二、Fiddler截获HTTP包用处 三、页面介绍 四、实际操作讲解 五、Fidder设置过滤&#xff08;抓取指定服务器地址的数据&#xff09; 六、web测试--弱网环境 七、Fiddler模拟接口测试&#xff08;自定义请求&#xff09; Fiddler打断点修改接口请求数…

【fidder】fidder工具的简单使用

文章目录 1、初识fidder1.1、fidder简介1.2、工作原理 2、理解http协议2.1、http协议2.2、http请求报文2.3.1、请求方法2.3.2、URL2.3.3、请求头部 2.3、http响应报文2.3.1、状态码2.3.2、响应头 3、fidder工具详解3.1、工具栏基本使用3.2、会话列表&#xff08;session list&a…

Fiddler的安装和使用教程(详细)

一、安装 1、fiddler工具下载网址&#xff1a;http://www.telerik.com/download/fiddler。 2、运行 FiddlerSetup.exe一键完成安装。 3、安装成功后点击关闭按钮&#xff0c;所选路径下多出一个Fiddler文件夹 4、运行fiddler.exe。 二、Fiddler的配置 1、Fiddler的抓包原理 Fi…

网络层(1.网络层提供的两种服务)

网络层应该提供怎样的服务&#xff0c;是面向“连接”还是“无连接”&#xff0c;本质上是在互联网通信中&#xff0c;可靠交付应该由谁来负责&#xff0c;是网络还是端系统。 1. 面向连接&#xff0c;让网络负责可靠交付 这种观点是借助电信网的成功经验&#xff0c;让网络负…

计算机网络(四)—— 网络层(1、2):网络层概述、网络层提供的两种服务

计算机网络系列内容的学习目录 → \rightarrow →谢希仁计算机网络学习系列内容汇总。 1. 网络层概述1.1 课后练习 2. 网络层提供的两种服务2.1 面向连接的虚电路服务2.2 无连接的数据报服务2.3 虚电路服务与数据报服务的比较2.4 课后练习 1. 网络层概述 ■ 网络层的主要任务是…

网络层(八)

网络层 文章目录 网络层网络层服务网络层的核心功能——转发与路由网络层的核心功能——建立连接网络层服务模型虚电路网络数据报网络数据报网络 or 虚电路网络 IP协议IP数据报格式IP分片IP编址无类域间路由&#xff08;CIDR&#xff09; 网络地址转换&#xff08;NAT&#xff…

第三层:网络层

第五章&#xff1a;网络层 网络层关注的是如何将源端数据包一路送到接收方&#xff0e;为了将数据包送到接收方&#xff0c;可能 沿途要经过许多跳&#xff08;hop&#xff09;中间路由器。这种功能显然与数据链路层的功能不同&#xff0c;数据链路层的目标没那么宏伟&#xf…

网络原理——网络层与数据链路层

JavaEE传送门 JavaEE 网络原理——No.3 传输层_TCP的滑动窗口, 流量控制与拥塞控制 网络原理——No.4 传输层_TCP协议中的延迟应答, 捎带应答, 面向字节流与TCP的异常处理 目录 网络层IP 协议IP 地址路由选择 数据链路层以太网 网络层 网络层做的工作, 就是两点之间, 规划出一…

网络层概述

网络层概述 因特网网络层的三个主要组件网络层的主要功能网络层的类型虚电路网络数据报网络 路由器的硬件体系结构 因特网网络层的三个主要组件 IP&#xff08;网际&#xff09;协议因特网路由选择协议ICMP&#xff08;因特网控制报文协议&#xff09; 网络层的主要功能 前面…