Многие администраторы серверов хотят, чтобы их сервер использовался только людьми, а не поисковыми программами, такими как wget
. Один из способов блокировать такие программы - использовать log log . Анализ журналов позволяет идентифицировать поисковые программы, выявляя статистически значимые сходства между запросами, часто по времени.
Всякий раз, когда я пытаюсь использовать wget для загрузки пакетов через сценарий оболочки (один похожий на тот, что создан в synaptic
, в основном они фактически создаются в synaptic
), лишь немногие пакеты загружаются, и большинство пакетов не загружается из-за отказа в соединении .
Поэтому я твердо думаю, что наиболее вероятная причина отказа в соединении заключается в том, что серверы Ubuntu используют анализ журналов для блокировки программ.
Используют ли серверы Ubuntu анализ журнала для блокировки (поиска пакетов) программ?
РЕДАКТИРОВАТЬ:
Я выполнил несколько сценариев, которые содержали пакеты небольшого размера (т. Е. они будут загружены за меньшее время). Такие сценарии работают должным образом, как и ожидалось. Ошибка возникает с пакетами, которые имеют большой размер (следовательно, они занимают больше времени).
wget
имеет опцию --random-wait
, предназначенную для предотвращения блокировки анализа журнала. Из документов :
--random-wait
Некоторые веб-сайты могут выполнять анализ журналов для выявления поисковых программ, таких как Wget, путем поиска статистически значимых сходств в время между запросами. Эта опция заставляет время между запросами варьироваться от 0,5 до 1,5 * секунд ожидания, где ожидание было задано с помощью опции
--wait
, чтобы замаскировать присутствие Wget от такого анализа.Статья 2001 года в публикации, посвященной разработке на популярной потребительской платформе, предоставила код для выполнения этого анализа на лету. Его автор предложил блокировку на уровне адресов класса C, чтобы гарантировать, что программы автоматического поиска были заблокированы, несмотря на изменение адресов, предоставленных DHCP.
Опция
blockquote>--random-wait
была вдохновлена этой опрометчивой рекомендацией заблокировать много несвязанных пользователей с веб-сайта из-за действий одного.Вероятно, если сервер принимает вас с включенной опцией
--random-wait
, но не без нее, он использует анализ журнала.
Большинство зеркал не контролируются Ubuntu, и их конфигурация полностью зависит от системных администраторов. В некоторых случаях некоторые зеркала могут блокироваться. Лично я не понимаю , почему они бы это сделали, но, учитывая значения по умолчанию, wget
довольно просто отследить его строку агента пользователя даже до того, как вы начнете рассматривать поведенческое отслеживание.
Вы можете сделать wget
похожим на текущий apt
довольно просто:
wget -U "Ubuntu APT-HTTP/1.3 (0.9.9.1~ubuntu3)" ...
И, как заметил другой пользователь, если ваше текущее зеркало контролируется кем-то, кто не хочет, чтобы вы использовали wget
, вы можете просто использовать другое зеркало . Их много.