Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

5 лет назад
Открыть в
​​Мне в повседневной деятельности постоянно приходится смотреть информацию по тем или иным ip адресам. Обычно интересует страна и город, откуда пришёл запрос. Для этого в браузере стоит закладка в быстром доступе на веб сервис. Недавно попался сервис, который упрощает эти повторяющие действия. С помощью iploka.com и его бесплатного API можно прямо из консоли отправлять запрос на получение подробной информации об ip адресе. Вот пример, как это выглядит: # curl "api.iploka.com/77.88.8…7.88.8.8" Ограничение бесплатной версии - 10,000 запросов в месяц, что для единоличного использования более чем достаточно. Для регистрации необходим только email адрес. Пример простого bash скрипта, с помощью которого можно упростить подобные проверки. В нём сразу используется утилита jq, которая раскрашивает вывод json. API_KEY=822e086fd27e546ffe323554 read -p 'Enter ip address: ' IP curl -s "https://api.iploka.com/${IP}?api_key=${API_KEY}" | jq Можно вывести только необходимую информацию с помощью фильтра в jq: # curl -s "api.iploka.com/77.88.8…7.88.8.8" | jq '.ip, .country_name, .region_name, .connection.isp' Вывод: "77.88.8.8" "Russia" "Volgograd Oblast" "YANDEX LLC" Подобный сервис удобно использовать в мониторинге, где есть контроль за авторизацией. Например, я частенько делаю оповещение в Zabbix на логин по ssh к какому-то серверу. В почту приходит уведомление, включающее в себя информацию об ip адресе, с которого было успешное подключение. Для Mikrotik делаю уведомления об авторизации через Winbox. В Zabbix можно сделать предобработку данных с помощью JavaScript. А в нём уже сделать проверку ip адреса примерно так: var apiKey = '{$API_KEY}'; var ip = 'value'; fetch(`https://api.iploka.com/${ip}?api_key=${apiKey}`) .then(response => response.json()) .then(data => console.log(data)); За основу взял пример из документации iploka, добавил значение IP адреса в виде value, а api передал через макрос $API_KEY. Данный пример не отлаживал и не уверен, что заработает в таком виде. Я не проверял. #сервис #zabbix #мониторинг #бесплатно