Какие шаги вы предпримете, чтобы обнаружить все (или почти все) IP-адреса, которые в настоящее время используются веб-сайтом? Как бы вы были как можно более исчерпывающими, не звоня администратору сайта и не спрашивая список IP-адресов? ;)
nslookup работает, но зависит от запрашиваемого DNS-сервера.
whois - еще один хороший инструмент.
Копай, неплохо.
Возьмем, к примеру, Facebook. Я блокирую этот сайт для большинства пользователей нашей компании, но некоторые из них одобрены для «исследования». Я не могу легко использовать OpenDNS, потому что все мы, похоже, исходим с одного и того же IP-адреса запроса. Я мог бы это изменить, но не хочу добавлять больше vlan, чем у меня уже есть.
Я также мог бы использовать блок, например, regex facebook1 "facebook\.com"
(Я использую брандмауэр cisco), но это довольно легко обойти.
При этом я спрашиваю о поиске IP-адресов для домена, а не о других методах, с помощью которых я могу заблокировать доменное имя.
Вы не можете сделать это надежно. Более крупные сайты, такие как Facebook (или Google и т. Д.), Используют Anycast для своих DNS-серверов, поэтому даже если вы ищете домен в Whois, чтобы получить авторитетный DNS-сервер, ответы могут меняться от часа к часу или даже от запроса к запросу в зависимости от того, из какого центра обработки данных они хотят обслуживать вас.
Для небольших сайтов я бы сделал WHOIS в домене, а затем сделал бы запрос NS на каждом указанном DNS-сервере, чтобы получить полный список всех возможных DNS-серверов для этого домена. Наконец, запросите у каждого DNS-сервера полное доменное имя, для которого вы хотите получить список IP-адресов.
Опробовав несколько вариантов, я обнаружил, что centralops.net дает невероятно обширный набор результатов для DNS, используя свое «Досье домена». В любом случае, это дало мне именно то, что мне нужно, чтобы получить все записи Facebook A (и многое другое).
Чувствую себя инструментом, чтобы наконец ответить на свой несвежий вопрос.
Один из способов сделать это (признаю, не пуленепробиваемый) - это host -t a domain-name
а затем выполните whois в базе данных RIPE / ARIN для всех этих IP-адресов, чтобы получить полный сетевой диапазон, принадлежащий определенному веб-сайту / компании, и заблокировать их все.
(whois или http://cqcounter.com/whois/ )
Вы жестяная банка делайте это надежно, но список IP-адресов может и будет меняться со временем, поэтому вам придется время от времени делать это снова.
Для блокирующих компаний с большим количеством IP-адресов вам сначала нужно найти их номер автономной системы. Это относительно просто; он будет в записи whois для любого из их IP-адресов.
В этих примерах используется GNU jwhois, который обычно появляется в системах Linux. Возможно, вам придется немного изменить команды для других клиентов whois.
$ host www.facebook.com
www.facebook.com is an alias for star.c10r.facebook.com.
star.c10r.facebook.com has address 173.252.120.6
star.c10r.facebook.com has IPv6 address 2a03:2880:2130:cf05:face:b00c:0:1
star.c10r.facebook.com mail is handled by 10 msgin.t.facebook.com.
$ whois -h whois.radb.net 173.252.120.6 | grep origin
origin: AS32934
origin: AS38621
Убедитесь, что он действительно принадлежит Facebook. Если вы блокируете небольшой веб-сайт, у которого нет собственной AS, вам не нужно этого делать, так как вы заблокируете другие люди также. Например, не все возвращенные выше ASN на самом деле принадлежат Facebook.
$ whois -h whois.radb.net AS32934
$ whois -h whois.radb.net AS38621
Теперь мы знаем, что такое ASN Facebook; давайте получим их диапазоны адресов IPv4.
$ whois -h whois.radb.net -- -i origin -T route AS32934 | grep route:
И, наконец, их диапазоны адресов IPv6.
$ whois -h whois.radb.net -- -i origin -T route6 AS32934 | grep route6:
Повторите эти действия для всех их ASN, если у них на самом деле больше одного.
Это просто демонстрация, чтобы показать, насколько легко можно получить информацию. Вы можете преобразовать их в сценарий, когда вам будет удобно. Также обратите внимание, что некоторые из возвращенных диапазонов могут перекрываться; как вы справляетесь с этим, зависит от вас и вашего брандмауэра.
Возможно, это не совсем то, что вы ищете, но я нахожу robtex (http://www.robtex.com/), чтобы быть полезным для поиска используемых IP-адресов и диапазонов.
или вы можете попробовать http://atsameip.com/