【网络攻击】阿基里斯测试仪测试导致协议栈崩溃解决办法
问:【网络攻击】阿基里斯测试仪测试导致协议栈崩溃解决办法
测试方法:
发送 ip fragment 报文,10M 流量,测试报文一直没有最后一片的标志,就是相当于无限分片。
这些报文先把协议栈 pbuf 全部占满了,一直没有释放,在等最后一片或者超时。
所以在测试过程中,协议栈资源一直是满的,无法提供服务。
分析:
( 由源码可知,协议栈针对这个的超时时间应该是 15s ),如果支持无限分片,资源迟早会消耗光
答:修改IP分片
Related Articles
SylixOS使用的网络协议栈是?
Q:SylixOS使用的网络协议栈是? SylixOS使用的网络协议栈是 lwip 版本为 v2.1.0。 /** X.x.x: Major version of the stack */ #define LWIP_VERSION_MAJOR 2 /** x.X.x: Minor version of the stack */ #define LWIP_VERSION_MINOR 1 /** x.x.X: Revision of the stack */ #define ...
SylixOS 协议栈学习(三)ICMP 处理
ICMP(Internet control message protocol)是网络控制报文协议,用于在IP主机跟路由器之间传输控制信息的。 控制信息指网络不通、主机是否可达、路由是否有用等。 之前在将ip4_input时,涉及到三次ICMP的东西: 1、在转发过程中,如果TTL变为0,则要用icmp_time_exceeded函数向源主机发送一份超时ICMP信息。 2、会通过ip报头,判断是否是ICMP报文,如果是,则调用icmp_input函数。 ...
SylixOS 协议栈学习(二)以太网网卡接口部分初始化
在《SylixOS_协议栈学习(一)网络接口结构》中,介绍了netif 结构体和netdev结构体。 下面举个例子来看一个以太网网卡接口结构是怎样被初始化,还有数据包是如何接收和发送的。 static struct netdev_funcs net_drv = { ① .init = __enetCoreInit, .transmit = __enetCoreTx, ...
SylixOS 协议栈学习(四)ping 工作流程
Ping工作流程: 1、涉及协议介绍 运行ping程序时,会用到以下协议: ICMP(因特网控制报文协议):用于IP主机、路由器直接传递控制消息(一般是差错信息,如TCP/UDP传输失败,会构建ICMP报文返回)。 IP协议:一种不可靠、无连接的传输协议(目的是为了更好的提供传输服务)。(对于TCP传输,已十分可靠,不需要在IP层再链接;UDP本身就是不可靠、无连接的协议,使用IP协议能更快传输)。 ...
SylixOS 协议栈学习(一)网络接口结构
1) netif 的结构体来描述一个硬件网络接口的。 struct netif { struct netif *next; // 指向下一个 netif 结构的指针 struct ip_addr ip_addr; // IP 地址相关配置 struct ip_addr netmask; struct ...