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 に行われました -- 256 個の IP アドレス (18 個のホスト) が 3.32 秒でスキャンされました

スキャン 新しい機器が検出されました

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 に行われました -- 256 個の IP アドレス (20 台のホスト) が 16.45 秒でスキャンされました

Nmap は 2013 年 10 月 26 日 00:08:02 に実行 -- 6.51 秒でスキャンされた 256 の IP アドレス (18 のホスト)

スキャン中 新しい機器が検出されました 10.0.1.10

Nmap は 2013 年 10 月 26 日土曜日 00:08:30 に行われました -- 256 個の IP アドレス (19 台のホスト) が 12.19 秒でスキャンされました

Nmap は 2013 年 10 月 26 日土曜日 00:08:18 に行われました -- 256 個の IP アドレス (20 台のホスト) が 16.45 秒でスキャンされました

スキャン中 新しい機器が検出されました 10.0.1.23

2013 年 10 月 26 日土曜日 00:08:44 に実行された Nmap -- 14.17 秒でスキャンされた 256 の IP アドレス (18 のホスト)

Nmap は 2013 年 10 月 26 日土曜日 00:08:30 に行われました -- 256 個の IP アドレス (19 台のホスト) が 12.19 秒でスキャンされました

スキャン 新しい機器が検出されました

Nmap は 2013 年 10 月 26 日土曜日 00:08:54 に行われました -- 256 個の IP アドレス (16 台のホスト) が 9.45 秒でスキャンされました

2013 年 10 月 26 日土曜日 00:08:44 に実行された Nmap -- 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 に行われました -- 256 の IP アドレス (21 のホスト) が 11.40 秒でスキャンされました

Nmap は 2013 年 10 月 26 日土曜日 00:08:54 に行われました -- 256 個の IP アドレス (16 台のホスト) が 9.45 秒でスキャンされました

スキャン 新しい機器が検出されました

2013 年 10 月 26 日土曜日 00:09:16 に実行された Nmap -- 256 個の IP アドレス (19 台のホスト) が 10.25 秒でスキャンされました

Nmap は 2013 年 10 月 26 日土曜日 00:09:05 に行われました -- 256 の IP アドレス (21 のホスト) が 11.40 秒でスキャンされました

スキャン中 新しい機器が検出されました 10.0.1.10

2013 年 10 月 26 日土曜日 00:09:26 に実行された Nmap -- 256 個の IP アドレス (20 台のホスト) が 10.42 秒でスキャンされました

2013 年 10 月 26 日土曜日 00:09:16 に実行された Nmap -- 256 個の IP アドレス (19 台のホスト) が 10.25 秒でスキャンされました

スキャン 新しい機器が検出されました 10.0.1.23 10.0.1.21

Nmap は 2013 年 10 月 26 日土曜日 00:09:59 に行われました -- 256 個の IP アドレス (20 台のホスト) が 32.71 秒でスキャンされました

2013 年 10 月 26 日土曜日 00:09:26 に実行された Nmap -- 256 個の IP アドレス (20 台のホスト) が 10.42 秒でスキャンされました

スキャン中 新しい機器が検出されました 10.0.1.22

Nmap は 2013 年 10 月 26 日土曜日 00:10:04 に行われました -- 256 の IP アドレス (18 のホスト) が 5.28 秒でスキャンされました

Nmap は 2013 年 10 月 26 日土曜日 00:09:59 に行われました -- 256 個の IP アドレス (20 台のホスト) が 32.71 秒でスキャンされました

スキャン 新しい機器が検出されました 10.0.1.10 10.0.1.41 10.0.1.21 10.0.1.42

2013 年 10 月 26 日土曜日 00:10:12 に実行された Nmap -- 8.00 秒でスキャンされた 256 の IP アドレス (22 のホスト)

Nmap は 2013 年 10 月 26 日土曜日 00:10:04 に行われました -- 256 の IP アドレス (18 のホスト) が 5.28 秒でスキャンされました

スキャン 新しい機器が検出されました

Nmap は 2013 年 10 月 26 日土曜日 00:10:21 に実行 -- 256 個の IP アドレス (19 台のホスト) を 8.61 秒でスキャン

2013 年 10 月 26 日土曜日 00:10:12 に実行された Nmap -- 8.00 秒でスキャンされた 256 の IP アドレス (22 のホスト)

スキャン 新しい機器が検出されました 10.0.1.10 10.0.1.23

2013 年 10 月 26 日土曜日 00:11:17 に実行された Nmap -- 55.83 秒でスキャンされた 256 の IP アドレス (21 のホスト)

Nmap は 2013 年 10 月 26 日土曜日 00:10:21 に実行 -- 256 個の IP アドレス (19 台のホスト) を 8.61 秒でスキャン

スキャン中 スキャン中 新しい機器が検出されました

2013 年 10 月 26 日土曜日 00:12:41 に実行された Nmap -- 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 のホスト)

2013 年 10 月 26 日土曜日 00:12:41 に実行された Nmap -- 38.61 秒でスキャンされた 256 個の IP アドレス (20 台のホスト)

スキャン 新しい機器が検出されました

Nmap は 2013 年 10 月 26 日土曜日 00:13:00 に実行 -- 256 個の IP アドレス (16 台のホスト) を 7.39 秒でスキャン

Nmap は 2013 年 10 月 26 日土曜日 00:12:52 に実行 -- 11.05 秒でスキャンされた 256 の IP アドレス (19 のホスト)

走査

4

0 に答える 0