ip6tables目标hoplimit

2023-12-19 09:18
文章标签 目标 ip6tables hoplimit

本文主要是介绍ip6tables目标hoplimit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HL目标帮助信息如下,可对IPv6报文的hoplimit进行设置、减少或者增加。

# ip6tables --jump HL -h
HL target options--hl-set value                Set HL to <value 0-255>--hl-dec value                Decrement HL by <value 1-255>--hl-inc value                Increment HL by <value 1-255>

如下在主机3ffe::2上配置策略,丢弃IPv6头部hoplimit值等于2的报文。。在另外的主机上执行ping操作,指定ttl为2,此时由于ttl等于策略配置的值2,ping不通。

# ip6tables -t filter -A INPUT -m hl --hl-eq 2 -j DROP 

在主机3ffe::2上配置策略,将IPv6头部hl值增加3。此时在执行ping操作,由于ttl在增加之后为5,未匹配以上丢弃策略,ping通。

# iptables -t mangle -A PREROUTING -j TTL --ttl-inc 3
#  
# iptables -L -t mangle -n -v
Chain PREROUTING (policy ACCEPT 147 packets, 19766 bytes)pkts bytes target     prot opt in     out     source               destination         147 19766 TTL        all  --  *      *       0.0.0.0/0            0.0.0.0/0            TTL increment by 3

HL目标

函数xt_register_targets注册TTL目标结构hl_tg_reg。

static struct xt_target hl_tg_reg[] __read_mostly = {{.name       = "HL",.revision   = 0,.family     = NFPROTO_IPV6,.target     = hl_tg6,.targetsize = sizeof(struct ip6t_HL_info),.table      = "mangle",.checkentry = hl_tg6_check,.me         = THIS_MODULE,},
};
static int __init hl_tg_init(void)
{return xt_register_targets(hl_tg_reg, ARRAY_SIZE(hl_tg_reg));

参数检查函数如下,目前仅支持hl设置,增加和减少三种模式,其它模式则非法。如果模式为增加或者减少hl值,那么hl的增加或减少量值不能为0。

static int hl_tg6_check(const struct xt_tgchk_param *par)
{const struct ip6t_HL_info *info = par->targinfo;if (info->mode > IP6T_HL_MAXMODE)return -EINVAL;if (info->mode != IP6T_HL_SET && info->hop_limit == 0)return -EINVAL;return 0;

根据不同的模式,计算新的nl值。对于增加模式,如果新的hl值大于255,设定为255。对于减少模式,如果新的ttl值小于0,设定为0。最后,使用新的hl值填充IPv6头部的hop_limit字段。

 65 static unsigned int66 hl_tg6(struct sk_buff *skb, const struct xt_action_param *par)67 {   68     struct ipv6hdr *ip6h;69     const struct ip6t_HL_info *info = par->targinfo;71     72     if (skb_ensure_writable(skb, sizeof(*ip6h)))73         return NF_DROP;75     ip6h = ipv6_hdr(skb);76     77     switch (info->mode) {78     case IP6T_HL_SET:79         new_hl = info->hop_limit;80         break;81     case IP6T_HL_INC:82         new_hl = ip6h->hop_limit + info->hop_limit;83         if (new_hl > 255)84             new_hl = 255;85         break;86     case IP6T_HL_DEC:87         new_hl = ip6h->hop_limit - info->hop_limit;88         if (new_hl < 0)89             new_hl = 0;90         break;91     default:92         new_hl = ip6h->hop_limit;93         break;94     } 96     ip6h->hop_limit = new_hl;

内核版本 5.10

这篇关于ip6tables目标hoplimit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/511670

相关文章

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注类别数:4 标注类别名称:["Platelets","RBC","WBC","sickle cell"] 每个类别标注的框数:

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

[数据集][目标检测]智慧农业草莓叶子病虫害检测数据集VOC+YOLO格式4040张9类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4040 标注数量(xml文件个数):4040 标注数量(txt文件个数):4040 标注类别数:9 标注类别名称:["acalcerosis","fertilizer","flower","fruit","grey

目标检测-RT-DETR

RT-DETR (Real-Time Detection Transformer) 是一种结合了 Transformer 和实时目标检测的创新模型架构。它旨在解决现有目标检测模型在速度和精度之间的权衡问题,通过引入高效的 Transformer 模块和优化的检测头,提升了模型的实时性和准确性。RT-DETR 可以直接用于端到端目标检测,省去了锚框设计,并且在推理阶段具有较高的速度。 RT-DET

目标检测-YOLOv3

YOLOv3介绍 YOLOv3 (You Only Look Once, Version 3) 是 YOLO 系列目标检测模型的第三个版本,相较于 YOLOv2 有了显著的改进和增强,尤其在检测速度和精度上表现优异。YOLOv3 的设计目标是在保持高速的前提下提升检测的准确性和稳定性。下面是对 YOLOv3 改进和优势的介绍,以及 YOLOv3 核心部分的代码展示。 相比 YOLOv2 的改进

SimD:基于相似度距离的小目标检测标签分配

摘要 https://arxiv.org/pdf/2407.02394 由于物体尺寸有限且信息不足,小物体检测正成为计算机视觉领域最具挑战性的任务之一。标签分配策略是影响物体检测精度的关键因素。尽管已经存在一些针对小物体的有效标签分配策略,但大多数策略都集中在降低对边界框的敏感性以增加正样本数量上,并且需要设置一些固定的超参数。然而,更多的正样本并不一定会带来更好的检测结果,事实上,过多的正样本

MATLAB中的矩阵在目标规划中的应用_以linprog为例

目标规划是一种数学规划方法,它允许在多个目标之间进行权衡,以找到最优解。 在MATLAB中,可以使用优化工具箱中的函数来求解目标规划问题。例如,`linprog` 函数可以用于求解线性规划问题,而 `fmincon` 函数可以用于求解有约束的非线性规划问题。对于多目标规划,可以使用 `fgoalattain` 函数来求解,该函数允许设置目标函数希望达到的目标值和权重。 在数学方程模型建立完成之

目标检测常见数据集格式

目标检测常见的数据集格式COCO、YOLO、VOC、DATA。 1、COCO 数据标注格式JSON,JSON文件中包含多个关键字段,如info、images、annotations等,分别存储了数据集的基本信息、图像信息和标注信息 COCO数据集的下载 官网地址:http://cocodataset.org/#download 2014年数据集的下载 train2014:http://imag

[数据集][目标检测]抽烟检测数据集VOC+YOLO格式22559张2类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):22559 标注数量(xml文件个数):22559 标注数量(txt文件个数):22559 标注类别数:2 标注类别名称:["cig-pack","smoke"] 每个类别标注的框数: cig-pack 框数 = 2