【问题标题】:Is it possible to use nmap functionalities in C++?是否可以在 C++ 中使用 nmap 功能?
【发布时间】:2017-08-04 08:16:45
【问题描述】:

我想调用nmap 功能,例如 C++ 中的操作系统检测。

在 python 中,import nmap 允许使用 nmap 函数。同样,有什么办法可以在 C++ 中做到这一点?

【问题讨论】:

  • 不,没有可用的共享库。无论如何,您都可以使用子进程调用。
  • @TatsuyukiIshi 如何使用子进程调用?你能详细说明一下吗
  • 就像启动一个子进程一样简单。提问前请先搜索。

标签: c++ integration nmap


【解决方案1】:

您可以将 nmap 作为外部程序运行,并使用 popen() 通过管道读取其输出。

例子

FILE *pin = popen("nmap -p 123 10.0.1.0/24","r");
if ( pin ) {
   while (!feof(pin)) {
      const char *line = readLine(pin);
      printf("%s\n", line);
   }
   pclose(pin);
} 

【讨论】:

    【解决方案2】:

    Python nmap 包只需启动 Nmap 命令并解析 XML output。这当然是您可以在 C++ 中执行的操作,尽管您必须自己进行解析。我不知道现有的 C 或 C++ 中的 Nmap 输出解析库,例如 Python、Perl、Ruby 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多