- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть множество подсетей, разбросанных по десятку ДЦ. Каждый со своими маршрутизаторами и отдельной AS. Время от времени надо узнавать, смотрит ли сеть в мир с конкретного оборудования или же она снята с анонсов.
Как бы это более-менее толково реализовать?
Обрисовал задачу техническому специалисту, его предварительный вердикт таков:
Для проверки того, есть ли блок в анонсе можно использовать LG (looking glass) провайдеров. Когда провайдеры предоставляют доступ на чтение своих таблиц маршрутизации (для траблшутинга проблем с маршрутизацией).
Пример проверки - http://lg.retn.net/ заходим сюда. Выбираем PoP - это один из маршрутизаторов провайдера в нужном нам регионе (если сеть анонсится правильно, то она будет присутствовать во всех). Например, DE (Frankfurt, EQX). Выбираем Query: v4 bgp route terse. И указываем IP-address, к примеру 1.1.1.1
На выходе получаем:
inet.0: 741225 destinations, 2419437 routes (738737 active, 213578 holddown, 369602 hidden)
+ = Active Route, - = Last Active, * = Both
A V Destination P Prf Metric 1 Metric 2 Next hop AS path
* ? 1.1.1.0/22 B 170 200 100 48347 I
unverified >87.245.232.234
87.245.233.165
? B 170 100 90 3216 48347 I
unverified >80.81.192.243
? B 170 100 100 20485 48347 I
unverified >80.81.194.117
? B 170 100 100 6939 20764 48347 I
unverified >80.81.192.172
Что говорит о том, что блок анонсится в составе 1.1.1.0/22 от AS48347.
Как всё это оформить скриптом? Желательно не никсовыми командами, а сразу средствами php.
1. "Все уже украдено до нас"
Вот это готовый и достаточно удобный Looking Glass и даже с графикой в выводе BGP-paths https://github.com/hsdn/lg
Примеры работы
http://dev.hsdn.org/lg/?command=graph&protocol=ipv4&query=123.45.67.89&router=example1
http://dev.hsdn.org/lg/?command=graph&protocol=ipv4&query=8.8.8.8&router=example1
Это ведь решение для своего оборудования? У нас нет собственного роута с фулл вью.
Это ведь решение для своего оборудования? У нас нет собственного роута с фулл вью.
Берите с халявных, отдающих их. Я картинки-примеры не со своей железки снял, а от них же, от разработчиков
Берите с халявных
А как такие найти?
Набросайте аналогов lg.retn.net в тему?
У этих товарищей мало регулярок в коде, неудобно парсить, а API нет, насколько я вижу. Да и всё время приходится вводить нужный адрес в форму, по http://lg.retn.net/cgi-bin/LG.cgi?r=5&q=b&a=1.1.1.1 результат не отдаётся.
На любой вкус и цвет: https://lookinglass.org/
У некоторых есть JSON API, например: https://www.de-cix.net/en/resources/looking-glass
Мне лень выгребать все сервисы с API руками, если соберете их сами, расшарьте, плиз, куда-нибудь.
Пытаемся смотреть через https://stat.ripe.net/data/bgp-state/data.json?resource=1.1.1.0, но показывается что-то не то. По крайней мере, автономки не видны.
Или нужно брать другое API?
Пытаемся смотреть через https://stat.ripe.net/data/bgp-state/data.json?resource=1.1.1.0, но показывается что-то не то. По крайней мере, автономки не видны.
Или нужно брать другое API?
Если я правильно понял задачу (допускаю, что нет, потому что устал), то:
https://stat.ripe.net/data/address-space-usage/data.json?resource=193/23
https://stat.ripe.net/docs/data_api
Address Space Usage
Не, не то:
{"status": "ok",
"server_id": "app024",
"status_code": 200,
"version": "0.4",
"cached": true,
"see_also": [],
"time": "2019-05-21T16:34:07.168380",
"messages": [],
"data_call_status": "supported - connecting to ursa",
"process_time": 0,
"build_version": "2019.5.16.97",
"query_id": "20190521163407-6c0377af-7f16-46be-b756-1a49833d452b",
"data": {
"assignments": [ {
"status": "ASSIGNED PA",
"asn_name": "RIPE-NCC",
"address_range": "193.0.0.0/21",
"parent_allocation": "193.0.0.0-193.0.23.255"
}
],
"query_time": "2019-05-17T00:00:00",
"ip_stats": [ {
"status": "ASSIGNED PA",
"ips": 512
}
],
"resource": "193.0.0.0/23",
"allocations": [ {
"allocation": "128.0.0.0/1",
"status": "ALLOCATED UNSPECIFIED",
"asn_name": "IANA-BLK",
"assignments": 0
},
{
"allocation": "193.0.0.0-193.0.23.255",
"status": "ALLOCATED PA",
"asn_name": "NL-RIPENCC-OPS-990305",
"assignments": 1
}
]
}
}
Нет данных по AS.
И не должно быть, если я правильно еще помню, потому что ALLOCATED / PA