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

0

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

Маллиган
источник
7
Нет. Я всегда чувствовал, что толпа CIDR громко заявляет о создании подсети для мертвого искусства, но в этом случае это абсолютно верно. С точки зрения CIDR, хост существует в каждой маске для этого диапазона, превышающего его собственную маску, и поэтому он фактически не имеет единственной статической подсети, к которой принадлежит.
Фрэнк Томас,
Этот ответ по сетевой инженерии является отличным объяснением IP-адресации.
Рон Мопин
1
Проще говоря, маска сети определяет размер сети, поэтому, если у вас ее нет, у вас нет возможности узнать, где находятся границы.
MaQleod

Ответы:

1

Краткий ответ - нет.

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

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

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

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

Зина
источник