Powershell 和 NMAP 信息共享

Joh*_*ohn 3 scripting powershell documentation nmap

我正在从事一个项目,我想为各种项目执行主机文档。这些项目的一部分将来自 Powershell,其余的将来自 NMAP。对于 Powershell 部分,我正在尝试构建一些类似于SYDI-Server 的本土产品项目。它将使用 Powershell 代替 WMI,并允许使用更大、更简单的方法从远程机器获取各种结果。此外,SYDI-Server 项目已经有一段时间没有更新了。NMAP 部分将用于在远程主机上执行一两次扫描并返回结果,以便 Powershell 可以使用或使用这些结果并将它们添加到正在生成的最终报告中。这个想法与报告是从 Powershell 输出的 MS Word 文档类似,该文档包含主机文档所需的所有元素。

说了这么多,有没有办法让数据从 Powershell 共享或来回发送到 NMAP?有没有办法在 Powershell 中使用或解析 NMAP 的结果以进行进一步操作?

sys*_*138 6

NMAP 结果可以很容易地读入 powershell。NMap 可以选择以 XML 格式输出结果。这是由-oX选项控制的。PowerShell 喜欢 XML。

nmap [options] -oX results.xml [targets]
Run Code Online (Sandbox Code Playgroud)

阅读它很容易:

[xml]$NmapResults = Get-Content results.xml
Run Code Online (Sandbox Code Playgroud)

这将在 $NmapResults 中创建一个数据结构,您可以在其中移动以获得所需的数据。

关于如何访问单个 XML 元素,我在不同的 ServerFault 答案中进行了介绍:

https://serverfault.com/a/154094/3038