ネットワーク デバイスが接続されたときにそれを検出するための 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 のホスト)
走査