Я использую STEM library in Python
для доступа к Tor. Предположим, у меня есть URL-адрес, который заблокирован в моей стране, и я не знаю, из какой страны он будет разрешен, как я могу просканировать узлы выхода разных стран, чтобы найти правильный узел выхода для доступа?
Сканировать узлы выхода для доступа к заблокированному сайту
Ответы (1)
Моя первая мысль — составить список стран, из которых вы хотели бы протестировать доступ к сайту, и указать Tor использовать ExitNodes из каждой страны и попытаться получить доступ к сайту через прокси-сервер Tor socks, чтобы получить список стран, которые работают.
Например (неполный код):
countries = [ "us", "fr", "de", "ca", "nl" ]
for co in countries:
controller.set_conf("ExitNodes", "{" + co + "}")
# make request using Tor socks proxy for site here
# some check to determine if site is blocking country or not
То, как сайт блокирует доступ к стране, определяет, как ее проверять. Брандмауэр страны может заблокировать доступ к сайту, что может привести к тайм-аутам, или, если сайт блокирует доступ, возможно, они отобразят определенное сообщение или вернут ответ 403
.
Короче говоря, проверьте HTML-код, который вы получаете при использовании каждой страны в качестве выхода, чтобы определить, заблокированы вы или нет.
person
drew010
schedule
03.12.2015
Это должно быть хорошим началом. Должны ли проверяться все выходные узлы страны?
- person Neo; 04.12.2015
Не совсем. Он построит цепь с одним выходным узлом из этой страны. Если вы отправляете сигнал
NEWNYM
снова и снова, вы можете получить разные узлы выхода из страны, но случайным образом (и, возможно, повторяющиеся). Если вы хотите проверить все, я бы предложил получить список всех реле из системы управления и фильтрации тех, у которых есть флаг выхода, создать список и протестировать их по отдельности.
- person drew010; 04.12.2015