天眼日志检索语法及协议字段
文章目录
一、天眼日志检索语法
(1)布尔运算符(AND、OR、NOT)
日志检索系统支持AND OR NOT
三种运算符(运算符要大写
)。
AND 运算符(AND、&& 或 +)
AND运算符关联两部分内容、代表两部分内容必须同时存在
实例:dip:10.16.16.46 AND client_os:“Windows7 or 8”
OR 运算符(OR 或 ||)
OR运算符关联两个项或短语,任意一个匹配即满足
实例:dport:“443” OR dport:“8080”
NOT 运算符(NOT、!或 -)
NOT运算符排除含有NOT运算符后面的项或短语记录。相当于非运算符。
实例:dport:“80” NOT host:“www.example.com”
(2)基本搜索语法
搜索语句一般由“字段名称”、“项”以及“运算符”
三大元素组成。
(3)项
- 短语搜索运算符" "
短语运算符将短语括在引号 " " 中。 例如,Roach Motel(没有引号)会以任何顺序
在任何位置搜索包含 Roach 和/或 Motel 的文档,而 “Roach Motel”(带引号)只
会匹配包含整个短语并按该顺序排列的文档(文本分析仍然适用)。 - 优先运算符()
优先运算符将字符串括在括号 ( ) 中。 例如,motel+(wifi | luxury) 将搜索包含
motel 词条以及 wifi 或 luxury(或两者)的文档。 - 分组
( jakarta OR apache) AND jakarta - 字段分组
title:(+return +“pink panther”)
host:(baidu OR qq OR google) AND host:(com OR cn)
(4)高级查询语法
-
通配符查询
支持在一个项内的单个和多个字符的通配符搜索。使用问号(?)表
示单个字符的通配符搜索,使用星号(*)表示多个字符的通配符搜索。
多字符的通配符搜索寻找零个或多个字符。
示例:搜索单词 mssql 或 mysql可以使用
db_type:m?sql (不加引号) -
范围查询
查询所指定的上限和下限之间的字段值的记录匹配。可用于 数值 /时间 / IP 类型的字段。包含上下限范围的查询通过方括号和运算符 TO来表示。
示例:搜索IP范围 ["192.168.0.0" TO "192.168.255.255"]
注:搜索的关键字尽量不要包含特殊符号+ - && || ! ( ) { } [ ] ^ " ~ * ? : \以上特殊字符如果包含在搜索的关键字内,需要使用“\”转义。
二、协议字段介绍
(1)分析平台日志检索
在该页面可以查看告警日志、网络日志、终端日志以及第三方日志
等。
- 告警日志:威胁告警、webshell上传、网页漏洞利用、网络攻击、威胁情报告警、沙箱检测告警、邮件威胁检测告警、蜜罐告警、网神云锁
- 网络日志:web访问、TCP流量、文件传输、域名解析、SSL加密传输、数据库操作、FTP控制通道、登录动作、网络异常报文、LDAP行为、邮件行为、MQ流量、网络阻断、TeInet行为、UDP流量
- 终端日志:IM文件传输、邮件附件传输、DNS访问审计、终端进程信息、U盘文件传输
三、威胁告警检索字段
字段 | 注释 | 备注 |
---|---|---|
attack_sip | 攻击者IP | |
alarm_sip | 受害者IP | |
attack_type | 攻击类型 | |
is_web_attack | 用于标记告警是否是web告警 | 0:否/1:是 |
hazard_level | 威胁级别 | 威胁级别标识取值:0-10 |
四、网络协议字段
字段 | 注释 | 备注 |
---|---|---|
access_time | 日志生成时间 | 传感器采集到该数据包并解析完成生成日志的时间戳 |
@timestamp | 时间戳 | 日志在分析平台存储入库时添加 |
sip | 源IP | 网络数据流的发起IP |
sport | 源端口 | 网络数据流的客户端应用端口 |
dip | 目的IP | 网络数据流的服务端IP |
dport | 目的端口 | 网络数据流的服务器应用端口 |
geo | IP对应的地理位置 |
五、TCP/UDP协议
1、TCP协议
-
特点
①数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组;
②到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认;
③超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片;
④滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出;
⑤失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层;
⑥重复处理:作为IP数据报来传输的TCP分片会发生重复,TCP的接收端必须丢弃重复的数据;
⑦数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发。
-
三次握手
2、UDP协议
-
特点
①UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
②由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
-
报文格式
3、TCP/UDP协议字段
字段 | 注释 | 备注 |
---|---|---|
proto | 协议 | IP包中协议字段值 |
uplink_length | 上行字节数 | 从TCP流的建立到该流的结束,从客户端发往服务器端的应用层数据的字节总数 |
downlink_length | 下行字节数 | 从TCP流的建立到该流的结束,从服务器端发往客户端的应用层数据的字节总数 |
src_mac | 源MAC | TCP数据流客户端发往服务端的数据包,源MAC地址 |
dst_mac | 目的MAC | TCP数据流客户端发往服务端的数据包,源MAC地址 |
up_payload | 上行前100字节 | 从TCP流的建立起,从客户端发往服务器端应用层的前100个字节 |
down_payload | 下行前100字节 | 从TCP流的建立起,从服务器端发往客户端应用层的前100个字节 |
六、HTTP协议
1、HTTP请求方式
根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法:GET、POST和HEAD方法。
HTTP1.1新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE和CONNECT方法
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定页面信息,并返回实体主体 |
2 | HEAD | 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报文头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立或已有资源的修改。 |
4 | PUT | 从客户端向服务器发送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1协议中预留给能够将连接方式改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
9 | PATCH | 是对PUT方法的补充,用来对已知资源进行局部更新。 |
2、HTTP协议字段
字段 | 注释 | 备注 |
---|---|---|
method | HTTP请求方法 | HTTP包头的method字段,最常见:GET和POST |
uri | 请求的资源 | HTTP包头的URI字段 |
host | 请求的域名 | HTTP包头的host字段 |
cookie | Cookie | HTTP包头的cookie字段 |
agent | 请求者信息 | HTTP包头中的user-Agent字段 |
referer | 链接来源 | HTTP包头的referer字段 |
xff | 请求端真实IP和代理 | HTTP包头的XFF字段 |
data | 传送的数据 | POST类型的报文,截取POST的部分原始数据,最多1000字节 |
3、HTTP状态码
状态码 | 状态码英文名 | 中文描述 |
---|---|---|
100 | Countinue | 继续。客户端应继续其请求。 |
200 | OK | 请求成功。一般用于GET请求和POST请求。 |
302 | Found | 临时移动。与301类似,但资源只是临时移动,客户端应继续使用原有的URI。 |
400 | Bad Request | 客户端请求的语法错误,服务器无法理解。 |
401 | Unauthorized | 请求要去用户的身份认证。 |
402 | Payment Request | 保留,将来使用。 |
403 | Forbidden | 服务器理解客户端的请求,但是拒绝执行此请求。 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置“您所请求的资源无法找到”的个性页面。 |
405 | Method Not Allowed | 客户端请求中的方法被禁止。 |
500 | Internal Server Error | 服务器内部错误,无法完成请求。 |
502 | Bad Geteway | 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效响应。 |
4、HTTP X-Forwarded-For
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的
客户端最原始的IP地址的HTTP请求头字段。
每经过一个代理设备,设备可添加一个proxyN,这个字段是否可信取决于上一跳设
备是否可信。
X-Forwarded-For: client1, proxy1, proxy2, proxy3
5、HTTP referer
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般
会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得
一些信息用于处理。
Referer字段是分析漏洞利用行为时的重要参考字段,进行辅助溯源,判断告警
触发方式。
七、DNS协议
(1)域名
http://www.163.com/index.html
1)http://:这个是协议,也就是HTTP超文本传输协议,也就是网页在网上传输的协议。
2)www:这个是服务器名,代表着是一个邮箱服务器,所以是mail.
3)163.com:这个是域名,是用来定位网站的独一无二的名字。
- www.163.com:这个是网站名,由服务器名+域名组成。
5)/:这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录
6)index.html:这个是根目录下的默认网页(当然,163的默认网页是不是这个我不知道,
只是大部分的默认网页,都是index.html)7)http://www.163.com/index.html:这个叫做URL,统一资源定位符,全球性地址,用于
定位网上的资源。
国家顶级域名:中国:cn 美国:us 英国:uk
通用顶级域名:com公司企业,edu教育机构,gov政府部门,int国际组织,mil军事部门,net网络,org非盈利组织
(2)查询方式
- 递归查询:发生在客户端到本地DNS服务器(找到才回答)
- 迭代查询:发生在本地DNS服务器向根、顶级域名服务器请求(有问有答)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WZmPe5MR-1685707617031)(img/1684045227269.png)]
(3)DNS协议字段
字段 | 注释 | 备注 |
---|---|---|
dns_type | DNS访问类型 | 表示是请求报文还是响应报文;0代表DNS请求,1代表DNS响应 |
host | Host | 请求的域名信息 |
addr | 地址资源 | DNS的A记录,表示该host对应的IP地址信息;可能有多个记录 |
mx | 邮件交互记录 | DNS的MX记录 |
cname | 域名的规范名称 | DNS的CNAME记录,表示该host域名的其他别名记录 |
reply_code | DNS响应结果状态 | DNS响应报文中Flags字段中的Reply code信息 |
八、SSL协议字段
字段 | 注释 | 备注 |
---|---|---|
version | 版本号 | SSL的版本号 |
sesson_id | 会话id | 本次会话的session_id, server hello 报文中的session_id |
server_name | 服务器名字 | SSL client_hello报文中的扩展字段 通过该字段判断客户端和哪个站点进行交互。 |
issuer_name | 每封证书中的颁发者的名字 | 每封证书中的颁发者的名字 |
notbefore | 该证书的有效期的起始时间 | 该证书的有效期的起始时间 |
notafter | 该证书的有效期的结束时间 | 该证书的有效期的结束时间 |
public_key | 该证书的公钥 | 该证书的公钥 |
user_name | Sever端的证书的持有者 | 最上层证书的使用者,即本次SSL连接Sever端的 证书的持有者 |
九、文件传输协议字段
字段 | 注释 | 备注 |
---|---|---|
proto | 协议 | 协议名称;FTP/SMB/HTTP |
trans_mode | 传输模式 | 文件的传输模式;对于源ip来说,upload表示上传,download表示下载 |
file_name | 文件名字 | |
file_md5 | 文件md5 | 对于文件内容计算MD5 |
mime_type | 文件类型 | 文件类型 |
uri | 传输的资源及路径 | HTTP包头的uri字段 |
host | 域名 | HTTP包头的host字段 |
referer | 链接来源 | HTTP包头的referer字段 |
status | 状态码 | 承载该文件的HTTP响应报文的返回码 |
file_dir | 标示文件方向 | 文件的传输方向;0 代表服务端传往客户端 ,1 代表客户端传往服务端 |
method | 方法 | HTTP包头的Method字段 |
十、登录协议
字段 | 注释 | 备注 |
---|---|---|
proto | 应用的协议 | 登录行为数据流属于的应用协议;ftp, smb, oracle, mysql,mssql, postgresql, ssh, pop3, smtp |
password | 登陆密码 | 登录使用的密码 |
info | 登陆结果 | 登录操作的结果:成功或者失败,FTP协议会记录具体信息 |
user | 用户名 | 登录使用的用户名 |
db_type | 数据库类型 | 当登录的是数据库时,该字段会有数值,表示数据库具体类型;mssql,oracle,MySQL,postgresql四种 |
normal_ret | 登录或数据库操作结果的归一化展示 | success,failed |
十一、邮件查询字段
字段 | 注释 | 备注 |
---|---|---|
proto | 应用协议 | 邮件使用的应用协议; pop3, smtp, imap,webmail |
time | 邮件发送/接收时间 | 邮件包头中的邮件发送/接收时间 |
from | 邮件发送人 | 来自于邮件头相应字段 |
to | 邮件接收人 | 来自于邮件头相应字段 |
cc | 邮件抄送人 | 来自于邮件头相应字段 |
subject | 主题 | 来自于邮件头相应字段 |
references | 被当前邮件回复的邮件ID | 来自于邮件头相应字段 |
attach_name | 附件名字 | 来自于邮件头相应字段 |
attach_md5 | 附件md5 | 来自于邮件头相应字段 |
mime_type | 附件mime_type(字典库) | 来自于邮件头相应字段 |
plain | 邮件正文 | 来自于邮件头相应字段 |
十二、数据库字段
字段 | 注释 | 备注 |
---|---|---|
proto | 数据库应用协议 | 根据报文中得到的协议字段转为可读的字符串;tds:mssql;tns:oracle;mysql:mysql;postgresql:postgresql |
version | 协议版本 | 协议的版本号 |
user | 用户 | 报文提取 |
dn_name | 数据库 | 报文提取 |
db_type | 数据库类型 | mssql,oracle,mysql,postgresql四个值 |
ret_code | 数据库操作返回的状态信息 | sql语句执行的结果,Success或具体的失败信息 |
sql_info | 操作信息 | 报文提取的sql语句 |