我想调用C ++中的OS检测等nmap功能。
在python中,import nmap
允许使用nmap函数。同样,我有什么方法可以用C ++做到这一点吗?
答案 0 :(得分: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);
}
答案 1 :(得分:0)
Python nmap
包只是启动Nmap命令并解析XML output。这肯定是你可以在C ++中做的事情,尽管你必须自己解决这个问题。我不知道C或C ++中现有的Nmap-output-parsing库就像Python,Perl,Ruby等一样。