- 博客(10)
- 资源 (7)
- 收藏
- 关注
原创 curl命令使用
命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:# curl [option] [url]常见参数:-A/--user-agent 设置用户代理发送给服务器-b/--cookie
2016-10-28 16:11:49 2861
原创 CentOS 7 安装 daemontools
Daemontools是管理Unix服务的工具,它提供一组工具来管理一系列用户进程,当进程由于某些原因down掉之后,daemontools会自动重启进程注意被管理的进程不能以daemon形式运行,例如nginx.conf 必须关闭daemon, daemon off; 不要在/service/建任何目录, /service/只存放一些symbol link 只需要完成安装 / 配置两步即可
2016-10-20 22:42:41 7389
原创 关于编译时报implicit-function-declaration(隐式声明)错误的解决方法
隐式声明这块的处理一般来说是必须的,但有时候处理这方面的问题真的很让人头疼。有个比较省力的方法,在编译时将“-Werror-implicit-function-declaration”这句话删掉。我是在整个工程里面搜索这句话,发现在configure里面,然后就是将configure里面的这名删掉,就可以编译了。
2016-10-20 13:49:58 58698 4
原创 suricata 3.1 源码分析32 (FlowWorker处理流程1)
TmEcode FlowWorker(ThreadVars *tv, Packet *p, void *data, PacketQueue *preq, PacketQueue *unused){ FlowWorkerThreadData *fw = data;/*FlowWorkerThreadInit中初始化,包含大量stats统计指标,decode指标在DecodeThreadV
2016-10-18 17:54:14 3297 2
原创 suricata 3.1 源码分析31 (RespondReject)
简介 RespondReject工作在worker线程,在FlowWorker模块之后对数据包进行处理。此处主要的作用是直接对符合过滤规则的数据包进行阻断并回复,从而使得数据包不会流入后续的操作模块。个人理解这点在IPS模式时会十分有用,可以阻断网络攻击、爬虫等。原码分析 函数RespondRejectFunc只支持IPv4和IPv6的数据包回复,因此其中只调用了4个函数:RejectSendI
2016-10-14 16:09:09 2020
原创 suricata 3.1 源码分析30 (packet_pool处理流程)
简介suricata中的packet_poo是专门用于存放receive线程抓到的数据包的。 receive线程初始化时在TmThreadsSlotPktAcqLoop中调用PacketPoolInit来初始化它的packet_pool,并为packet_pool划分内存空间。默认是申请1024个packet结构大小的空间,以链表的开示存储。这里的packet_pool被记为“my_pool”,也
2016-10-13 18:07:08 3727 1
原创 suricata 3.1 源码分析29 (数据包队列)
这块的东西我现在还没有用到,所以很不厚道的抄了背着笔记本流浪的原文下来。简介Suricata中使用队列来缓存数据包,包括缓存线程模块内部新产生数据包的线程内队列,以及线程之间用来传递数据包的线程间队列。 用于表示数据包队列的结构体为PacketQueue,其定义如下(省略了调试相关字段): typedef struct PacketQueue_ { Packet top; / 头指针
2016-10-12 13:21:33 3081
原创 suricata 3.1 源码分析28 (数据包TCP解码)
int DecodeTCP(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, uint8_t *pkt, uint16_t len, PacketQueue *pq){ StatsIncr(tv, dtv->counter_tcp); if (unlikely(DecodeTCPPacket(tv, p,pkt,len) < 0))
2016-10-11 09:47:12 2902
原创 suricata 3.1 源码分析27 (数据包IPv4解码)
int DecodeIPV4(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, uint8_t *pkt, uint16_t len, PacketQueue *pq){ StatsIncr(tv, dtv->counter_ipv4); SCLogDebug("pkt %p len %"PRIu16"", pkt, len);
2016-10-10 13:26:55 2092
原创 suricata 3.1 源码分析26 (数据包VLAN解码)
由于VLAN可能嵌套,因此Packet结构体中使用以下相应字段进行记录: 字段含义vlan_idx当前的vlan层数,初始为0,最多为2,即最多只能嵌套一层VLAN,否则会报错。vlan_id[2]记录每一层的VLAN ID(共12位,可表示4096个VLAN),通过GET_VLAN_ID获得。vlanh[2]记录每一层的VLAN头指针(VLANHdr *类型)。/** * \internal
2016-10-09 14:34:16 1894
mysql-connector-odbc-noinstall-5.1.13-winx64.zip
2016-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人