我有一个网络应用程序正在制作基于 ip_address 的防火墙。我在我的应用程序中找到客户端的源 ip,然后,如果客户端的 ip 在我的配置文件中的 ips 的子网中,那么我拒绝或接受该 ip。
在配置文件中,可能会有不同的ip格式。它可以是单个 ip,如 192.168.0.1
或子网 192.168.0.1/24
或间隔,如 192.168.0.1-192.168.0.37
.这些 ip 地址是从配置文件中读取的,如果客户端 ip 地址在其中之一,则采取操作。
它是在来自 conf 文件的 ips 中搜索客户端 ip。python 中有一些算法用于这些。但是是否有用于此工作的 C 或 c++ 库。它将解析这些格式的 ips 和搜索客户端?
最佳答案
is there a C or c++ library for this job?
我不知道。
但如果我必须编写这样的库,那么我会使用整数(IPv4 为 32 位)。排序和检查将更快。范围可以用 64 位值寻址。
相比之下,使用字符串会非常慢。
关于c++ - C 中的 ip 地址搜索算法或库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121781/