Циклический просмотр символов, генерация слов и проверка существования домена - PullRequest
0 голосов
/ 10 апреля 2009

Есть ли способ генерировать слова на основе символов и проверять, существует ли домен с этим словом (ping)?

Что я хочу сделать, это сгенерировать слова, основанные на некоторых символах, например, «abcdefgh», а затем пропинговать генерируемое word.com, чтобы проверить, существует ли оно.

Ответы [ 3 ]

7 голосов
/ 10 апреля 2009

Вы не хотите использовать команду ping, но вы можете использовать socket.gethostbyname() функцию Python , чтобы определить, существует ли хост.

def is_valid_host(hostname):
    try:
        addr = socket.gethostbyname(hostname)
    except socket.gaierror, ex:
        return False
    return True

hosts = ['abc', 'yahoo.com', 'google.com', 'nosuchagency.gov']
filter(is_valid_host, hosts)

Это займет кучу времени и, возможно, рассердит вашего провайдера на вас. Вам тоже лучше:

  1. Использование низкоуровневого интерфейса DNS, такого как dnspython или

  2. Поиск прямого интерфейса с регистраторами доменов, такого как whois , и запрос этого.

Вы не собираетесь использовать это для спама, не так ли?

3 голосов
/ 10 апреля 2009

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

0 голосов
/ 10 апреля 2009

Похоже, вы говорите о перестановках комбинаций символов. Это был довольно хорошо опубликованный рецепт . Эта ссылка должна помочь вам начать.

Еще одно примечание: ping не сообщит вам, существует ли сервер или зарегистрировано его имя, только если он подключен к сети и находится не за брандмауэром, блокирующим трафик ping.

...