Suricata规则编写——HTTP关键字

1.简介

之前的常用关键字中介绍了content以及许多修饰它的关键字,除此之外,http协议中还有一些修饰content的关键字,也是由于http协议使用量较大,关键字较多,因此单独拿出来学习。参考:HTTP协议-维基百科

2.Request和Response

http协议包括了http request和http response数据包。通常,由HTTP客户端发起一个request请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如”HTTP/1.1 200 OK”,以及返回的内容,如请求的文件、错误消息、或者其它信息。

2.1 http request

http request请求包括请求行、请求头、空行和内容。一个普通的request请求如下:

这里写图片描述

红框部分是请求行,GET表示http method,除了GET还有POST,PUT,HEAD等;后面的/webshell/c99_locus7s.php则是http uri;HTTP/1.1则是版本,可以是0.9、1.0和1.1。绿框部分是请求头,也就是http head,除了HOST字段必须要有,其余字段都是可选的。蓝框部分是空行,只允许有\r\n。由于这个包是GET方法,因此没有内容,如果是POST等方法后面会跟上内容。

2.2 http response

http response应答包括应答行,头部,空行和内容,整体结构和request差不多,下图是针对上节request的应答包:

这里写图片描述

红框部分,HTTP/1.1是http版本,后面的200是返回的状态码,OK是状态信息。绿框部分是http header,蓝框部分则是返回的html页面,也就是结果。

3.HTTP关键字

3.1 http_method

http_method是content的修饰符,表示其所修饰的content只匹配http method部分。http可以使用的方法包括:GET, POST, PUT, HEAD, DELETE, TRACE, OPTIONS, CONNECT和PATCH。下面这个例子匹配GET方法,无论是否加http_method都能匹配:

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值