Как определить местоположение по ip python
Краткая сводка о том, как написать маленькую программу для получения информации о местоположении по IP-адресу
Для начала откроем любое удобное для нас средство для работы с кодом. У меня это вновь стал Spyder. Дополнительно отмечу, что есть интересный сайт https://ip-api.com, где можно посмотреть всю доступную информацию о местоположении. В зависимости от вашего IP-адреса здесь также может присутствовать и другая информация, вплоть до вашего города, например. Хоть вся информация Вам может выводиться непосредственно на экране уже при посещении сайта, мы же попробуем получить всю доступную информацию при помощи Python. 1. Установим необходимый нам пакет requests. Или проверим, что он уже есть. 2. Введем следующий код:
import requests import pprint def get_location_info(): return requests.get(«http://ip-api.com/json/»).json()
if name == «main»: pprint.pprint(get_location_info())

Oбратите внимание, что в if name и main нужно именно два нижних подчеркивания! Почему-то здесь не отображается, но в приложенном исходнике все есть:
Файл location.py. Программа в одну функцию «def get_location_info():» получает данные с сайта freegeoip.net, используя библиотеку requests. У requests есть метод get для того, чтобы сделать get http запрос. В программе есть метод json, который позволит текст, который возвращается, когда мы запрашиваем этот адрес в формате json, преобразовать во внутреннее представление в Python. В нашем случае этот json будет преобразован в словарь. Последний и выводится после запуска программы. Модуль pprint позволяет красиво отображать объекты Python. При этом сохраняется структура объекта и отображение, которое выводит pprint, можно использовать для создания объекта. Модуль pprint входит в стандартную библиотеку Python. В принципе, его можно было не использовать, но именно он позволяет структурировано вывести наш словарь как результат выполнения программы. Опубликовано июн 28, 15:58 · Автор Victor
Ссылки
- Textpattern website
- Textpattern user documentation
- Textpattern on GitHub
- Textpattern on Twitter
Определение ip адреса посетителя сайта и его геолокации в Python/Django.
Умение определить ip адрес пользователя, заходящего на сайт, может пригодиться например для формирования статистики. Зная ip можно с большой долей вероятности определить физическое местоположение пользователя, а эту информацию уже можно использовать для вывода определенного контента: родного языка интерфейса сайта, актуальной рекламы\цен в данном регионе и много чего еще.

Для решения этой задачи в django будем использовать пакеты django-ipware (определяем ip) и geoip2 (определяем геолокацию).
Как обычно, сначала нужно установить эти пакеты (geoip2 скорее всего уже включен в стандартную сборку django):
$ pip install django-ipware
$ pip install geoip2
Для geoip2 придется скачать бесплатную базу (при чем обязательно в бинарном формате) соответствий городов ip адресам, положить ее например в папку geo/ своего проекта и в settings.py прописать путь к ней — GEOIP_PATH = ‘geo/’
Далее в view.py подключаем пакеты:
from ipware.ip import get_ip
from django.contrib.gis.geoip2 import GeoIP2
и в нужной вьюхе пишем:
ip = get_ip(request)
if ip is not None:
g = GeoIP2()
try:
location = g.city(ip)
except:
location =
else:
# какая-то логика
Итак, сначала из запроса с помощью get_ip мы получаем адрес клиента и кладем его в переменную ip. Если мы получаем адрес, то создаем объект GeoIP2 и пытаемся получить соответствие ip адреса определенному городу на карте из ранее подключенной базы. При успешном выполнении данной операции мы получим словарь location с ключами: region, country_name (страна), country_code (код страны в формате iso_3166-2), city (город), longitude (долгота), latitude (широта), postal_code (почтовый индекс) и dma_code.
Как использовать полученные данные придумаете сами, я например для конкретного посетителя сайта по его городу получаю текущую погоду и вывожу на главной странице справа под поиском.
К сожалению, точно в какой квартире сидит наш клиент узнать не получится, скорее всего удастся получить данные его провайдера, например если вы живете в Гридино, а ваш интернет провайдер находится во Владимире, то и город скорее всего определиться как Владимир, но и этого вполне достаточно для многих целей.
Project_2. Местоположение с помощью IP-адреса (Python)
Проект, который не отнимет много времени, но даст опыт, да и положительные эмоции.
Описание
С помощью скрипта и IP-адреса вычисляем местоположение. Определить точную геолокацию по IP-адресу невозможно: все сервисы, позволяющие находить информацию по IP, могут определить местоположение только на уровне города. Невозможно вычислить ваш или любой другой точный домашний адрес по IP. Это могут сделать правоохранительные органы только в том случае, если они обратятся к Интернет-провайдеру в случае нарушения вами закона.
Код
Создадим 2 файла, которые будут иметь разный функционал:
- 1 main.py обрабатывает IP-адрес
- 2 database.py создаёт базу данных и добавляет данные
Начнём с 1-го файла. Всё ещё импортируем то, что потребуется для реализации проекта.
import requests import database
Напоминаем, что database — это 2-й файл.
Первая функция — main() .
Функция main() используется для разделения блоков кода в программе. Использование функции main() обязательно в таких языках, как Java, потому что это упрощает понимание того, в каком порядке код запускается в программе. В Python функцию main() писать необязательно, но это улучшает читаемость кода.
Функция принимает в виде аргумента строку, которая просит ввести IP-адрес. Затем main() передаёт функции location() данные.
def main(start: str): print(start) ip = input("IP address: ") try: new_data = location(ip) database.base(new_data) except ValueError: pass if __name__ == "__main__": main("Enter the IP address")
Вторая функция location() принимает в виде аргумента строку с IP-адресом. Отправляем запрос с помощью метода get .
GET является одним из самых популярных HTTP методов. Метод GET указывает на то, что происходит попытка извлечь данные из определенного ресурса. Для того, чтобы выполнить запрос GET , используется requests.get() .
Используя .status_code , можно увидеть код состояния, который возвращается с сервера.
Если будет выведено 404, то значит что-то пошло не так.
Следующий этап — проверка на корректный IP-адрес. Если IP-адрес некорректный, то возвращает функцию main() с новой строкой, где сообщается, что нужно ввести корректный IP-адрес. Если всё хорошо, то создаём пустой список. С помощью цикла выводим все данные, которые необходимы и добавляем в список. Вывод будет выглядеть так.
Enter the IP address IP address: 185.101.203.42 [Status]: success [Country]: Болгария [Countrycode]: BG [Region]: 22 [Regionname]: Sofia-Capital [City]: София [Zip]: 1000 [Lat]: 42.6951 [Lon]: 23.325 [Timezone]: Europe/Sofia [Isp]: SIA "Singularity Telecom" [Org]: SIA "Singularity Telecom" [As]: AS209372 SIA "Singularity Telecom" [Query]: 185.101.203.42
Возвращаем кортеж с данными.
def location(ip: str): response = requests.get(f"http://ip-api.com/json/?lang=ru") if response.status_code == 404: print("Oops") result = response.json() if result["status"] == "fail": return main("Enter the correct IP address") record = [] for key, value in result.items(): record.append(value) print(f"[]: ") return tuple(record)
Теперь переходим ко второму файлу database.py , где будет создана база данных с добавлением новых данных.
Импорт, как всегда, с нами. Для базы данных потребуется библиотека sqlite3 .
import sqlite3
Создаём функцию, которая принимает аргумент в виде кортежа.
Во-первых, нам нужно создать новую базу данных и открыть подключение к базе данных, чтобы разрешить sqlite3 работать с ней. Вызов sqlite3.connect() поможет нам в том. Если базы данных database.db не существует, то будет неявно создана.
Чтобы выполнять инструкции SQL и извлекать результаты из SQL-запросов, нам нужно будет использовать курсор базы данных. Вызов con.cursor() в деле.
Теперь, когда у нас есть подключение к базе данных и курсор, мы можем создать таблицы базы данных со столбцами, которые необходимы.
Если в базе данных уже присутствует какой-либо IP-адрес, то выводим «Duplicate «. Если нет, то добавляем в базу новые данные. Вызов conn.commit() зафиксирует транзакцию, скажем так. Так будет выглядеть база данных.

def base(data: tuple): conn = sqlite3.connect("database.db") cur = conn.cursor() cur.execute("""CREATE TABLE IF NOT EXISTS location( Status TEXT, Country TEXT, Countrycode TEXT, Region TEXT, Regionname TEXT, City TEXT, Zip INT, Lat REAL, Lon REAL, Timezone TEXT, Isp TEXT, Org TEXT, Auto_system TEXT, Query TEXT); """) try: check = cur.execute(f"SELECT * FROM location WHERE Query=?", (data[-1],)) if len(list(*check)) == 0: cur.execute("INSERT INTO location VALUES(. );", data) conn.commit() else: print("Duplicate") except TypeError: pass
Сценарий
# Location by IP # Location search by IP address using Python import requests import database def location(ip: str): response = requests.get(f"http://ip-api.com/json/?lang=ru") if response.status_code == 404: print("Oops") result = response.json() if result["status"] == "fail": return main("Enter the correct IP address") record = [] for key, value in result.items(): record.append(value) print(f"[]: ") return tuple(record) def main(start: str): print(start) ip = input("IP address: ") try: new_data = location(ip) database.base(new_data) except ValueError: pass if __name__ == "__main__": main("Enter the IP address")
import sqlite3 def base(data: tuple): conn = sqlite3.connect("database.db") cur = conn.cursor() cur.execute("""CREATE TABLE IF NOT EXISTS location( Status TEXT, Country TEXT, Countrycode TEXT, Region TEXT, Regionname TEXT, City TEXT, Zip INT, Lat REAL, Lon REAL, Timezone TEXT, Isp TEXT, Org TEXT, Auto_system TEXT, Query TEXT); """) try: check = cur.execute(f"SELECT * FROM location WHERE Query=?", (data[-1],)) if len(list(*check)) == 0: cur.execute("INSERT INTO location VALUES(. );", data) conn.commit() else: print("Duplicate") except TypeError: pass
Заключение
Некоторые компании специализируются на сборе информации о диапазоне IP-адресов со всего мира. Они продают эту информацию в виде консолидированных баз данных, которые легко интегрируются в любой веб-сервер с целью быстрого поиска информации о стране, регионе, городе или Интернет-провайдере. Точность этих баз данных колеблется от 80 до 99,8%, согласно их собственным утверждениям. Данный проект показал, как можно легко написать маленький скрипт, который будет собирать необходимую информацию с помощью таких баз.
Ссылка на GitHub
IP-АДРЕСАЦИЯ И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Морковкин Егор Андреевич, Новичихина Алёна Александровна, Замулин Иван Сергеевич
Вопросы безопасности в сети Интернет на сегодняшний день являются достаточно актуальными. Идентификация пользователей с определённым адресом в виртуальном пространстве — IP-адресом — позволяет получать конкретные сведения о них: от географического местоположения до персональных данных. Такой аспект может быть нежелательным для тех, кто имеет дело с конфиденциальной информацией или беспокоится о доступности персональной информации для третьих лиц. Риски особенно возрастают, когда пользователи работают в Интернете в общественных местах или через Wi-Fi. В статье рассмотрены основные категории, ключевые аспекты уязвимости и способы обеспечения безопасности IP-адресов . Также представлен фрагмент работы программы, позволяющей по IP-адресу пользователя определять его местоположение и некоторые персональные данные.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Морковкин Егор Андреевич, Новичихина Алёна Александровна, Замулин Иван Сергеевич
IP-АДРЕСАЦИЯ И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
Картографический модуль для визуализации местоположения IP-адресов
Изучение пользовательской аудитории для задач сетевой безопасности
Применение технологии DNS-Rebinding для определения реального IP-адреса анонимных веб-пользователей
АНАЛИЗ СИСТЕМ АВТОНОМНОЙ ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ САЙТА
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
IP-ADDRESSING AND INFORMATION SECURITY
Security issues on the Internet are quite relevant today. Identification of users with a specific address in the virtual space — an IP address — allows you to get specific information about them: from geographical location to personal data. This aspect may be undesirable for those who deal with confidential information or worry about the availability of personal information to third parties. The risks are especially increased when users surf the Internet in public places or via Wi-Fi. The article discusses the main categories, key aspects of vulnerability and ways to ensure the security of IP addresses. There is also a fragment of the program that allows you to determine the user’s location and some personal data by the user’s IP address.
Текст научной работы на тему «IP-АДРЕСАЦИЯ И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»
IP-АДРЕСАЦИЯ И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
Морковкин Егор Андреевич,
Новичихина Алёна Александровна,
Замулин Иван Сергеевич,
кандидат физико-математических наук, доцент, заведующий кафедрой программного обеспечения вычислительной техники
и автоматизированных систем Хакасский государственный университет им. Н. Ф. Катанова (г. Абакан)
Вопросы безопасности в сети Интернет на сегодняшний день являются достаточно актуальными. Идентификация пользователей с определённым адресом в виртуальном пространстве — IP-адресом — позволяет получать конкретные сведения о них: от географического местоположения до персональных данных. Такой аспект может быть нежелательным для тех, кто имеет дело с конфиденциальной информацией или беспокоится о доступности персональной информации для третьих лиц. Риски особенно возрастают, когда пользователи работают в Интернете в общественных местах или через Wi-Fi. В статье рассмотрены основные категории, ключевые аспекты уязвимости и способы обеспечения безопасности IP-адресов. Также представлен фрагмент работы программы, позволяющей по IP-адресу пользователя определять его местоположение и некоторые персональные данные.
Ключевые слова: IP-адрес, категории IP-адресов, конфиденциальность данных, отслеживание, безопасность в Интернете.
IP-ADDRESSING AND INFORMATION SECURITY
Morkovkin Yegor Andreevich,
Novichikhina Alyona Aleksandrovna,
Zamulin Ivan Sergeevich,
Ph.D. in Physics and Mathematics, Associate Professor, Head of the Software for Computer Technology and Automated Systems Department
Katanov Khakass State University (Abakan)
Security issues on the Internet are quite relevant today. Identification of users with a specific address in the virtual space — an IP address — allows you to get specific information about them: from geographical location to personal data. This aspect may be undesirable for those who deal with confidential information or worry about the availability of personal information to third parties. The risks are especially increased when users surf the Internet in public places or via Wi-Fi. The article discusses the main categories, key aspects of vulnerability and ways to ensure the security of IP addresses. There is also a fragment of the program that allows you to determine the user’s location and some personal data by the user’s IP address.
Key words: IP address, IP address categories, data privacy, tracking, Internet security.
Даже если вы находитесь в киберпростран-стве, вы всё равно характеризуетесь определённым положением, и ваше местоположение определяется вашим IP-адресом (Internet Protocol Address). IP-адрес, который является стандартом для адреса интернет-протокола и представляет собой идентификационный номер устройства, связанный с определённым компьютером или сетью компьютеров. По сути, IP-адреса позволяют компьютерам отправлять
и получать информацию. Но они также могут использоваться для отслеживания физического местоположения пользователей, что не совсем приемлемо для тех, кто заботится о конфиденциальности [1].
Ш-адрес — это уникальный сетевой адрес узла, идентифицирующий устройство в локальной сети или Интернете. Он представляет собой серию из 32 двоичных бит, разделённых на четыре 8-битных байта и переведённых в
десятичную систему (например,
226.162.43.158). Четыре разряда называют октетами. По такой схеме адресации можно было создать более 4 миллиардов IP-адресов, определяемых протоколом IPv4 [2]. Позднее такого количества IP-адресов стало недостаточно. Кроме того, были выявлены недостатки протокола IPv4. В результате был разработан 128-битовый протокол IPv6, удовлетворяющий более высоким требованиям безопасности по сравнению с протоколом IPv4 [4].
IP-адреса можно разделить на несколько категорий, каждая из которых имеет определённые характеристики. Это: публичные, частные, динамические, статические, выделенные IP-адреса.
Публичный IP-адрес (Public IP). Каждое подключенное к Интернету устройство имеет публичный IP-адрес, распространяемый интернет-провайдерами для присвоения имён и номеров. Эти IP-адреса общедоступны для поиска в Интернете, поэтому мы можем найти любое устройство, зная его IP-адрес.
Частный/локальный IP-адрес (Private IP). В отличие от общедоступных IP-адресов, частные IP-адреса недоступны для поиска в Интернете. Это номера, которые маршрутизаторы назначают устройствам в своих сетях, чтобы они могли сообщаться друг с другом.
Динамический IP-адрес (Dynamic IP) — это любой тип IP-адреса, который меняется каждый раз при подключении, обычно через VPN (виртуальную частную сеть). Это затрудняет отслеживание пользователей в Интернете, так как их адрес постоянно меняется. Кроме повышенной безопасности, динамические адреса отличаются простой и автоматической установкой, более низкой стоимостью и снижением вероятности конфликта IP-адресов [3].
Статический IP-адрес (Static IP) не меняется. С помощью VPN статические IP-адреса обычно передаются тысячам пользователей, чтобы скрыть их личность. Однако некоторые веб-сайты блокируют эти общие IP-адреса, что
требует от пользователей получения выделенных IP-адресов.
Выделенный IP-адрес (Dedicated IP) назначается только одному пользователю и не может использоваться несколькими [1].
Для третьих лиц доступ к IP-адресу пользователя является ценной информацией. Причём масштабность использования IP может варьироваться от незначительных неудобств для пользователя или нескольких пользователей до полномасштабных кибератак, в том числе на государственном уровне.
Выделяют ряд оснований, согласно которым небезопасно или нежелательно использовать в сети Интернет свой действительный IP-адрес. Среди них можно выделить следующие.
1. Персонализированный спам. Рекламодатели становятся всё более изобретательными с каждым днём. В последнее время многие рекламодатели начали внедрять программы отслеживания в онлайн-статьи. Эти трекеры записывают IP-адрес и отправляют целевые объявления на основе просмотров пользователя. Например, прочитав статью о том, как ухаживать за спаниелем, на следующий день вы можете начать получать на электронную почту рассылку от питомников и зоомагазинов.
2. Географическое местоположение. IP-адрес указывает, в каком городе находится пользователь. Если эта информация попадает к третьим лицам, у них появляется возможность узнать фактический адрес. Так, многие злоумышленники следят за социальными сетями, чтобы знать, когда домовладельцы уезжают из города. Это повышает риск совершения преступлений в момент отсутствия хозяев дома.
3. Доступ к определённым услугам: геолокация важна не только для потенциальных преступников. Многие онлайн-сервисы получают информацию по IP-адресу и ограничивают доступ к их услугам. Например, YouTube TV позволяет видеть местный контент только из города, в котором проживает пользователь. Netflix определяет, в какой стране находится
каждый клиент сервиса, и предоставляет доступ только к библиотеке фильмов и иного контента этой страны. Многие компании устанавливают дифференцированные тарифы в зависимости от того, где проживает пользователь. Не является исключением доступ к он-лайн-играм. Администратор, который имеет доступ к настройкам сервера, может запретить участвовать в игре, добавив 1Р-адрес в чёрный список.
4. DoS/DDoS-атаки. Зная Ш-адрес пользователя, можно выполнить DoS-атаку (отказ в обслуживании). При такой атаке затрудняется получение доступа к сетевым ресурсам, включая посещение различных веб-сайтов, использование онлайн-аккаунта и даже электронной почты. Самый распространённый метод осуществления таких атак заключается в отправке большого количества запросов на адрес сервера, что вызывает отключение системы из-за перегрузки трафиком. DDoS-атака (распределённый отказ в обслуживании) работает аналогично, только в ней задействовано несколько машин, поэтому трафик в данном случае ещё более интенсивный.
5. Доступ к личной информации: похитители личных данных постоянно ищут персональную информацию. Такая информация может быть использована для совершения преступлений, в том числе таких, когда злоумышленник выдаёт себя за того человека, информацию о котором он получил (маршрутизируя активность через чужой адрес). Эта информация может включать: номер телефона, почтовый адрес, дату рождения и иную ценную информацию для похитителей персональных данных. По 1Р-адресу злоумышленник не может напрямую получить всю необходимую информацию. Однако хакер, имеющий доступ к 1Р-адресу, может отследить пользовательского провайдера, а затем, используя фишинго-вую атаку, попытаться убедить интернет-провайдера передать ему персональные данные.
6. Особой категорией выделяют торговлю в «даркнете»: некоторые злоумышленники получают доступ к чужим IP-адресам только с целью последующей их нелегальной продажи.
7. Отслеживание активности: многие работодатели, особенно с появлением удалённой работы, пытаются отслеживать деятельность подчинённого через IP-адрес. Хотя такая практика не может быть технически незаконной, она по-прежнему является вторжением в частную жизнь.
8. Авторские и смежные права: в ряде стран, например, в США, действуют строгие законы, касающиеся авторских прав. Эти законы касаются отслеживания сервисов торрен-тов, связанных с загрузками лицензионной музыки и фильмов. Как только правоохранительные органы получают IP-адрес пользователя, они могут обратиться к интернет-провайдеру и потребовать, чтобы компания предоставила имя и адрес человека [1].
В качестве примера, отражающего уязвимость IP-адресов, был написан небольшой скрипт на языке программирования Python. Программа получает на вход IP-адрес какого-либо пользователя или сайта. В данном случае был выбран IP-адрес Хакасского государственного университета имени Н. Ф. Катано-ва. Полученный IP-адрес направляется в виде json-запроса в библиотеку данных IP-адресов. Ответом на запрос являются различные персональные данные, начиная от статуса активности IP-адреса до его местоположения по географической широте и долготе. Имея данные географических координат, можно на карте указать местоположение полученного на вход IP-адреса. Зная географическую широту и долготу IP-адреса, скрипт формирует HTML-документ с картой, на которой по координатам указывается местонахождение данного IP. Фрагмент работы скрипта (определение локации Хакасского государственного университета им. Н. Ф. Катанова) представлен на рисунке.
Каждый раз, когда вы посещаете веб-сайт, он потенциально может собрать ещё больше информации о вас. Объединив ваш IP-адрес с другой информацией, полученной из метаданных, файлов cookie, трекеров и тактики снятия отпечатков пальцев браузера, владельцы вебсайтов, маркетологи и рекламодатели могут составить ваш достаточно подробный профиль.
Установка брандмауэра и виртуальной частной сети (VPN) помогает повысить безопасность IP-адреса. Большинство маршрутизаторов имеют встроенные брандмауэры. Дополнительной гарантией является проверка вашим интернет-провайдером [1]. Кроме того, для защиты данных можно использовать криптографические протоколы, такие как TLS (Transport Layer Security). Этот протокол применяется в стеке TCP/IP поверх TCP и позволяет организовать безопасный канал информа-
ционного обмена между узлами на прикладном уровне взаимодействия. Применяемые в этом протоколе инструменты криптографии аналогичны VPN, однако для поддержки TLS не требуется установки специализированного программного обеспечения [5].
Таким образом, IP-адрес позволяет установить местоположение устройства в сети, а также получить информацию о пользователе. Такой аспект может быть полезен, например, при расследовании преступлений. Для получения такой информации делаются официальные запросы интернет-провайдерам, администраторам сети. Однако получение информации по IP-адресу может осуществляться и злоумышленниками с помощью специально разработанных программ, поэтому обеспечение безопасности IP-адресов на сегодняшний день является актуальной задачей.
Фрагмент работы скрипта, написанного на языке Python
1. VPN Consumer Usage, Adoption, and Shopping Study: 2021 / Security.org Team. URL: https://www.security.org/resources/vpn-consumer-report-annual/ (дата обращения: 21.03.2022).
2. Всё об IP-адресах и о том, как с ними работать / Habr.com: [сайт]. URL: https://habr.com/ru/post/350878/ (дата обращения: 23.03.2022).
3. Используйте VPN с динамическими IP-адресами для анонимности и конфиденциальности / Ru.itopvpn.com: [сайт]. URL: https://ru.itopvpn.com/blog/dinamicheskiy-ip-vpn-1367 (дата обращения: 25.03.2022).
4. Подлесный А. О., Полякова О. С. Новый протокол IPv6 как решение проблемы нехватки IP-адресов в сети Интернет. URL: https://elibrary.ru/download/elibrary_20889679_35934274.pdf (дата обращения: 27.03.2022).
5. IP-сети в безопасности — безопасность в IP-сетях / Инфотех: [сайт]. URL: https://infoteh-msk.ru/news/ip-network-security-security-in-ip-networks/ (дата обращения: 29.03.2022).
© Морковкин Е. А., Новичихина А. А., Замулин И. С., 2022