1

我已经对此进行了研究,但仍然找不到任何解决方案。到目前为止我看到的最接近的是关于如何以编程方式与 nmap 集成的任何想法?. 我是一名 php 程序员,我目前正在构建一个网络管理系统,我打算将 nmap 和 WinPcap 嵌入到我的 php 应用程序中,这样我就可以使用我的应用程序使用这两种软件扫描我的网络,并将信息保存在我的应用程序应用程序的数据库中. 任何人都可以对此有所了解吗?谢谢你。

4

1 回答 1

1

Nmap 目前没有定义 IPC 或 RPC 接口。它的 API 由它的命令行参数和它的 XML 输出(最好、最完整的机器可读输出选项)定义。要了解应用程序如何使用此“API”,您可以查看一些与 Nmap 集成的现有应用程序:

  • Zenmap是 Nmap 的官方图形前端。它是用 Python 编写的,由 Nmap 开发团队维护,因此您可以指望它是“正确的”。
  • Rainmap是一个用于托管 Nmap 扫描的 Web 应用程序。作为 Google Summer of Code 的一部分与 Nmap 开发团队一起开发,它也是用 Python (Django) 编写的。对于如何在多用户 Web 应用环境中使用 Nmap 应该是一个很好的参考。
  • Metasploit使用 Nmap 并使用 Ruby (Nokogiri) 解析其输出,将相关信息存储在数据库中。
  • PBNJ是一个比较 Nmap 扫描的网络监视器。它是用 Perl 编写的。

除了所有这些之外,互联网上还有几千个“使用 PHP 中的 Nmap 扫描”页面和问题,可以帮助解决围绕请求超时等问题。最重要的是,我必须警告您不要接受任意用户输入扫描参数,因为欺骗 Nmap 执行任何操作系统命令是微不足道的(这就是为什么 Nmap 永远不应该安装 setuid)。

于 2013-05-22T14:48:21.853 回答