- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 C 代码来添加防火墙规则
ip6tables -A 输出 -t 过滤器 -s 2001:db8:222:2::/64 -j 删除
C 代码:
struct ip6tc_handle *h;
const ip6t_chainlabel chain = "OUTPUT";
const char *tablename = "filter";
struct ip6t_entry * e;
struct ip6t_entry_target * target;
unsigned int size_ip6t_entry, size_ip6t_entry_target, total_length;
size_ip6t_entry = XT_ALIGN(sizeof(struct ip6t_entry));
size_ip6t_entry_target = 36;
total_length = size_ip6t_entry + size_ip6t_entry_target ;
//memory allocation for all structs that represent the netfilter rule we want to insert
e = calloc(1, total_length);
if(e == NULL)
{
printf("malloc failure");
exit(1);
}
e->target_offset = size_ip6t_entry ;
//next "e" struct, end of the current one
e->next_offset = total_length;
char *temps = malloc(128);
temps = "2001:db8:222:2::";
inet_pton(AF_INET6, temps, &e->ipv6.dst);
char *temps2 = malloc(128);
temps2 = "FFFF:FFFF:FFFF:FFFF::";
inet_pton(AF_INET6, temps2, &e->ipv6.dmsk);
strcpy(e->ipv6.iniface, "eth1");
//target struct
target = (struct ip6t_entry_target *) e->elems;
target->u.target_size = size_ip6t_entry_target;
strcpy(target->u.user.name, "DROP");
//All the functions, mentioned below could be found in "Querying libiptc HOWTO" manual
h = ip6tc_init(tablename);
if ( !h )
{
printf("Error initializing: %s\n", iptc_strerror(errno));
exit(errno);
}
int x = ip6tc_append_entry(chain, e, h);
if (!x)
{
printf("Error append_entry: %s\n", iptc_strerror(errno));
exit(errno);
}
printf("%s", target->data);
int y = ip6tc_commit(h);
if (!y)
{
printf("Error commit: %s\n", iptc_strerror(errno));
exit(errno);
}
exit(0);
我想扩展此代码以设置匹配的 IPv6 数据包的 TOS 值,如下所示
ip6tables -A 输出 -t mangle -s 2001:db8:222:2::/64 -p icmpv6 -j TOS --set-tos 0x20
有什么想法吗?
最佳答案
我找到了答案,让我分享一下
struct ip6tc_handle *h;
const ip6t_chainlabel chain = "OUTPUT";
const char *tablename = "mangle";
struct ip6t_entry * e;
struct ip6t_entry_target * target;
struct xt_DSCP_info *my_dscp;
unsigned int size_ip6t_entry, size_ip6t_entry_target, size_my_dscp, total_length;
size_ip6t_entry = XT_ALIGN(sizeof(struct ip6t_entry));
size_ip6t_entry_target = 36;
size_my_dscp = XT_ALIGN(sizeof(struct xt_DSCP_info));
total_length = size_ip6t_entry + size_ip6t_entry_target + size_my_dscp ;
//memory allocation for all structs that represent the netfilter rule we want to insert
e = calloc(1, total_length);
if(e == NULL)
{
printf("malloc failure");
exit(1);
}
//offsets to the other bits:
//target struct begining
e->target_offset = size_ip6t_entry ;
//next "e" struct, end of the current one
e->next_offset = total_length;
//set up packet matching rules: “-s 156.145.1.3 -d 168.220.1.9 -i eth0” part
//of our desirable rule
char *temps = malloc(128);
temps = "2001:db8:222:2::";
inet_pton(AF_INET6, temps, &e->ipv6.src);
char *temps2 = malloc(128);
temps2 = "FFFF:FFFF:FFFF:FFFF::";
inet_pton(AF_INET6, temps2, &e->ipv6.smsk);
e->ipv6.proto = 58/*IP6T_F_PROTO*/ ;
strcpy(e->ipv6.iniface, "wlan1");
//target struct
//”-j ACCEPT” part of our desirable rule
target = (struct ip6t_entry_target *) e->elems;
target->u.target_size = size_ip6t_entry_target;
strcpy(target->u.user.name, "DSCP");
my_dscp = (struct xt_DSCP_info *) target->data;
my_dscp->dscp = 8;
//All the functions, mentioned below could be found in "Querying libiptc HOWTO" manual
h = ip6tc_init(tablename);
if ( !h )
{
printf("Error initializing: %s\n", iptc_strerror(errno));
exit(errno);
}
//analogous to “iptables -A INPUT” part of our desirable rule + the rule itself
//inside of the e struct
int x = ip6tc_append_entry(chain, e, h);
if (!x)
{
printf("Error append_entry: %s\n", iptc_strerror(errno));
exit(errno);
}
printf("%s", target->data);
int y = ip6tc_commit(h);
if (!y)
{
printf("Error commit: %s\n", iptc_strerror(errno));
exit(errno);
}
exit(0);
关于c - 任何想法扩展我的 C 代码以使用 IPTC 库设置 IPv6 数据包中的 TOS 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23696579/
我已经编写了一个相当广泛的管理图像的脚本。 PHP 图像库默认剥离元数据。所以嵌入的数据(如关键字、描述、作者等)都消失了。我已经写了一个相当广泛的图像管理系统,但遗憾的是 IPTC 管理仍然缺乏很多
我在读取某些图像的 IPTC 数据时遇到了一些麻烦,我之所以要这样做,是因为我的客户在 IPTC 数据中已经有了所有关键字,并且不想在地点。 所以我创建了这个简单的脚本来读出它们: $size = g
我正在开发一个图像处理器脚本来基本上调整图像的大小。问题是当我制作图像的调整大小副本时,它也不会复制 IPTC 数据。所以我一直在检查 IPTC PHP 函数(iptcparse 和 iptcembe
许多上传到 Facebook 的图片包含 IPTC/IIM 字段,这些字段显然是在上传过程中自动添加的: 特殊指令,以“FBMD”开头的字符串 原始传输引用。 例如,查看上传到 Facebook 并使
试图找到一种从图像文件缓冲区中提取 IPTC 数据的方法,npm 上现有的库允许您从本地文件系统打开和读取文件,但我将文件存储在 AWS S3 上并且更愿意使用缓冲区而不是创建不必要的磁盘写入。 不确
我需要获取一个现有的 jpg 文件并修改其 IPTC 条目中的标题、描述和关键字。这里有几个主题,但都没有答案或部分答案。我已经知道如何阅读 IPTC 信息,但需要编辑它们。有人可以阐明这个研究较多但
我需要从服务器上上传的文件中获取元数据,尤其是 iptc 元数据。 我找到了两个可以导入的包,但它们都需要“libiptcdata”库。这应该不是问题,但是在我用 brew 安装了 libary 之后
我有兴趣在字节级别手动将 IPTC 字段注入(inject) JPG 文件。 JPEG 文件具有多个带有可观大小标记的元数据段。 IPTC 的分段容器是: 应用13 - 以 FF ED XX XX .
我需要知道如何检查给定的 jpeg 图像中是否包含 iptc 内容?这应该用 java 来完成。因为我是这项技术的新手。有人可以帮忙解决这个问题。 最佳答案 你可以使用这个库, http://read
我试图将关键字添加到 JPG 文件中的 IPTC 数据,但失败得很惨。我可以使用 iptcinfo3 库读取关键字,并且似乎可以将关键字附加到当前关键字列表中,但是当我尝试将这些关键字写回 JPG 文
我正在编写一个需要处理超过 15000 张照片的应用程序,我想将它们的 EXIF 和 IPTC 属性存储到数据库中。 我最初的方法是使用 MySQL 并创建一个表来存储所有属性,正如建议的那样here
我正在尝试使用 iptcembed() 将 IPTC 数据嵌入到 JPEG 图像中但我遇到了一些麻烦。 我已经验证它在最终产品中: // Embed the IPTC data $content =
我无法找到任何有关如何从 Cocoa 中的图像读取 EXIF/IPTC 信息的最新示例。有什么可以轻松完成的事情,或者我应该使用外部工具如 exiftool 并使用 NSTask 启动它? 谢谢! 最
我已经试过了 IPTCInfo3 .但是安装成功后用 pip3 install IPTCInfo 我收到一个导入错误: Python 3.5.2 (default, Oct 11 2016, 04:5
我试图获取 jpeg 图像的 exif,但它不起作用。首先,我使用 BufferedImage 读取图像并将其转换为文件,然后应用与此处相同的代码: https://code.google.com/p
我有一个 Node.js 服务器,其工作是下载 JPEG 图像、将某些数据写入几个 IPTC 字段(例如 Iptc.Application2.Caption)并将图像传递给另一个服务。 理想情况下,我
我看过许多其他类似的问题,但似乎没有一个有准确的答案。 我正在开发一款可处理大量图片的 Android 应用。我希望通过编辑其 IPTC 关键字标签(或其他适当的标签)的值来向图像添加信息。我正在使用
我正在寻找一些库来从 Jpg 文件中读取/写入 IPTC 元数据。开源或付费,无所谓。 它应该适用于 .NET 3.5 和 c#。 有人知道这样的图书馆吗?我用谷歌搜索但没有找到任何东西。 最佳答案
我需要将 IPTC 数据编辑为 jpg。 我使用此代码读取它已有的关键字,但我无法编写新的关键字: IPTC .NET read/write c# library Private Sub Fo
我在使用存储有 EXIF/IPTC 数据的图像时遇到一些问题。 当我使用 imageCreateFromJpeg(旋转/裁剪等)时,新存储的文件不会保留 EXIF/IPTC 数据。 我当前的代码如下所
我是一名优秀的程序员,十分优秀!