摘要:
slowhttptest介绍 Slowhttptest是依赖HTTP协议的慢速攻击DoS攻击工具,设计的基本原理是服务器在请求完全接收后才会进行处理,如果客户端的发送速度缓慢或者发送不完整,服务端为其保留连接资源池占用,大量此类请求并发将导致DoS。 攻击模式 slowloris:完整的http请求 阅读全文
摘要:
jmeter是跨平台组件,可在多平台下运行。一般,我在windows下用GUI编写脚本,然后在linux下运行 必备安装包 1. apache jmeter 3.2.zip https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/ap 阅读全文
摘要:
list_for_each(pos, head) pos、head 都为list类型 一般来说,head是list的虚拟头,依次取list上的各个节点 container_of(ptr, type, member) ptr:现已知的指针 type:要求的结构体类型 member:指针在结构体中的名称 阅读全文
摘要:
@(工作总结) 基本信息 全文 摘要(hash) 摘要 数字签名(私钥加密) 数字签名随全文一起发送,用于验证全文的完整性。 接收方接收到文件,用对应的公钥解密数字签名,得到摘要,对文件hash,然后对比摘要,一致则文件没被篡改过。 公钥的真实性如何保证? 找CA(certificate autho 阅读全文
摘要:
haproxy的内存管理中,通过pool_head free_list,存储空闲内存块,free_list是个二级指针,却把空闲内存块都串了起来,没有用next,pre之类的指针。怎么实现的?着实思考了半个小时才明白。 pool_head结构: 可知,free_list是个二级指针,二级指针是指向指 阅读全文
摘要:
haproxy内存池概述 内存池按照类型分类,每个类型的内存池都有一个名字,用链表记录空闲的内存块,每个内存块大小相等,并按照16字节对齐。 haporxy用pool_head 结构记录内存池 在程序执行过程中,产生的内存池,很有可能按照大小,排列成如下方式: 内存池的创建 haproxy创建内存池 阅读全文
摘要:
在数据量大的时候,硬中断和软中断会形成瓶颈。 网卡接收数据包,从网卡产生中断信号,CPU将网络数据包拷贝到内核,然后进行协议栈的处理,最后将数据部分传递给用户空间,但硬件中断处理仅仅做从网卡拷贝数据的工作,而协议栈的处理的工作就交给软中断处理。所以当硬中断和软中断集中在cpu0的时候,会给调度带来负 阅读全文
摘要:
被TIME_WAIT问题烦得不行,又发现了另一种解决方式,SO_LINGER. 对SO_LINGER解释最通用的自然是《UNP》,现摘录如下 SO_LINGER的值用如下数据结构表示: struct linger { int l_onoff; /* 0 = off, nozero = on */ i 阅读全文
摘要:
一、报文格式 http报文的三个组成部分 1.起始行,在请求报文中,起始行用于说明要做什么,响应报文中,起始行用于说明发生了什么。 2.首部字段,起始行后跟随零个或多个首部字段,首部字段为key:value的格式。首部以空行为结束。 3.主体,在空行后即为主体,主体部分是可选的,可以没有。 这是请求 阅读全文
摘要:
最近用http_load做压测,跑出来一大串“Cannot assign requested address ”的错误,查了一下,是TIME_WAIT过多导致的。因为短时间内有太多连接,所以占用了大量端口,同时关闭连接后又处于TIME_WAIT状态,端口不能复用,所以慢慢的无端口可用,所以就“Can 阅读全文