мета-данные страницы
  •  

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
zadanie_6._mikrotik [2024/04/20 03:03] wikiadminzadanie_6._mikrotik [2024/06/08 06:43] (текущий) – [Пишем скрипт получения данных с Mikrotik] wikiadmin
Строка 18: Строка 18:
  
 Сделаем Ping до маршрутизатора: Сделаем Ping до маршрутизатора:
-  Ping 192.168.111.2+  ping 192.168.111.2
 Если в ответе увидим Если в ответе увидим
   64 bytes from 192.168.111.2: icmp_seq=1 ttl=64 time=0.072 ms   64 bytes from 192.168.111.2: icmp_seq=1 ttl=64 time=0.072 ms
Строка 29: Строка 29:
  
 Для удаленного доступа на маршрутизатор используем программу ssh: Для удаленного доступа на маршрутизатор используем программу ssh:
-  Ssh –l user1 192.168.111.2 interface wireless registration-table print+  ssh –l user1 192.168.111.2 interface wireless registration-table print 
 + 
 +<bootnote critical>В строке выше -l это латинская строчная маленькая L, а не -1 (минус единица)</bootnote> 
 Эта команда задаёт имя пользователя = user1 и передает маршрутизатору команду получения списка пользователей WiFi:  Эта команда задаёт имя пользователя = user1 и передает маршрутизатору команду получения списка пользователей WiFi: 
   interface wireless registration-table print   interface wireless registration-table print
Строка 49: Строка 52:
   apt list | grep python3-librouteros   apt list | grep python3-librouteros
 Устанавливаем библиотеку Устанавливаем библиотеку
-  sudo apt install python3- librouteros+  sudo apt install python3-librouteros
 Ещё раз проверяем наличие пакета. Ещё раз проверяем наличие пакета.
  
Строка 115: Строка 118:
   DELETE FROM registrations   DELETE FROM registrations
 Напишем в скрипте перед циклом: Напишем в скрипте перед циклом:
-  Cur.execute(“DELETE FROM registrations”) +  cur.execute(“DELETE FROM registrations”) 
-  Con.commit()+  con.commit()
  
 __Итоговый скрипт__ __Итоговый скрипт__
Строка 128: Строка 131:
 cur.execute(“DELETE FROM registrations”) cur.execute(“DELETE FROM registrations”)
 con.commit() con.commit()
-for item in wifiuser+for item in wifiuser:
  insert = “INSERT INTO registrations (mac, signal) VALUES (‘” + item[‘mac-address’] + “’,’” + str(item[‘signal-strength-ch1’]) + “’)”  insert = “INSERT INTO registrations (mac, signal) VALUES (‘” + item[‘mac-address’] + “’,’” + str(item[‘signal-strength-ch1’]) + “’)”
  cur.execute(insert)  cur.execute(insert)
Строка 134: Строка 137:
 api.close() api.close()
 </code> </code>
-//**Теперь наш сайт показывает данные о пользователях**//+ 
 +При выполнении, скрипт не выводит никакой информации на экран. Скрипт считывает с маршрутизатора список MAC-адресов активных WiFi пользователей и записывает этот список в базу данных в таблицу registrations. 
 + 
 +Теперь у нас в таблице registrations базы данных есть список MAC-адресов активных пользователей WiFi, но в таблице users для пользователей указаны не корректные MAC-адреса (столбец mac). 
 + 
 +Для того, чтобы запрос (который вы делали в самостоятельной работе) показывал список активных пользователей необходимо, чтобы в таблице users были пользователи с правильными MAC-адресами. 
 + 
 +Зайдите в sqlite3 (в команде укажите правильный путь к вашей базе данных): 
 +  sqlite3 pythondb 
 +   
 +Добавьте записи пользователей к правильными MAC-адресами, которые у вас попали в таблицу registrations (вместо mac3, mac1 и mac5 укажите нужные MAC-адреса): 
 +  INSERT INTO registrations (mac, signal) VALUES ('mac3', '-72'), ('mac1','-85'), ('mac5','-69'); 
 +   
 +Проверьте, что у вас в таблице users добавились записи: 
 +  SELECT * FROM users; 
 + 
 +//**Если всё сделано корректно то теперь наш сайт показывает данные об активных пользователях сети WiFi**//
 Написанный вами на самостоятельной работе скрипт отображает список пользователей WiFi сети из базы данных. Написанный вами на самостоятельной работе скрипт отображает список пользователей WiFi сети из базы данных.