自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

redwingz的博客

Linux内核网络、虚拟化

  • 博客(13)
  • 资源 (5)
  • 论坛 (1)
  • 收藏
  • 关注

原创 IPv6转发开关

conf/all/forwarding配置全局的接口间IPv6报文转发,默认值为0,此值的修改将同时修改每个接口的forwarding配置项。接口目录下forwarding配置项对于接口的Host/Router行为,默认值为0,遵循以下主机行为:1)在邻居发现协议的Neighbour Advertisements报文中不设置IsRouter标志;2)如果accept_ra为真(默认值),可发送Router Solicitations报文;3)如果accept_ra为真(默认值),可接收Router

2021-03-30 22:37:14 207

原创 optimistic-dad

配置项optimistic_dad用于控制是否执行优化的DAD检查;配置项use_optimistic控制在源地址选择时,可使用optimistic地址,但是其优先级低于Preferred地址。如下函数ipv6_allow_optimistic_dad,命名空间和设备的optimistic_dad配置项有一个为真,就启用此功能。static bool ipv6_allow_optimistic_dad(struct net *net, struct inet6_dev *idev)

2021-03-23 22:28:44 88

原创 icmp攻击类型ping-of-death

某些协议栈对于分片报文,事先分配最大IP长度65536字节的缓冲区,而实际接收到的分片在重组时,超过65536的长度将导致缓冲区溢出错误。当前的各个协议栈实现早已修复此问题。以下程序用于发送超过65536的IP分片报文,首先是头文件部分:#include <stdio.h>#include <stdlib.h>#include <strings.h>#include <sys/types.h>#include <sys/socket.h&gt

2021-03-21 21:45:03 117

原创 ipv6设备的删除标记dead

在创建inet6_dev设备结构函数中,在分配了inet6_dev结构内存之后,如果出现邻居参数结构neigh_parms分配失败,或者snmp相关结构分配失败的情况,需要释放inet6_dev结构,直接返回错误。static struct inet6_dev *ipv6_add_dev(struct net_device *dev){ struct inet6_dev *ndev; ndev = kzalloc(sizeof(struct inet6_dev), GFP_KERNEL

2021-03-16 23:21:43 47

原创 IPv6地址DAD检测

DAD冲突检测和IPv6地址失效检测使用的都是addrconf_wq队列,其在addrconf_init函数中创建。int __init addrconf_init(void){ struct inet6_dev *idev; ... addrconf_wq = create_workqueue("ipv6_addrconf"); if (!addrconf_wq) { err = -ENOMEM; goto out_nowq;

2021-03-13 22:13:20 312

原创 clamav的unrar解压模块加载

clamav使用的unrar功能,是一个单独的模块,使用C++实现,编译完成之后生成两个so文件libunrar.so和libclamunrar_iface.so,由命名可知,前者为unrar功能的主体,而后者为封装的接口。在使用的时候,作为动态库进行加载。如下的configure变量,可指定unrar编译使用的编译器等参数。 CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker f

2021-03-11 22:42:33 65

原创 CLAMD检测到病毒的处理

可通过clamd配置文件/usr/local/etc/clamd.conf中的配置项VirusEvent进行定义,默认情况下未指定VirusEvent,变量v会替换为发现的病毒名称。# Execute a command when virus is found. In the command string %v will# be replaced with the virus name.# Default: no#VirusEvent /usr/local/bin/send_sms 12345678

2021-03-10 20:56:13 81

原创 TCP绑定套接口链表

内核中全局变量tcp_hashinfo的成员bhash保存有全局的bind套接口。bhash是以哈希值为索引的数组,其中inet_bhashfn函数负责依据端口号和命名空间生成哈希值。每个数组元素包含一个哈希值相同的inet_bind_bucket结构组成的链表(chain链表)。struct inet_hashinfo tcp_hashinfo;struct inet_hashinfo { ... /* Ok, let's try this, I give up, we do n

2021-03-09 21:40:21 78

原创 IPv6源地址选择

源地址的选择依据出接口、目的地址、label、参数prefs和地址类型scope等参数来确定,在函数ipv6_dev_get_saddr开始,先行将这些判断参数组织到结构ipv6_saddr_dst中。scores记录每个可选地址的得分,最终分数高的地址选为要使用的源地址。int ipv6_dev_get_saddr(struct net *net, const struct net_device *dst_dev, const struct in6_addr *daddr

2021-03-06 21:28:36 189

原创 RS请求报文控制

默认情况下router_solicitations值为-1,不限制RS的发送次数。如果其为正值,表示当发送到此数量的RS报文之后,还未收到响应,则认为当前链路不存在路由器。$ cat /proc/sys/net/ipv6/conf/all/router_solicitations-1$ cat /proc/sys/net/ipv6/conf/default/router_solicitations-1router_solicitation_interval规定RS报文的发送间隔,默认为4秒钟。r

2021-03-05 21:19:41 302

原创 接口token设置

如下ip命令所示,可设置接口的token值。# ip token set ::0102:0304 dev ens33 # # ip token list token ::1.2.3.4 dev ens33token :: dev ens34token :: dev ens35内核处理TOKEN添加如下inet6_set_iftoken函数,先检查合法性:对于环回loopback接口,或者不需要邻居地址的接口(设置了IFF_NOA

2021-03-04 21:33:35 221 1

原创 CLAMAV流检查接口

可使用clamdscan工具进行文件流的检查,核心处理函数为send_stream。如下分为四个步骤:首先,发送流检查命令字:"zINSTREAM"到clamd守护进程;发送文件内容,注意存放文件数据的缓存,其头部4个字节存放的是缓存中数据长度,网络字节序;发送4个字节的空数据到clamd,表示文件流发送完成;读取clamd的检测结果。static int send_stream(int sockd, const char *filename){ uint32_t buf[BUFSI

2021-03-03 21:11:42 1181 1

原创 IPv6隐私地址

RFC4941定义了IPv6的Privacy地址扩展,默认情况下,内核没有开启隐私地址,如下PROC文件use_tempaddr值为0。当use_tempaddr值大于0时,开启隐私地址功能。use_tempaddr值为1时,优先使用公开地址。而当use_tempaddr值大于1时,优先使用隐私地址。$ cat /proc/sys/net/ipv6/conf/all/use_tempaddr0$ cat /proc/sys/net/ipv6/conf/default/use_tempaddr0创

2021-03-02 21:20:56 180

WEB Portal 认证完整的交互报文

web认证交互报文,包括WLAN controller与portal server的认证与注销,AC与radius 服务器的认证报文。

2018-04-24

IKEv2-camellia.pcap

IKEv2协议使用camellia加密算法的协商报文,交互流程。

2019-10-28

IKEv2-rw-cert2.pcap

strongswan使用linux内核的af_alg加密接口配置,IKEv2协议交互报文。

2019-10-28

libssh2-1.8.0 and ssh2_batch example

ssh2_batch可执行程序,用于非交互式的ssh命令执行。源代码和libssh2

2018-06-13

botan-ed25519.pcap

IKEv2协议交互报文,认证方式选用Ed25519算法的证书方式。

2019-10-28

redwingz的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除