Python拆分特定nmap outpu

2024-04-16 23:08:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我从nmap得到了以下输出,我正试图像nmap那样分成几个部分,如下所示:

PORT | STATE | SERVICE | VERSION

输出如下所示:

2000/tcp  open  cisco-sccp?
3000/tcp  open  http           Apache httpd 2.2.3 ((CentOS))

我试着用字符串。拆分()但它一直在自己的条目中为我提供所有信息,因此最终我要获得的是“apachehttpd2.2.3((CentOS))”,但我根本无法获得,它一直在条目中输入每个单词。我甚至试过

re.split('\s+', string)

但这也产生了同样的结果。非常感谢您的帮助。你知道吗


Tags: httpportversionapacheservice条目opennmap
1条回答
网友
1楼 · 发布于 2024-04-16 23:08:20

不是一般的解决方案,但是对于这个特定的示例,我认为只要指定一个maxsplit就可以了:

In [7]: re.split(r'\s+', '3000/tcp  open  http           Apache httpd 2.2.3 ((CentOS))', 3)
Out[7]: ['3000/tcp', 'open', 'http', 'Apache httpd 2.2.3 ((CentOS))']

这就告诉它分三次,但剩下的就保持原样。你知道吗

短线只是比较短,没有4项:

In [8]: re.split(r'\s+', '2000/tcp  open  cisco-sccp?', 3)
Out[8]: ['2000/tcp', 'open', 'cisco-sccp?']

相关问题 更多 >