После того, как мы извлекли данные из базы данных и поместили их в Action, выполним цикл for, который будет поочередно извлекать значения из Action и помещать их в user_data.
Рис.1. База данных.
Рис.2. Извлекаем данные и переносим в Action.
Первое значение user_data помещаем в переменную id, второе - в mac:
for user_data in action:
id = user_data[0]
mac = user_data[1]
print id
print mac
Дошло дело и до работы с Mikrotik Routerboard.
Выполняем с ним соединение:
ssh.connect(mtipaddress, port=22, username=mtlogin,password=mtpassword)
Рис.3. Mikrotik Routerboard DHCP Server Leases.
Рис.4. Mikrotik Routerboard get.
В Mikrotik Routerboard нам нужно в DHCP Server во вкладке Leases извлечь значение IP-адреса, который соответствуем MAC-адресу клиента. Указав нужный МАС-адрес, это можно сделать командой:
put [/ip dhcp-s l get [find mac-address=94:0C:6D:E0:BA:63]]
Также и скрипт будет обращаться к Mikrotik Routerboard каждый раз подставляя новый MAC-адрес и заносить в переменную excmd2:
cmd2 = "put [/ip dhcp-s l get [find mac-address=%s]]" % (mac)
excmd2 = ssh.exec_command(cmd2)[1].read()
Рис.5. Mikrotik Routerboard.
Закрываем SSH соединение:
ssh.close()
Данные мы получили, но в том виде, в котором они сейчас, от них толку мало. Необходимо из этого выделить лишь IP-адрес.
Евгений Рудченко специально для ASP24.