【发布时间】:2020-06-01 09:58:07
【问题描述】:
对于 ipv4 地址,我可以使用 matchSubnet() 检查地址是否与子网匹配。
但是对于 ipv6,我该怎么做呢?
【问题讨论】:
标签: pcap libpcap pcapplusplus
对于 ipv4 地址,我可以使用 matchSubnet() 检查地址是否与子网匹配。
但是对于 ipv6,我该怎么做呢?
【问题讨论】:
标签: pcap libpcap pcapplusplus
感谢DinoStray 在PcapPlusPlus 中实现此功能。
只是用一个关于如何使用它的例子来结束这个问题:
// IPv6 address
pcpp::IPv6Address ipv6Address("2607:f0d0:1002:0051:ffff:0000:0000:0004");
// IPv6 subnet
pcpp::IPv6Address subnetIpv6Address("2607:f0d0:1002:0051::");
// Match subnet with 16 bits in a mask - subnet matches
ipv6Address.matchSubnet(subnetIpv6Address, 16); // True
// Match subnet with 96 bits in a mask - subnet doesn't match
ipv6Address.matchSubnet(subnetIpv6Address, 96); // False
你可以在PcapPlusPlus tests看到更多的例子,
在IPv6Address documentation阅读更多内容。
【讨论】:
很好,PcapPlusPlus 中目前不存在此功能。
我看到你为此打开了一个 GitHub 问题:https://github.com/seladb/PcapPlusPlus/issues/444
让我们在那里跟进。
【讨论】: