- 博客(6)
- 收藏
- 关注
原创 堆和栈的区别
1.代码段,数据段,堆,栈代码段:程序代码编译成的二进制文件数据段:数据段分为两个部分,BSS数据段和其他数据段,BSS段存储未初始化或初始化为0的全局变量、静态变量,具体体现为一个占位符,并不给该段的数据分配空间,只是记录数据所需空间的大小。数据段存储经过初始化的全局和静态变量。堆:代码申请,并由代码显式释放栈:局部变量和函数参数,以及程序运行过程中的中间变量...
2021-11-27 21:52:25
240
1
原创 iptables
1.iptables和netfilternetfilter是一套数据包过滤框架,通过hook的5个钩子函数来处理IP数据包ip_tables是真正的内核防火墙模块,通过把自己的函数注入到netfilter的框架中来实现防火墙功能。iptables有4个表,raw,mangle, nat,filter有5个链PREROUTING,INPUT,FORWORD,OUTPUT,POSTING,这5条链就是iptables填到netfilter中的5个钩子函数其中PREROUTING OU
2021-11-25 23:30:23
253
原创 TCP分片和IP分片
1.IP分片产生IP分片的原因:IP层的数据包在经过网卡时,数据包大小超过了网卡的MTU,然后IP数据包的DF标志为0,即该数据包允许分片,此时数据包会被分片。DF的标志在数据包的IP头的标志部分,标志部分包含三个部分,第一位无用,第二位DF,第三位MF,MF的值如果为1,则该数据包是分片后的非最后一个数据包,如果MF的值为0,则该包为分片之后的最后一个数据包。其中的标识为相同数值的数据包,表示这些数据包为同一个数包分片出来的数据包。片偏移为指定本数据报在原数据报中的偏移位,单位为8字节
2021-11-24 22:32:30
2537
原创 python的内存管理
-----------------------------一切皆对象,所有的引用都是对原对象进行的引用----------------------------------1.引用计数机制引用计数增加1.对象被创建:x=42.另外的别人被创建:y=x3.被作为参数传递给函数:foo(x)4.作为容器对象的一个元素:a=[1, x, ‘33’]引用计数减少1.一个本地引用离开了它的作用域。比如上面的foo(x)函数结束时,x指向的对象引用减1。2.对象的别名被显式的销...
2021-11-20 16:26:36
309
原创 数据包从网卡到应用进程
从空间来看,从网卡到内核空间,再到用户空间,整个过程就是内核将网卡中的数据包拷贝到应用程序。1.网卡网卡收到的是数据包的电信号,收到该电信号之后,会将该电信号转化为数字信息,然后进行FCS校验,最后检查数据包的MAC地址是否匹配。网卡将电信号转化为数字信息之后包含的数据包的信息如下所示:还原后的数据信息会在网卡上,根据 FCS(帧校验序列,Frame Check Sequence)校验数据,判断数据在传输过程是否因噪音等影响导致信号失真,从而导致数据错误,需要丢弃这种无效的数据包。...
2021-11-19 20:40:23
5149
1
Kafka:CorruptRecordException
2024-08-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人