При использовании python-nmap, но не могу сохранить результат.
Использую словарь, что бы хранить результаты.
Эта функция вызывается и работает. Но она изменяет os_list только внутри себя. В основной программе словарь не изменяется.
Так запускаю сканер
Подозреваю, что всё работает как-то в разных потоках. Как правильно получить результат асинхронного сканирования?
Использую словарь, что бы хранить результаты.
Python:
os_list={}
nm = nmap.PortScannerAsync()
Эта функция вызывается и работает. Но она изменяет os_list только внутри себя. В основной программе словарь не изменяется.
Python:
def callback_nmap(host, scan_result):
global os_list
try:
os_list.update({host:scan_result['scan'][host]['osmatch'][0]['osclass'][0]['osfamily']})
except IndexError:
pass
Так запускаю сканер
Python:
nm.scan("192.168.1.1", arguments="-O",callback=callback_nmap)
Подозреваю, что всё работает как-то в разных потоках. Как правильно получить результат асинхронного сканирования?