Меню
Контакты
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Хот-спот (Wi-Fi) для Mikrotik Routerboard. Пишем скрипты. Часть 10(10/11)

 28 Июл 2011    MikroTik, Hotspot

 

После того, как мы извлекли данные из базы данных и поместили их в Action, выполним цикл for, который будет поочередно извлекать значения из Action и помещать их в user_data.

 

 Пишем скрипты Wi-Fi зоны Mikrotik Routerboard. Продолжение

Рис.1. База данных.

 

 Извлекаем данные и переносим в Action

Рис.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)

 

 Mikrotik Routerboard DHCP Server Leases

Рис.3. Mikrotik Routerboard DHCP Server Leases.

 

 Mikrotik Routerboard get

Рис.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()

 

 Mikrotik Routerboard

Рис.5. Mikrotik Routerboard.

 

Закрываем SSH соединение:

ssh.close()

Данные мы получили, но в том виде, в котором они сейчас, от них толку мало. Необходимо из этого выделить лишь IP-адрес.

 

Евгений Рудченко специально для ASP24.