Получение (списка) сетей, в которых есть IP узла
|
|
Навеяно при изучении фаерволов... Сайты в сети Интернет не всегда хостятся на одном узле, тем более если это система разветвлённых общемировых порталов типа поисковика Google, магазина Amazon или система доставки видеоконтента Netflix. Поэтому для определённого сайта не всегда достаточно знать его доменное имя. Например, для создания правила переадресации в iptables, ipfw и прочих фаерволах нужно указать IP-адрес(а) узла назначения. Для этого я придумал такую функцию-однострочник (для удобства чтения поделена на две строки): |
||||||||||||
Показать
gethostnets() { host -t a $1 | awk 'NF>1{print $NF}' | while read -r line; do echo $(whois -a $line | grep inetnum | tr -d ' ' \ | cut -f2 -d':' | awk '{system("ipcalc -rn "$1" | grep -v deaggregate | sort -t/ -n -k2 | tail -n 1")}'); done }
Допустим, нужно поменять маршрут к узлу mail.ru. В командной строке пишем gethostnets mail.ru и функция вернёт список сетей, в которых есть IP-адрес мэилрушного сайта:
$ gethostnets mail.ru 94.100.176.0/21 217.69.140.0/23 217.69.140.0/23 94.100.176.0/21 $
Для работы необходим установленный пакет ipcalc. Не знаю, насколько этот однострочник будет полезен, но его реализация дала мне пищу для ума, писал и отлаживал я его несколько дней. 
Не уверен, нужно ли делать пошаговый разбор скрипта, если кому-то нужно понять логику его работы — напишите комментарий или письмом в мою почту. Сделаю заметку-дополнение к статье.
P. S. Понял, что правильнее и аккуратнее будет искать и анализировать автономные системы, связанные с IP целевого узла. Так и провайдера можно узнать точнее. Но это тема для другой заметки...

Хаки и трюки
Виртуалки
Сисьадминство
BASH-скрипты
Парусные суда
Праздники
Моё чтиво
Игра KSP
8 февраля 1828 года в городе Нант во Франции в семье преуспевающего адвоката родился Жюль Верн — автор, чьи произведения получили огромную популярность в мире. Верн, написавший в 1851 году свой первый фантастический рассказ «Путешествие на воздушном шаре», пытался быть реалистичным в деталях, много времени посвящая изучению научных сведений, объединяя в своих произведениях науку, изобретения и динамику увлекательных приключений.
Joli OS 1.2 (Robby)
Joli OS 1.2.
Франции намутили дистрибутив, основанный на убунте, подходящий для слабых нетбуков и старых компов. Затем это дело трансформировалось в Jolicloud, потом —
Virtualbox’е, и в
VMware. Везде разрешение 640x480 и 800x600. Тогда выполнил sudo nano /etc/default/grub и раскомментировал/добавил строки:
PC-BSD 10.0 (Joule)
TrueOS —
PC-BSD 10.0 (Joule).
Mate, но выбрал
KDE, оно локализовано нормально.
«Истинный канон жёлтого двора» — перевод с китайского В. Виногродской
«Перевёрнутое дерево» — Кришан Чандар
Doudou Linux 2.1 (Hyperborea)
Doudou Linux 2.1 Hyperborea.

Cintu 17.10
Дистрибутив, основанный на
Ubuntu, но с
Cinnamon’ом —
Cintu 17.10. Пилит её Алексей «alv» Федорчук (