我希望有人能让我走上正轨。我需要用Python解析nmap输出。我认为使用正则表达式是正确的方法,但我从未使用过regex。下面是我需要分析的文本示例-->;http://pastebin.com/QhG86D7D
我需要做的是:
诀窍是我需要很明显地保持IP和端口绑定在一起,因为我将把它们导入一个数据库,这个数据库将显示每个IP的端口是打开的。在
我也在想我应该把逻辑写进一个函数中,这样我就可以用大量的主机来解析不同的文件。在
我知道如何将文件读入脚本并将数据放入数据库。我遇到的问题是使用正则表达式解析出我需要的数据。有人能帮我吗?在
提前谢谢!在
已经有一个Python模块用于解析Nmap扫描输出。对于python3,有python-nmap。对于python2,Nmap附带了一个名为Ndiff的工具,它是一个功能齐全的Nmap输出解析器库,带有一个生成diff的小驱动程序。在
这些模块都解析Nmap的XML输出(使用
-oX
选项生成)。这是最好的选择,因为正常的(人类可读的)输出会随着版本的变化而变化,而greable输出(您的示例)被弃用,这意味着它已经很长一段时间没有从任何新的Nmap版本提供输出:traceroute、NSE、端口状态原因、CPE对于软件和操作系统版本等等。在以下方法可以帮助您开始:
这将显示以下输出:
^{pr2}$您需要用从文件中读取来替换
split
。在相关问题 更多 >
编程相关推荐