1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import os
- import shutil
- import optparse
- #функция принимает аргументы из консоли
- def get_argument():
- argument = optparse.OptionParser()
- argument.add_option('-p', '--path', dest='path', help='Путь до файла с результатом сканирования Router Scann')
- argument.add_option('-i', '--interface', dest='interface', help='Название безпроводного интерфейса')
- (options, arguments) = argument.parse_args()
- #проверяем на наличие аргументов
- if not options.path:
- argument.error('[!] Укажите путь до файла')
- elif not options.interface:
- argument.error('[!] Укажите интерфейс')
- return options
- def airodump_scann(interface):
- if not os.path.exists('log'):
- os.mkdir('log')
- # Запускаем сканирование
- os.system('airodump-ng ' + interface + ' -w log/resalt')
- #читаем результат скаирования
- with open('log/resalt-01.csv', 'r') as resalt:
- mac_resalt = []
- for line in resalt:
- res = line.split(' ')
- #получаем список мак-адресов и пару артефактов
- mac_resalt.append(res[0].replace(',', ''))
- return mac_resalt
- def get_list_router_scann(path, mac_resalt_airodump):
- #читаем результат сканирования Router Scann
- with open(path, 'r') as resalt:
- for line in resalt:
- res = line.split(';')#res[8]
- res = res[8].replace('"', '')
- for line_mac in mac_resalt_airodump:
- if res == line_mac:
- print(line)
- #принимаем аргументы как список опций аргументов
- options = get_argument()
- #передаем ввод опции interface
- mac_resalt = airodump_scann(options.interface)
- #передаем опцию path по которой лежит файл со сканам router scann
- #и список mac_resalt
- get_list_router_scann(options.path, mac_resalt)
- #удаляем каталог с логами и переводим карту в рабочий режим
- shutil.rmtree('log')
- #os.system('airmon-ng stop wlan0mon')
|