c++ - 关于如何以编程方式与 nmap 集成的任何想法?

标签 c++ security integration nmap

我刚刚开始研究如何将开源安全产品 nmap 集成到某些 C++ 代码中。如果有人试过这个,并且对最佳方法有一些想法,我当然会很感激。

感谢您的回复。具体来说,我想运行端口扫描 (ipv6)。我肯定更喜欢非 gpl 解决方案,例如命令行或套接字接口(interface)。然而,我也在寻找最快的解决方案,因为我们要面对一些严格的时间表,如果需要,我们可以回载实现非 gpl 解决方案。

最佳答案

(注:我不是律师,所有这些都不应被视为法律建议)

您可能应该注意到,根据 the licensing chapter,Nmap 将解析其输出的产品视为派生作品。在手册中,因此属于 GPL 许可义务。 GPLv2没有定义什么是衍生作品,而是让法院根据版权法的定义来决定。通常的解释是,除了链接到操作系统中包含的系统库之外,任何形式的链接都会使链接的作品成为派生作品,而通过管道或网络进行对话的单独进程不一定是派生作品,尽管如GPL FAQ ,“如果通信的语义足够亲密,交换复杂的内部数据结构,那也可以成为考虑将这两个部分组合成一个更大程序的基础。”这似乎是 Nmap 开发人员正在采用的解释。

无论如何,假设您不需要担心 GPL,您可能想看看 output options对于 Nmap;特别是 -oX 用于 XML 输出,-oG 用于“greppable”输出。如果你需要更多地控制 Nmap 的功能,你应该查看 Nmap Scripting Engine ,Nmap 中的 Lua 脚本引擎,可为您提供各种控制。

关于c++ - 关于如何以编程方式与 nmap 集成的任何想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/735001/

相关文章:

html - 哪种参数传递方式更安全 : URL, 隐藏字段或cookie?

java - Spring 集成 - SpelEvaluationException : The operator 'ADD' is not supported between objects of type 'java.lang.String' and 'null'

java - 需要有关在集成设置而不是开发中使用 Maven 的信息

c++ - 如何从 QtCreator 的自动完成弹出窗口中隐藏 C++ 私有(private)字段/方法

c++ - ACE 在 MAC OS X 10.9(及更高版本)中的链接器中失败

c++ - C 库的移植是否需要在 C 中实现?

php - CakePHP Security::cipher() 不能专门在服务器上工作

javascript - 编译后的 JavaScript 代码的安全性如何?

iphone - 推特 API : How to get All tweets from the twitter account in iphone App

c++ - 声明第一个单精度冲突的数字是 131072.02 是否正确? (正数,考虑 2 位数字作为尾数)