0

我正在编写一个 Python 脚本来在插入网络设备时检测它们。我正在使用 nmap。不幸的是,即使我现在没有连接/重新连接主机,nmap 几乎每个循环都会报告不同数量的主机。当主机未断开/连接时,如何在每个循环中获得相同的输出?

nmaps = []
nmaps_last_lines = []
import re
import os
while True:
    print "Scanning"
    if not nmaps:
        output = os.popen('sudo nmap --host-timeout 20s -sP 10.0.1.0/24 -oG -').read()
        nmaps_last_lines.append(output.split('\n')[-2])
        output = re.findall('\d+\.\d+\.\d+.\d+', output)
        nmaps.append(output)
    else:
        output = os.popen('sudo nmap --host-timeout 20s -sP 10.0.1.0/24 -oG -').read()
        nmaps_last_lines.append(output.split('\n')[-2])
        output = re.findall('\d+\.\d+\.\d+.\d+', output)
        nmaps.append(output)
        if set(output) != set(nmaps[-2]):

            #previous_output = set([i.strip() for i in nmaps[-2].split('\n')[1:-2]])
            #current_output = set([i.strip() for i in nmaps[-1].split('\n')[1:-2]])
            print "New equipment detected"
            print '\n'.join(list(set(output) - set(nmaps[-2])))
            print nmaps_last_lines[-1]
            print nmaps_last_lines[-2]
            #print "Current output"
            #print nmaps[-1].split('\n')
            #print current_output
            #print "Previous output"
            #print nmaps[-2].split('\n')
            #print previous_output
            #break

扫描 扫描 检测到新设备 10.0.1.41 10.0.1.23

Nmap 于 2013 年 10 月 26 日星期六 00:07:55 完成——在 22.68 秒内扫描了 256 个 IP 地址(19 个主机)

Nmap 在 2013 年 10 月 26 日星期六 00:07:32 完成——在 3.32 秒内扫描了 256 个 IP 地址(18 个主机)

扫描检测到新设备

Nmap 于 2013 年 10 月 26 日星期六 00:08:02 完成——在 6.51 秒内扫描了 256 个 IP 地址(18 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:07:55 完成——在 22.68 秒内扫描了 256 个 IP 地址(19 个主机)

扫描 检测到新设备 10.0.1.23 10.0.1.42

Nmap 于 2013 年 10 月 26 日星期六 00:08:18 完成——在 16.45 秒内扫描了 256 个 IP 地址(最多 20 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:08:02 完成——在 6.51 秒内扫描了 256 个 IP 地址(18 个主机)

扫描检测到新设备 10.0.1.10

Nmap 于 2013 年 10 月 26 日星期六 00:08:30 完成——在 12.19 秒内扫描了 256 个 IP 地址(19 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:08:18 完成——在 16.45 秒内扫描了 256 个 IP 地址(最多 20 个主机)

扫描检测到新设备 10.0.1.23

Nmap 于 2013 年 10 月 26 日星期六 00:08:44 完成——在 14.17 秒内扫描了 256 个 IP 地址(18 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:08:30 完成——在 12.19 秒内扫描了 256 个 IP 地址(19 个主机)

扫描检测到新设备

Nmap 于 2013 年 10 月 26 日星期六 00:08:54 完成——在 9.45 秒内扫描了 256 个 IP 地址(16 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:08:44 完成——在 14.17 秒内扫描了 256 个 IP 地址(18 个主机)

扫描 检测到新设备 10.0.1.23 10.0.1.10 10.0.1.41 10.0.1.22 10.0.1.42

Nmap 于 2013 年 10 月 26 日星期六 00:09:05 完成——在 11.40 秒内扫描了 256 个 IP 地址(21 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:08:54 完成——在 9.45 秒内扫描了 256 个 IP 地址(16 个主机)

扫描检测到新设备

Nmap 于 2013 年 10 月 26 日星期六 00:09:16 完成——在 10.25 秒内扫描了 256 个 IP 地址(19 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:09:05 完成——在 11.40 秒内扫描了 256 个 IP 地址(21 个主机)

扫描检测到新设备 10.0.1.10

Nmap 于 2013 年 10 月 26 日星期六 00:09:26 完成——在 10.42 秒内扫描了 256 个 IP 地址(最多 20 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:09:16 完成——在 10.25 秒内扫描了 256 个 IP 地址(19 个主机)

扫描 检测到新设备 10.0.1.23 10.0.1.21

Nmap 在 2013 年 10 月 26 日星期六 00:09:59 完成——在 32.71 秒内扫描了 256 个 IP 地址(最多 20 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:09:26 完成——在 10.42 秒内扫描了 256 个 IP 地址(最多 20 个主机)

扫描检测到新设备 10.0.1.22

Nmap 于 2013 年 10 月 26 日星期六 00:10:04 完成——在 5.28 秒内扫描了 256 个 IP 地址(18 个主机)

Nmap 在 2013 年 10 月 26 日星期六 00:09:59 完成——在 32.71 秒内扫描了 256 个 IP 地址(最多 20 个主机)

扫描 检测到新设备 10.0.1.10 10.0.1.41 10.0.1.21 10.0.1.42

Nmap 于 2013 年 10 月 26 日星期六 00:10:12 完成——在 8.00 秒内扫描了 256 个 IP 地址(22 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:10:04 完成——在 5.28 秒内扫描了 256 个 IP 地址(18 个主机)

扫描检测到新设备

Nmap 于 2013 年 10 月 26 日星期六 00:10:21 完成——在 8.61 秒内扫描了 256 个 IP 地址(19 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:10:12 完成——在 8.00 秒内扫描了 256 个 IP 地址(22 个主机)

扫描 检测到新设备 10.0.1.10 10.0.1.23

Nmap 于 2013 年 10 月 26 日星期六 00:11:17 完成——在 55.83 秒内扫描了 256 个 IP 地址(21 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:10:21 完成——在 8.61 秒内扫描了 256 个 IP 地址(19 个主机)

扫描 扫描 检测到新设备

Nmap 于 2013 年 10 月 26 日星期六 00:12:41 完成——在 38.61 秒内扫描了 256 个 IP 地址(最多 20 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:12:03 完成——在 45.79 秒内扫描了 256 个 IP 地址(21 个主机)

扫描检测到新设备 10.0.1.23

Nmap 于 2013 年 10 月 26 日星期六 00:12:52 完成——在 11.05 秒内扫描了 256 个 IP 地址(19 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:12:41 完成——在 38.61 秒内扫描了 256 个 IP 地址(最多 20 个主机)

扫描检测到新设备

Nmap 于 2013 年 10 月 26 日星期六 00:13:00 完成——在 7.39 秒内扫描了 256 个 IP 地址(16 个主机)

Nmap 于 2013 年 10 月 26 日星期六 00:12:52 完成——在 11.05 秒内扫描了 256 个 IP 地址(19 个主机)

扫描

4

0 回答 0