Определение IP-адреса подсети адресов

Определение IP-адреса подсети адресов

Имея произвольный публичный IP-адрес, есть ли способ определить подсеть, к которой он принадлежит, не зная маску сети?

решение1

Короткий ответ — нет.

Лучшее, что вы можете сделать, — это строить обоснованные предположения. Насколько обоснованными будут ваши предположения, зависит от того, насколько вы отчаянны и какие ресурсы у вас есть.

Источники, позволяющие сделать предположение, включают (но, вероятно, не ограничиваются)

  1. Подсказки по IP-адресу — по крайней мере, в Новой Зеландии исторически адреса были разбиты на диапазоны размеров (наименьшим из которых был «класс C» из 256).
  2. О чем говорят таблицы маршрутизации BGP.
  3. Согласно посту @Zina - как шлюз и хост отвечают. Здесь есть подводные камни, и это в лучшем случае ненадежно. Предположения о следующем хопе не всегда верны - хотя вы можете улучшить это, если сможете сделать отпечатки устройств и посмотреть, отвечает ли один и тот же маршрутизатор на нескольких адресах, и вывести из этого подсети.
  4. Используя подсказки из служб, доступных на устройствах за маршрутизатором в той же подсети — опять же, крайне ненадежно, но, например, облачная служба может иметь несколько экземпляров одного и того же веб-сервера, настроенных одинаково, а ее соседи, которые могут принадлежать другим арендаторам, будут иметь другие конфигурации.
  5. Последний октет также говорит вам кое-что. Определенные значения, скорее всего, будут действовать «иначе» по сравнению с обычными адресами (широковещательными и сетевыми), и это также может помочь сделать вывод.

решение2

Вы можете найти его с помощью traceroute. Найдите свой публичный шлюз с помощью traceroute www.google.com. Теперь просто выполните трассировку предыдущего / следующего IP, начиная с публичного DG. Когда вы начнете видеть дополнительный переход, это покажет вам границу. Например, мой IP - xy96.112, а мой маршрутизатор показывает, что DG - 96.1. и я вижу то же самое с помощью проверки traceroute в Google, первый переход - локальный IP маршрутизатора, следующий переход - публичный IP шлюза. Так что я знаю, что это как минимум сеть /25 (первый IP -> 1 - мой публичный IP -> 112 - то есть как минимум сеть со 126 хостами). С помощью traceroute я вижу дополнительный переход на xy95.254 (так что DG на 96.1 - первый IP в сети) и дополнительный переход с xy98.1 - так что я предполагаю, что это сеть /22. Конечно, это работает, только если вы получаете ответ с IP-адресом от переходов.

Связанный контент