Полезные советы

Полезные советы 1. Как отрезать рекламу.
Итак, однажды вас достали рекламные баннеры. Кардинальное решение в этом вопросе: отрезать баннеры. Сказано — сделано. При помощи маленького скрипта, который можно взять на http://www.ksaa.edu.ru/~val/no-banners.tar.gz, и squid'а все лишнее обрубается, а для сохранения эстетики страничек вставляется что-нибудь лежащее поближе и радующее глаз.
Принцип действия: squid может вызывать внешнюю программу для проверки неких условий. Программе на стандартный ввод передаются следующие аргументы: URL clien_address ident metod, разделенные пробелами. URL — запрашиваемый URL, client_ad-dress — IP адрес клиента, ident — ident клиента — используется только в случае, если squid было разрешено слать ident запросы, и metod — HEAD, GET или POST. Ну, а возвращать программа должна на стандартный вывод эти же (или подправленные) аргументы. В данном случае нас интересует только замена URL — остальные трогать не надо.
Настраивается все это следующим образом: для начала вам нужен установленный и работающий squid. Этот кэширующий proxy-сервер должен быть в вашем дистрибутиве Linux. Скопируйте сам скрипт squid.redir в директорию с бинарниками squid, например /usr/local/squd/bin. Возможно, вам придется подредактировать его, прописав правильный путь к perl и исправив значение переменной $redir_file на правильный путь к файлу redir.db.
Да, не забудьте сделать его выполняемым для юзера, от имени которого у вас работает squid. Делается примерно так: chown squid squid.redir; chmod 544 squid.redir.
Скопируйте файлы redir и mkmap в директорию с конфигом squid, например /usr/local/squd/etc/. Файл redir является списком "нежелательных" сайтов. Там все ясно, поэтому только одна сторочка для примера:
//images.yahoo.com/promotions/.* //www.nestor.minsk.by/pics/banner.gif,
что значит буквально следующее: "Вместо файлов из директории promotions сайта images. yahoo.com отдавать файл banner.gif с местного веб-сервера." Правьте его, как считаете нужным.
После этого запустите скрипт mkmap, который создаст hash базу redir.db из текстового файла redir.
Осталось только вставить строчку redirect_program /usr/local/squid/ bin/squid.redir в файл squid.conf и перезапустить squid, сказав нечто вроде
kill -1 pid_of_squid.
После этого все должно начать работать. Если не работает, значит вы где-то ошиблись. Тогда стоит проверить cache.log.

2. Как узнать, какая операционная система стоит на сервере провайдера, если он, зараза, не хочет этого говорить? :)
Способов просто куча. Вот пара из них. Первый: даем команду
ping.exe remotehost
Анализируем код TTL: 255 — HP-UX 10.20; 255 — OS/2 Merlin; 255 — Cisco Router 25xx; 128 — Windows 98, NT и Nowell Netware; 64 — Linux, SCO, Cisco HUB 150x; 60 — HP JetDirect; 32 — Windows 95 OSR2.
Второй способ: воспользоваться telnet'ом на 23 порт, или на 25 (тогда надо смотреть, какой у него SMTP daemon) или на 21 (смотрите, какой FTP daemon).

По материалам различных Интернет-источников

X-Stranger xstranger@tut.by
www.linux4u.narod.ru


(c) компьютерная газета


Компьютерная газета. Статья была опубликована в номере 41 за 2001 год в рубрике soft :: linux

©1997-2024 Компьютерная газета