Укрощение @Интернет@
" Только кончая задуманное сочинение, мы уясняем себе, с чего нам следовало его начать".Блез Паскаль
Когда для решения поставленной задачи возможностей "голого" HTML оказывается недостаточно, приходится прибегать к вызову внешних программ, взаимодействующих с web-сервером через cgi-интерфейс. Такие программы могут быть написаны на любом языке, хоть на Бейсике, но исторически сложилось так, что в подавляющем большинстве случаев для их разработки используется Perl.
Это лаконичный, немногословный, мощный и в то же время легкий в освоении язык, реализованный практически на всех существующих платформах и операционных системах. Он выгодно отличается от Си отсутствием характерных для последнего проблем переполнения буферов. Однако, несмотря на все свои достоинства, с точки зрения безопасности Perl – едва ли не худший выбор.
Изначально Perl предназначался для разработки средств управления и мониторинга многоуровневых сетей – локальных приложений, нетребовательных к защищенности. Неудивительно, что создатели Perl сочли удобство эксплуатации более приоритетным, чем обеспечение безопасности. Типичный пример: вызов open
может не только открывать файл, но и запускать его, если в имени присутствует символ конвейера. Излишняя гибкость и самостоятельность языка заметно ускоряют программирование, но создают проблемы при написании серверных приложений, обязанных не допустить выполнение любых действий, явно не санкционированных разработчиком.
Никогда нельзя быть уверенным, что все клиенты будут использовать программу "как нужно", а не "как можно". Помимо непреднамеренных ошибок пользователей, большую угрозу представляют злоумышленники, пытающиеся найти такие запросы, обработка которых причинила бы урон серверу.
Проблема усугубляется тем, что большинство скриптов разрабатываются непрофессионалами, порой только-только осваивающих Perl. Неудивительно, что при этом практически всегда допускаются ошибки, приводящие к уязвимости скрипта. На сегодняшний день качественный скрипт – скорее исключение, чем правило. Ошибки нередко обнаруживаются и в профессиональных (вернее, претендующих на это звание) продуктах. Все скрипты Мэта Райта, приведенные в его книге "CGI/Perl", и получившие в результате этого большую распространенность, некорректно фильтруют ввод пользователя, допуская тем самым возможность атаки на сервер.
Создание безопасных серверных приложений представляет серьезную проблему, решению которой и посвящена настоящая глава. (см. так же "Техника сетевых атак" Криса Касперски)
Сокеты (sockets) представляют собой высокоуровневый унифицированный интерфейс взаимодействия с телекоммуникационными протоколами. В технической литературе встречаются различные переводы этого слова – их называют и гнездами, и соединителями, и патронами, и патрубками, и т.д. По причине отсутствия устоявшегося русскоязычного термина, в настоящей статье сокеты будет именоваться сокетами и никак иначе.
Программирование сокетов не сложно само по себе, но довольно поверхностно описано в доступной литературе, а Windows Sockets SDK содержит многоженство ошибок как в технической документации, так и в прилагаемых к ней демонстрационных примерах. К тому же имеются значительные отличия реализаций сокетов в UNIX и в Windows, что создает очевидные проблемы.
Автор постарался дать максимально целостное и связанное описание, затрагивающее не только основные моменты, но и некоторые тонкости не известные рядовым программистам. Ограниченный объем журнальной статьи главы, непосредственно не относящейся к основой теме книги, не позволяет рассказать обо всем, поэтому, пришлось сосредоточиться только на одной реализации сокетов – библиотеке Winsock 2, одном языке программирования – Си\Си++ (хотя сказанное большей частью приемлемо к Delphi, Perl и т.д.) и одном виде сокетов – блокируемых синхронных сокетах.
Большинство ресурсов современного Интернета существует исключительно за счет рекламы. Владельцы сайтов стремятся увеличить количество показов баннеров всеми возможными – и честными, и нечестными – средствами. Рекламодателю, понятное дело, не улыбается тратить свои кровные впустую, оплачивая показы баннеров, которых никто не видел.
Извечное противостояние щита и меча – злоумышленник изыскивает способы обмануть рекламодателя, а рекламодатель всеми силами стремится распознать обман злоумышленника.
Эта глава раскрывает те хитрости, включая нетрадиционные и малоизвестные, к которым прибегают злоумышленники для обмана своих спонсоров. Технические детали атак опущены – книга ориентирована не на взлом, а на защиту и адресована в первую очередь на
разработчикам собственных баннерных сетей.
Com US Robotics Courier V. Everything
Модем US Robotics Courier V. Everything компании 3Com – одна из лучших моделей, представленных на Российском рынке. На совесть сделанная система адаптивной подстройки под конкретную линию, добротные эхо - гаситель, компенсатор сдвига несущей и джиттера фазы вкупе с высокой чувствительностью и удовлетворительной сопротивляемостью к шуму оправдывают отнюдь немалую стоимость этого модема.Отличительная особенность Courier V. Everything - рекордно высокая скорость приема на сильно зашумленных каналах. В этом отношении он обгоняет все остальные модемы, включая ZyXEL, и даже превосходит последний в несколько раз! Однако ZyXEL способен работать на гораздо более зашумленных линиях, чем Courier V. Everything, пусть и с небольшой скоростью. Поэтому вопрос: какой же модем выбрать Courier V. Everything или ZyXEL Pro? – отнюдь не прост. По мнению автора, лучший выход из положения – покупка двух модемов. А что? Ведь ни одна женщина не ходит и летом, и зимой в одном платье – чем же мы, модемщики, хуже?!
Возможности:
Подстройка уровня выходного сигнала есть, авто
Подстройка уровня входного сигнала есть, авто
Механизм адаптивной настройки на линию есть
Измеритель АЧХ линии есть
Сбор статистики соединения есть, подробный
Жидкокристаллический экран нет
Ограничение скорости соединения есть
Реле для отключения параллельного телефона есть
Распознает сигнал занято да
Встроенный АОН есть
Встроенный Автоответчик нет
Чипсет RockwellTexas Instruments
Характеристики линии и соединения, определяемые модемом в режиме сбора статистики:
Протокол связи да
Скорость приема \ передачи да
Частота несущей приемника \ передатчика нет
Отношение сигнал \шум да, последняя + максимальная
Уровень входного сигнала да
Уровень выходного сигнала нет
Задержка возврата эха да
Уровень ближнего эха нет
Уровень дальнего эха нет
Дрожание фазы нет
Сдвиг частоты нет
Условное качество линии да
Измерение АЧХ да
Количество переданных блоков да
Количество блоков, переданных с ошибками нет

Рисунок 16 Рис. Courier Внешний вид модема 3Com US Robotics Courier V. Everything
A: Чем рискует посетитель виртуального магазина?
Если злоумышленнику удастся похитить номер кредитной карточки жертвы, он без проблем сможет снять с нее некоторую сумму денег (варьирующуюся в зависимости от его наглости и осторожности, ограниченной разве что количеством денег на счету).В простейшем случае для этой цели организуется "подпольный" виртуальный магазин, исправно собирающий номера кредиток, но не высылающий покупателям никаких товаров. И такие "ловушки" в сети действительно есть: вот заходит человек на платный "no name"-сервер и спустя какое-то время обнаруживает, что с его счета все денежки сняты подчистую. Это нетехнический
прием хищения и аналогичные магазины-однодневки возникают не только в сети, но и в реальной жизни, – соберет некая фирма столько-то заказов, получит предоплату, и… исчезнет без следа.
А чем рискует пользователь, не посещающий ресурсы сомнительно происхождения, и пользующийся услугами исключительно крупных, проверенных поставщиков? Все возможные технические угрозы можно разделить на три категории: подмена целевого субъекта; навязывание ложного маршрута; внедрение в компьютер жертвы программы-шпиона.
К этому списку было бы можно добавить еще один пункт "перехват сетевого трафик" – алгоритмы шифровки номеров кредитных карт (специально придуманные для расчетов по незащищенным каналам) хорошо работает только на словах, а в реальной жизни разработчики сплошь и рядом допускают программные ошибки, в той или иной степени ослабляющие стойкость шифра к взлому, – но, к счастью, подавляющее большинство злоумышленников не обладают надлежащей квалификацией и эту угрозу можно смело игнорировать. В любом случае, популярная книга – не лучшее место для обсуждения вопросов, связанных с криптографией, а заинтересованные читатели могут удовлетворить свое любопытство, обратившись к книге Криса Касперски "Техника сетевых атак".
– подмена целевого субъекта: "Подмена целевого субъекта" на нормальном человеческом языке обозначает совокупность технических приемов, вводящих пользователя в заблуждение относительного его местопребывания. Образно это выглядит приблизительно так: покупатель ловит такси и говорит водителю, "гони на Савеловский". Гнать-то водитель гонит, да только вот приезжает не на Савеловский, а на его точную копию, отличающуюся от оригинала лишь тем, что первый же продавец снимает все деньги с кредитной карточки покупателя.
??? Рисунок "карикатура" обыграть предыдущий абзац
Самая крупная кража по такой схеме была произведена в 1998 году Ильей Гофманом, который, выступая от имени продавца компьютерного магазина "Virtualynx Internet LLC 811-555 West Hastings St. Vancouver, ВС V6B 4N5 604-893-7022", сумел, по утверждению следствия, похитить порядка 20 тысяч
долларов. Преступник с сообщниками были задержаны, но дыры в системы безопасности остались открытыми и по сегодняшний день.
Вот нажимает пользователь на баннер и попадает на страничку злоумышленника, содержащую хитрый Java-скрипт, который переправляет клиента, скажем, на www.amazon.com. Ошибка реализации Java-машины, присущая даже поздним версиям Internet Explorer и Netscape Navigator, приводит к возможности выполнения аплетов злоумышленника в контексте перенаправленного адреса. Покупателя в настоящий магазин могут и не пустить, а вывести в окне браузера его точную копию, отличающуюся от оригинала лишь тем, что содержимое всех заполненных форм попадает не к продавцу, а в карман злоумышленника. Но, не смотря на это, адресная строка браузера содержит подлинный адрес магазина, что и вводит покупателя в заблуждение (Подробнее об этом виде атак можно прочитать в книге Криса Касперски "Техника сетевых атак").
Другая разновидность той же атаки – злоумышленник помещает на свою страничку коллекцию ссылок на виртуальные магазины и прочие коммерческие ресурсы. При наведении курсора на любую из ссылок в строке статуса появляется подлинный адрес выбранного ресурса, – пользователь, не замечая подвоха, кликает мышкой и… Откуда же ему знать, что содержимое строки статуса выводится скриптом злоумышленника и не соответствует действительности! А дальше все происходит по сценарию, описанному выше. Покупателя перенаправляют на требуемый магазин, доменное имя которого немедленно помещают в адресную строку браузера, но дальше порога в магазин не пускают, а подсовывают ему динамически сгенерированную руками злоумышленника web-страницу.
Для защиты от такого вида мошенничества достаточно ввести в браузере адрес целевого сайта вручную. Несмотря на свою простоту, этот прием надежно защищает от подавляющего большинства мошенников.
– перехват трафика с навязыванием ложного маршрута: прежде чем подключиться к серверу, необходимо перевести его доменное имя в IP-адрес, но, занимающаяся этим служба DNS, не свободна от ошибок и вообще очень слабо защищена. Протокол UDP, на который опирается DNS-сервер, не позволяет идентифицировать отправителя пакета, т.е. программное обеспечение жертвы не способно отличить ответы настоящего DNS-сервера, от подложных пакетов злоумышленника. Сценарий атаки в общих чертах выглядит так: злоумышленник огромным количеством разнородных запросов очищает кэш DNS-сервера, а затем посылает ему запрос с просьбой определить IP-адрес такого-то доменного имени. Обнаружив его отсутствие в своем кэше, DNS обращается к серверу более высокого уровня, а, тем временем, злоумышленник отправляет ему подложный пакет, содержащий IP-адрес двойника магазина. Введенный в заблуждение DNS-сервер (а DNS-сервера общаются между собой на том же UDP-протоколе) доверчиво помещает фальсифицированный ответ в свой кэш и впоследствии "раздает" его всем пользователям, пытающимся попасть в этом магазин.
Вообще-то, подобные взломы все еще остаются экзотикой, но несколько прецедентов уже имеются. В частности, именно таким образом 28 октября 1996 была подменна главная страница сайта крупнейшего московского провайдера ROSNET.
Причем ни администратор DNS-сервера, ни владелец виртуального магазина не способны предотвратить такую атаку! До тех пор, пока не будет переписано все программное обеспечение, прямо или косвенно связанное с DNS-протоколом, никто не сможет чувствовать себя в полной безопасности. Впрочем, это не повод для паники, поскольку (как уже отмечалось выше), подобные атаки не получили большого распространения, т.к. злоумышленники, по обыкновению не обремененные высокой квалификацией, предпочитают действовать грубой силой и кустарными методами.
– засылка шпиона: большой популярностью среди похитителей пользуется рассылка зловредных программ под видом полезных утилит или фотографий красивых девушек, которые на самом деле никакие не фотографии, а исполняемые файлы. Откроет пользователь такую "фотографию" и запустит на свой компьютер шпиона, отслеживающего нажатие клавиш или что-нибудь еще. Спустя некоторое время собранная информация отправляется злоумышленнику, которому остается всего лишь извлечь из нее номера кредитных карт (вариант: пароли для входа на сервер) и пополнить свой карман некоторой суммой.
???? Рисунок "карикатура" Что-то связанное со шпионами
Отсюда правило, – никогда и ни при каких обстоятельствах не запускайте программы неизвестного происхождения (см. "Как защитится от вирусов, полученных из Интернет?"). Простые меры гигиены, усиленные бдительностью свежайших антивирусов, в подавляющем большинстве случаев способны предотвратить вторжение, но все же срабатывают не всегда. Причиной тому служат вездесущие программные ошибки, позволяющие передать управление на код злоумышленника без ведома и активных действий со стороны жертвы. Конечно, совсем уж без действий, не обходится (сами собой только кошки, да и то не в жизни, а в анекдоте), но от жертвы не требуется ничего экстравагантного, – вполне достаточно посетить сайт злоумышленника или получить посланное им письмо (всего лишь получить - читать необязательно). Подробнее узнать о таком типе атак можно из книги Ильи Медведовского "Атака на Интернет", а здесь достаточно заметить – никакое приложение при сегодняшней культуре разработки программного обеспечения не застраховано от отсутствия ошибок, тем более бытовые программы массового потребления.
Выводы: не утешительные и пессимистичные: существует принципиальная возможность атак, приводящих к нарушению конфиденциальности данных, хранящихся на компьютере пользователя, набираемых с клавиатуры и передающихся по сети. И в ближайшем будущем ситуация улучшаться, похоже не собирается. Напротив, неотвратимый рост сложности программного обеспечения порождает все большее количество ошибок и люков, дающих "кислород" кибернетическим ворам и вандалам всех мастей.
Забавно, но лучший способ избегнуть кражи – отказаться от всех новомодных схем электронной оплаты и заказывать товар старым - добрым наложенным платежом. Все решения, предлагаемые разработчиками, будь то SSL, Virtual Private Network или службы-арбитры, выступающие гарантом законности сделки, реализованы поверх базовых протоколов, принципиально не способных обеспечить надлежащего уровня защищенности. А на шатком фундаменте устойчивой крепости не постоишь. И, как показывают исследования, фундамент Интернет действительно, очень шаткий.
Утешает только то, что шанс оказаться обкраденным не превышает риск погибнуть в автомобильной катастрофе.
Родственные вопросы:
Как защитится от вирусов, полученных из Интернет?
A:Что такое DNS?
Для успешного функционирования любой коммуникационной сети каждый из ее узлов должен обладать некой уникальной характеристикой, отличающей его ото всех остальных. В телефонии для этой цели используется абонентский номер, а в Интернете – IP-адрес. Такая аналогия вполне уместна: IP-адрес состоит из адреса сети (что-то вроде кода города или страны), адреса подсети (по аналогии: номера АТС) и адреса узла (номера абонентского комплекта, находящегося на этой АТС). На заре развития Интернет все узлы и соответствующие им имена перечислялись в специальном host-файле, который, подобно телефонному справочнику, периодически обновлялся и рассылался абонентам сети.Но даром что ли компьютер призван облегчать человечеству жизнь? Вот и предложили все операции с доменными именами автоматизировать и возложить эту заботу на него. Перед разработчиками стояла задача: создать высокопроизводительную базу данных, способную функционировать в сети с огромным количеством узлов и рассчитанную на одновременную обработку множества запросов. Владельцами локальных сетей высказывались пожелания в пользу децентрализованной системы, статус каждого субъекта которой соответствовал бы его роли в сети Интернет. Проще говоря, администраторы требовали права самостоятельно выдавать доменные имена своим подопечным, не дожидаясь пока NIC (Net-world Information Center) обработает поданные ему заявки и внесет исправления в host-файл (а ведь когда-то все так и происходило!)
Таким требованиям отвечала идея иерархического пространства имен – дерева, листья которого хранятся на множестве компьютеров, разбросанных по всему свету, а их администрирование возложено на организаторов подсетей, подключенных к Интернету. Каждому из них предписано установить собственный сервер, содержащий информацию о локальных доменах и способный обслуживать пользователей как внутри подсети, так и за ее пределами.
Существенными недостатками распределенной базы данных является: низкая скорость обработки запросов, плохая согласованность информации и недостаточно высокая надежность системы. Но попытка компенсировать падение производительности путем локального кэширования приводит к еще большей несогласованности и недостоверности полученных данных. Отказавшись от поисков "золотой середины", разработчики постановили: обеспечение доступа к базе – более приоритетная задача, чем целостность и согласованность информации, а любые изменения в системе имен должны вноситься так, чтобы не препятствовать доступу к ресурсу по прежним адресам.
Подобную базу данных в принципе можно реализовать посредством любого существующего протокола, например, скачивать ее по ftp, пересылать по электронной почте и т.д. Но по соображениям совместимости эту службу в 1984 году выделили в самостоятельный протокол, технически обозначенный как DNS (Domain Name System).
Таким образом, DNS - сервис необходим для обеспечения доступа к базе данных, ассоциирующей доменные имена с IP-адресами узлов, которые необходимо "знать" межсетевому IP-протоколу для установки соединения.
>>>>> Врезка
Доменное имя состоит из одного или нескольких поддоменов, разделенных для удобства построения иерархии символом точки, причем порядок задается справа налево. Использование национальных кодировок в именах доменов до сих пор недопустимо, что вызывает неудобства у неанглоязычной части населения планеты (причем препятствия в решении этой проблемы не технические, а скорее организационные – попробуй-ка заставить всех администраторов перейти на новую версию DNS-протокола, поддерживающего UNICODE-кодировку).
Наверху иерархии стоят домены первого уровня, находящиеся во владениях Корпорации Распределения Доменных Имен (ICANN), определяющей порядок и правила регистрации поддоменов. До 14 сентября 1995 года эта услуга осуществлялась на некоммерческой основе и выполнялась бесплатно. На выбор предоставлялось 6 доменов высшего уровня (не считая двухбуквенных кодов стран): "gov"
– для правительственных учреждений, "mil" – для военных организаций, "edu" – учебных заведений, "com" – коммерческих фирм, "org" – бесприбыльных организаций и "net" – поставщикам сетевых услуг.
Впрочем, тематика ресурса может и не соответствовать занимаемому им домену, – никто не запрещает коммерческой организации регистрироваться в домене "org", а уж тем более предоставлять домены третьего уровня, скажем, поставщикам сетевых услуг. Кроме того, такая классификация оказалась несовместима с национальными доменами и породила перлы наподобие "Name.com.ru".
В настоящее время наибольшая концентрация ресурсов наблюдается в домене "com", приглянувшемся не только американским, но и национальным организациям, порой добавляющих свой поддомен слева, скажем так: Name.Ru.com. Это приводит к нехватке уникальных комбинаций, порождающей в свою очередь такое неприятное явление как спекуляция доменами второго (редко – третьего) уровня.
Проблему пытаются решить введением новых специализированных и национальных ("сс" – Кокосовые Острова, "tv" – Тувалу, "md" – Молдавия и т.д.) доменов. Но с ростом ассортимента верхних доменов усложняется поиск необходимого ресурса, – большинство организаций попадает под множество категорий одновременно, и, попробуй-ка, угадай - на каком домене они могут быть расположены!
<<<<<<
Когда пользователь пытается установить соединение с каким-нибудь узлом, скажем, www.meteo-tv.ru, браузер (или другое программное обеспечение) обращается к DNS-серверу (IP-адрес которого прописан в настройках TCP/IP соединения клиента) с просьбой определить IP-адрес этого домена. В зависимости от настроек сервера возвращает либо требуемую информацию, либо ссылку на соседний DNS-сервер, который, по его мнению, более компетентен в этом вопросе.
>>>> Врезка 2
По соображениям производительности весь обмен ведется по протоколу UDP, которой, в отличие от TCP, работает без установки соединения, в результате чего не может надежно идентифицировать отправителя пакета. Эта, казалась бы, несущественная техническая тонкость выливается в концептуальную уязвимость, – любой злоумышленник может навязать своей жертве ложный маршрут, полностью перехватывая исходящий трафик.
Причем на сегодняшний день надежной защиты от таких посягательств не существует и вряд ли она появится в обозримом будущем! Спасает лишь тотальная безграмотность подавляющего большинства злоумышленников, умственные возможности которых реализовать описанную выше атаку не позволяют (известен лишь один случай подмены главной страницы сайта компании "ROSNET", путем нападения на DNS сервер). Подробнее об этой проблеме можно прочитать в книгах "Атака на Интернет" и "Техника сетевых атак", написанных Ильей Медведовским и Крисом Касперски соответственно.
<<<<
Возвращенный ответ попадает в кэш и необходимость постоянного обращения к DNS- серверу более высокого уровня отпадает. Поскольку существует резко выраженное преимущество посещаемости одних узлов перед другими, большинство запросов обрабатывается ближайшим DNS-сервером самостоятельно, а то и вовсе содержится в локальном кэше DNS-клиента! В результате этого накладные расходы на перевод доменных имен в IP-адреса пренебрежительно малы, и до тех пор, пока в сети не происходит никаких изменений - все работает нормально. В противном случае пользователи будут вынуждены караулить у моря погоду, ожидая обновления содержимого кэша используемого DNS-сервера. Так, например, провайдер "Зенон", реорганизуя свою подсеть, оставил меня без доступа к почтовому ящику на целых две недели с хвостиком, – вот такой маленький эпизод из жизни!
Было бы нечестно, говоря о достоинствах DNS, не отметить того обстоятельства, что на сегодняшний день лишь незначительная часть ресурсов сети представлена доменными именами второго уровня. Типичная ссылка состоит из леса поддоменов, суммарная длина которых заметно превышает 8-байт IP-адреса, а осмысленность и легкозапоминаемость – скорее исключение, чем правило (слабо с лету запомнить http://encke.jpl.nasa.gov?).
В принципе проблему наименования узлов можно решить и на клиентской стороне – умеют же многофункциональные телефонные агрегаты вызывать абонента нажатием одной клавиши, а современные почтовые приложения автоматически подставлять адрес получателя по его имени?
Если проблемы, связанные с DNS (позволю себе напомнить их еще раз –
а) небезопасность;
б) нехватка и путаница доменных имен;
в) болезненная чувствительность к вносимым изменениям)
- не разрешается, вполне возможно, что в скором будущем использование "голых" IP-адресов обретет вторую популярность, – ведь запоминать их ничуть не труднее, чем телефонные номера, а цифры по-своему притягательны и красивы.
Родственные вопросы:
Что такое дерево (стек) протоколов?
Можно ли увидеть карту всего Internet, связи, каналы, структура?
Безопасность à Чем рискует посетитель виртуального магазина?
A:Что такое telnet и как с ним работать?
Пару десятков лет назад о персональных компьютерах никто и мечтать не смел. В то время электронно-вычислительные машины занимали целые помещения (ну если не помещения, то шкафы – точно) и стоили жутко дорого. Как правило, один компьютер покупался целиком на всю фирму (или университет) и обслуживал десятки терминалов.Терминалом тогда называли маломощный компьютер, обслуживающий монитор и клавиатуру, а все вычисления выполняла высокопроизводительная ЭВМ. Подобная схема жива и сегодня – именно так функционируют современные суперкомпьютеры, да и не только они.
Программа, выполняющаяся на центральной ЭВМ, получает с терминала исходные данные, выполняет все необходимые вычисления и отправляет результат своей работы обратно на терминал. Ну, чем не классический пример, иллюстрирующий идеальную концепцию ввода-вывода?
Потребность в стандартизации общения терминала с удаленным компьютером возникла еще на заре развития ARPANET, и в результате этого в 1969 году на свет появился протокол telnet (сокращение от telecommunication network protocol – сетевой коммуникационный протокол). С его помощью удавалось осуществить заход на сервер с удаленного терминала, и необходимость иметь аппаратный доступ к узлу (попробуй-ка ее обеспечить!) отпадала. Помимо telnet был разработан и проколол rlogin, впервые появившийся в 4.2 BSD UNIX и предназначавшийся для удаленного управления терминалами между UNIX-узлами. В отличие от универсального telnet, протокол rlogin мог использоваться только в среде UNIX. Это упрощало его программирование, но и ограничивало области применения. Поэтому, в настоящее время протокол telnet по популярности заметно превосходит rlogin.
Технически удаленный доступ в систему можно реализовать перенаправлением ввода-вывода. В самом деле, какая разница соединен терминал с компьютером проводами или межконтинентальной сетью Интернет? С точки зрения прикладных программ терминал всегда остается терминалом, даже если физически не существует в природе. В UNIX любое устройство (в том числе виртуальное) может представляться в виде файла. А файл в свою очередь – это объект, поддерживающий, по крайней мере, две основных операции – чтения и записи данных. Поэтому, Интернет-соединение можно представить как некоторый воображаемый файл.
Грубо говоря, все премудрости telnet-сервера сводятся к умению запихать терминальный ввод-вывод в TCP-соединение ( хотя теоретически можно создать telnet и на базе UDP протокола). Схематично взаимодействие между telnet-сервером и telnet-клиентом показано на рисунке 52

Рисунок 53 Рисунок t26_1.jpg Модель взаимодействия telnet-клиента с telnet-сервером
На заре развития Интернет, когда еще никто не успел додуматься до web, а центром сетевой жизни были почта и Usenet, протокол telnet оказался основным средством межсетевого общения. Сегодня же подобный сервис – большая экзотика. И вряд ли сложно догадаться почему – слишком много развелось за последнее время вредителей и вандалов всех мастей, а удаленное выполнение программ – мощное оружие в руках злоумышленника, вот и стали администраторы закрывать ворота на свои сервера.
К счастью, в Internet существует несколько хороших бесплатных telnet-серверов, предоставляющих бесплатный доступ. (см. "Web-programming à
Какие сервера бесплатно предоставляют право исполнения cgi?")
Достаточный признак наличия telnet-сервера на узле – открытый двадцать третий порт. Впрочем, далеко не каждый сервер пускает к себе всех желающих. Сразу же после установки соединения запрашивается имя пользователя и пароль, но только в редких случаях удается ввести нечто вроде "guest" (в переводе на русский "гость") или "newuser" (в переводе на русский "новый пользователь").
Для общения с telnet-сервером потребуется telnet-клиент. Какой именно выбрать – зависит от вкуса читателя, в книге же будет использоваться исключительно telnet.exe, входящий в штатную поставку Windows 9x/Windows NT. Это не лучший выбор и его возможности сильно ограничены, но он всегда доступен любому пользователю, в то время как остальные утилиты еще попробуй-ка, разыщи!
Внимание: приложение telnet.exe, поставляемое с Windows 95 и Windows 98, содержит ошибку, связанную с переполнением буфера слишком длинным аргументом командной строки. Это позволяет выполнить любой код на компьютере жертвы, стоит ей кликнуть по ссылке в окне браузера, наподобие telnet://server.com/xxxxxxxx, где “xxxx….” специальным образом подобранная последовательность.
До начала работы любого клиента необходимо настроить. Ниже будет показано как это сделать на примере штатного клиента Windows. Остальные же клиенты конфигурируются в той или иной степени аналогично.
A:Как работать с UNIX?
В работе с UNIX нет ничего мистического и освоить простейшие операции можно и в течение одного вечера, особенно если под рукой окажется книжка, написанная простым, толковым языком. К счастью, недостатка в литературе испытывать не приходится, но слишком много – так же плохо, как и совсем ничего. Попробуй, выбери одну книжку из десятка, разбросанных по витрине! Поэтому, в >>>>"Имя это книги" включена короткая глава, помогающая незнакомым с UNIX сделать свои первые шаги. На звание учебника она не претендует, но, по крайней мере, поясняет основные команды UNIX, используемые в этой книге.Для UNIX существует множество интерактивных оболочек с развитым пользовательским интерфейсом – от Mortal Commander (аналог Norton Commander) до графических сред a la Windows. Они упрощают освоения мира UNIX, но оказываются крайне неудобными для удаленного управления компьютером. Даже консольный Mortal Commander ощутимо тормозит на модемных каналах. А о графических оболочках вспоминать и вовсе не приходится, – комфортная работа возможна лишь при наличии шустрой локальной сети! Поэтому, придется поступиться некоторыми удобствами, и, расставшись с мышью, разговаривать с компьютером языком текстовых команд. Такое общение с UNIX в чем-то напоминает работу с интерпретатором MS-DOS "command.com". Разумеется, названия команд окажутся другими, но в целом принцип тот же.
В UNIX (в отличие от MS-DOS) нет стандартной командной оболочки, и первая задача пользователя – выяснить, что именно установлено в системе, и какие альтернативные оболочки доступны.
Путь к используемой в данный момент оболочке содержится в переменной $SHELL, и вывести ее содержимое на экран поможет команда "echo" – "echo $SHELL" (внимание, – соблюдайте регистр – UNIX к нему чувствительна). Результат работы на компьютере автора выглядит так:
Эмулятор UWIN
>echo $SHELL
/usr/bin/ksh
Эмулятор CYGWIN
>echo $SHELL
/bin/sh
Теперь по таблице 6 легко определить, какая именно оболочка запущена (конечно, при условии, что никакие злые духи не изменили имя исполняемого файла).
|
Имя файла |
Название оболочки |
|
bash |
Усовершенствованная оболочка Борна |
|
csh |
Оболочка С |
|
ksh |
Оболочка Корна |
|
sh |
Оболочка Борна |
|
tcsh |
Оболочка TC |
Пару слов об особенностях каждой оболочки. Первой на свет появилась оболочка Борна, фактически представляющая собой язык программирования, ориентированный на управление процессами, вводом-выводом и операции шаблонного поиска. Никакого интерактивного взаимодействия с пользователем в ней не предусматривалось, и вся работа сводилась к написанию управляющих программ – скриптов, обрабатываемых оболочкой.
Первая интерактивная оболочка, получившая название "С", возникла в университете Беркли. Она быстро завоевала популярность, но имела множество недостатков и содержала кучу ошибок, поэтому полностью вытеснить оболочку Борна так и не смогла. Проблема же совместного сосуществования заключалась в полной несовместимости командных языков обоих оболочек. Это приводило к невозможности выполнения скриптов, написанных для одной оболочки, другой оболочкой.
К тому же открытость исходных текстов "С" вызвала появление массы несовместимых между собой клонов. Некоторые из них дожили и до наших дней (как, например, "TC",– своеобразный гибрид "С" и "TENEX" – операционной системы PDP-10).
Существовали и коммерческие оболочки. Из них наибольшей популярностью пользовалось творение, созданное Дэвидом Корном, объединившее в себе лучшие черты своих предшественников. Компания AT&T распространяла ее вместе с операционной системой System V, объявив стандартном де-юре.
Стандарт – хорошо, но платить компании никто не хотел, и вскоре оболочка Борна была полностью переписана в рамках проекта GNU, получив название bash – Borne Again Shell. Многочисленные усовершенствования и перенос в среду LINUX сделали bash самой популярной оболочкой всех времен и народов, хотя многие до сих пор предпочитают пользоваться C-Shell или оригинальной оболочкой Борна. К тому же, по-прежнему не иссякает поток энтузиастов, пишущих свои собственные оболочки.
Во многих случаях различия между оболочками не столь существенны и не отражаются на простейших операциях, но все примеры, приводимые в книге, предназначены для оболочки Корна и их успешное выполнение в других оболочках не гарантируется (хотя и предполагается). Поэтому, полезно знать, какие оболочки установлены администратором на машине. В этом поможет команда "cat /etc/shells", результат работы которой на свежеустановленном эмуляторе UWIN выглядит следующим образом:
cat /etc/shells
/usr/bin/ksh
/usr/bin/sh
/usr/bin/tcsh
/usr/bin/csh
/bin/sh
/bin/ksh
/bin/csh
/bin/tcsh
Запустить любую оболочку можно, набрав ее имя (возможно, вместе с полным путем), в командной строке. А вернуться назад обычно помогает команда "exit". В качестве тренировочного упражнения полезно запустить все доступные оболочки по очереди. (Чаще всего пути "/usr/bin" и "/bin" указывают на один и тот же каталог, поэтому эквивалентны друг другу).
$ echo $SHELL
/usr/bin/ksh
$ /usr/bin/sh
# echo $SHELL
/usr/bin/ksh
# exit
$ /usr/bin/tcsh
# echo $SHELL
/usr/bin/ksh
# exit
$ /usr/bin/csh
%echo $SHELL
/usr/bin/ksh
%exit
Для просмотра содержимого директорий в командном интерпретаторе "command.com" (MS-DOS) предусмотрена встроенная команда "dir", но UNIX-оболочки не поддерживают такой команды. Вместо этого пользователю предоставляется возможность вызвать внешнюю утилиту, выполняющую всю необходимую работу.
Обычно в UNIX для отображения содержимого каталога используется программа "ls", находящаяся в каталоге "/bin". Кстати, пользователи CYGWIN, прежде чем смогут ей воспользоваться, должны скачать с сервера архив fileutils.tar.gz – в минимальный комплект поставки она не входит.
Вызов без параметров выводит на экран содержимое текущего каталога, а заглянуть в корень поможет наклонная черта – "ls /"
ls /
A E proc
base.bat etc reg
baseserviceslink.sh F sys
bin H tmp
C home usr
D lib var
dev linka win
Узнать, что находится в каталоге "/etc" можно передав его имя в качестве параметра команде "ls":
$ ls /etc
crontab inetdconfig.sh passwd.add traceit
in.ftpd init.exe priv.exe tracer.exe
in.rlogind login.allow profile ucs.exe
in.rshd login.deny rc ums.exe
in.telnetd mailx.rc services
inetd.conf mkpasswd.exe shells
inetd.exe passwd stop_uwin
Конечно же, поддерживаются символы-джокеры, – знаки "звездочка" и "вопрос". В UNIX, в отличие от MS-DOS, существует конструкция [char set], которую имеет смысл рассмотреть подробнее. Но для начала нелишне вспомнить назначение "*" и "?". Знак "*" обозначает любое множество любых символов (включая пустое), а "?" всего один непустой символ. Поэтому, "ls x*" выведет на экран все файлы (и каталоги), начинающиеся с буквы "x", а "ls ?tmp"- покажет "_tmp","$tmp" и так далее.
Конечно же, временами гибкости таких шаблонов оказывается недостаточно, например, как быть, когда требуется получить список файлов, начинающихся и на букву "i", и на букву "p"? В MS-DOS с этим приходится управляться в два захода, последовательно отдавая команды "dir i*" и "dir p*". UNIX же с этой проблемой управляется за один присест! Например, так:
$ ls /etc/[ip]*
/etc/in.ftpd /etc/inetd.conf /etc/passwd
/etc/in.rlogind /etc/inetd.exe /etc/passwd.add
/etc/in.rshd /etc/inetdconfig.sh /etc/priv.exe
/etc/in.telnetd /etc/init.exe /etc/profile
А как быть, если необходимо отобразить все файлы, в имени которых присутствует хотя бы одна цифра? Неужели придется писать утомительно длительную последовательность "ls *[0123456789]*"? К счастью нет! - необходимый интервал можно задать следующим образом: "[0-9]", например, вот так:
$ls /etc/*[0-9]*
/etc/k1y /etc/mkss2old /etc/track7
Если такой информации окажется недостаточно и потребуется узнать, скажем, права доступа к файлу, имя владельца и время последнего изменения, то воспользуйтесь ключом "-l" (маленькая латинская буква L, не спутайте с единицей). Например, так:
ls –l /etc
-rwxr–-r–- 1 root Everyone 46 Feb 16 1999 crontab
-rwxr–-r–- 1 root Everyone 19968 Feb 17 1999 mkpasswd.exe
drwxr–-r–- 2 root Everyone 512 Jul 2 16:52 mydir
-rwxr––r–- 1 root Everyone 119 Jul 1 12:45 passwd
lrwxr–-r–- 1 root Everyone 20 Jun 4 03:10 services -> /C/WINDOWS//services
-rwxr––r–- 1 root Everyone 88 Feb 17 1999 shells
-rwxr–-r–- 1 root Everyone 73216 Feb 2 07:25 ums.exe
Первая слева колонка сообщает права доступа. Она состоит из тех трехсимвольных групп, определяющих права доступа создателя (то бишь владельца файла), его группы и всех остальных пользователей. Каждая группа в свою очередь состоит из трех атрибутов, разрешающих чтение (r), запись (w) и исполнение (x).

Рисунок 58 Рисунок 008.txt Расшифровка файловых атрибутов
Тут надобно заметить, что в UNIX выполняемые файлы распознаются по атрибуту "x", и могут иметь любое расширение или вовсе не иметь его. Обычно большинство файлов и каталогов имеют следующие права доступа "rwxr––r––r", т.е. создатель файла может делать с ним что угодно, а всем остальным разрешается читать, но не модифицировать или запускать.
Для изменения прав доступа предусмотрена утилита chmod
(сокращение от Change Mode). Она принимает следующие аргументы командной строки: первой указывается группа пользователей
("u" – для владельца, "g" – для членов его группы, "o" – для всех прочих и "a" для всех-всех, т.е. "u"+"g"+"o" одновременно), затем наличие (знак "+") или отсутствие (знак "-") требуемого атрибута. Например, защитить собственные файлы от "чужого глаза" можно так: "chmod g-r,o-r *".
Директории отличаются от простых файлов по стоящему впереди символу "d" (смотри рисунок 58)

Рисунок 59 Рисунок 009.txt Директории в UNIX отличаются от файлов наличием атрибута "d"
Следующая колонка сообщает количество псевдонимов, под которыми файл (директория) известен системе. Например, для каталога "/bin" это число равно двум, поскольку обычно "/bin" и "/usr/bin" ссылаются на одну и ту же директорию.
drwxrwxrwx 2 root Everyone 512 Jun 4 00:50 bin
drwxrwxrwx 3 root Everyone 512 Jun 4 00:51 dev
drwxrwxrwx 16 root Everyone 512 Jun 4 00:51 lib
Третья колонка содержит имя владельца файла (в данном примере "root") и группу, к которой он принадлежит ("Everyone"). И замыкают строку размер, время создания и имя файла (директории). Вся остальная информация по работе с "ls" содержится в руководстве "man" и может быть получена с помощью команды "man ls".
Перейти в другой каталог, как и в MS-DOS, можно с помощью команды "cd". Стоит заметить: в UNIX нет понятия диска, поэтому нет и команды для его изменения – для навигации достаточно одного "cd". Например:
$ cd /
$ ls
A E proc
base.bat etc reg
baseserviceslink.sh F sys
bin H tmp
C home usr
D lib var
dev linka win
$ cd /A
$ ls
tpna.arj
$ cd /var
$ ls
adm tmp uninstall
Для создания новых каталогов предназначена команда "mkdir" (Make Directory). Вызов "mkdir myname" создаст в текущем каталоге новую директорию "myname". А вот попытка создать несколько вложенных друг в друга каталогов провалится, если не указать ключ "-p". Например:
$ mkdir temp
$ cd temp
$ ls
$ mkdir 1/2/3
mkdir: 1/2/3: [No such file or directory]
$ mkdir -p 1/2/3
$ ls
1
$ ls 1
2
$ ls 1/2
3
Кстати, обратите внимание, – в UNIX ключи задаются до имен файлов, иначе вместо ключа "-p" создастся директория с таким именем. Да, "mkdir" позволяет создать более одного каталога за вызов. Например:
$ mkdir 1 2 3
$ ls
1 2 3
Удалить ненужные каталоги поможет команда ‘rm’. По умолчанию удаляются одни файлы, а для уничтожения директорий необходимо задать дополнительный ключ ‘-d’. Если удаляемый каталог содержит вложенные директории, то начать удаление необходимо с самого «нижнего» из них или воспользоваться ключом ‘-r’, рекурсивно стирающим все без разбора. Так, для уничтожения созданных в предыдущем примере каталогов ‘/1/2/3’ можно воспользоваться следующими командами:
rm –d /1/2/3
rm –d /1/2
rm –d /1
Или обойтись всего одной:
rm –d –r /1
А для копирования файлов в UNIX предусмотрена утилита "cp" – аналог "copy" из MS-DOS. Например, скопировать "/etc/passwd" в свой собственный каталог можно командой: “cp /etc/passwd /home”, а просмотреть его содержимое поможет утилита "cat". Например:
$ cp /etc/passwd /home
$ cat /home/passwd
root:x:0:13:Built-in account for administering the computer/domain:/tmp:/usr/bin/ksh
telnetd:x:1:1:telnetd:/:/dev/null
Тут необходимо сделать небольшое пояснение. Изначально "cat" разрабатывалась для объединения нескольких файлов в один, но в качестве целевого файла использовался стандартный вывод, поэтому пользоваться утилитой приходилось приблизительно так “cat file1 file2 file3 > file123”. Знак “>” обрабатывался оболочкой, подменяющей стандартный вывод указанным файлом. Если же целевой файл не указывался, утилита последовательно выводила содержимое перечисленных файлов на экран.
Конечно, существуют и более элегантные способы просмотра содержимого файла и его редактирования. Например, редактор "vi" (от Visual Interface). Это классическая утилита UNIX может вызвать насмешку у пользователей MS-DOS/Windows, привыкших к визуальному редактированию, поскольку редактор "vi" управляется своим собственным командным языком, без знаний которого невозможно даже сохранить файл или выйти из vi!
Сначала это шокирует, но позже, освоившись с vi, начинаешь понимать насколько же оболванивает и ограничивает визуальный интерфейс. С другой стороны, edit.com не требует никакого обучения – сел и работай, а командный язык редактора vi можно изучать месяцами, в течение которых большую часть времени придется провести за листанием документации, с небольшими перерывами на собственно набивку текста.
Да, это так! Но при ближайшем рассмотрении недостатки оборачиваются преимуществами. Командный язык несравненно гибче системы меню и значительно ускоряет редактирование текста, стоит лишь освоить его в совершенстве. Конечно, можно возразить "лучше за час добежать, чем за день долететь", – машинное время сегодня не так критично, как стремление максимально облегчить умственную деятельность пользователей.
Действительно, в UNIX существуют вполне привычные пользователям Windows редакторы, и выбор того или иного – личное дело каждого. Разумеется, при условии, что выбранный редактор установлен в системе. К сожалению, администраторы многих серверов не балуют своих пользователей разнообразием, тем более, когда предоставляют хостинг бесплатно. Теоретически возможно связаться с администратором и попросить установить ваш любимый редактор, но практически это оказывается сложнее изучения vi, который поставляется со всеми UNIX-совместимыми системами, и всегда доступен.
Поэтому минимальные навыки работы с редактором vi никогда не помешают, и как знать – может быть, через некоторое время он окажется вашим любимым редактором!
Для того чтобы пользоваться vi, вовсе не обязательно устанавливать на своем компьютере операционную систему UNIX или один из ее эмуляторов, – vi дал рождение многочисленным клонам, некоторые из которых успешно перенесены в среду Windows 9x/Windows NT и даже MS-DOS. Большую популярность завоевал vim, портированный на платформы Amiga, Atari, Mac System 7, UNIX, MS-DOS, Windows, словом практически для любого компьютера существует реализация vim. Остается добавить, что vim свободно распространяется вместе с исходными текстами и находится, например, на быстром германском ftp сервере – ftp://ftp.fu-berlin.de/misc/editors/vim.
Сразу же после запуска, vi будет выглядеть приблизительно так, как показано на рисунке 59 (в данном случае vi был запушен с параметром hello для создания нового файла).

Рисунок 60 Рисунок 054.bmp Внешний вид редактора vim – клона vi, запущенный в операционной системе Windows
Знаки "~" (тильда) указывают на конец файла и в действительности отсутствуют в его теле.
Если попытаться набрать текст "Hello, World!" на экране ничего не появится, а vi ответит разраженным покрикиванием. Дело в том, что у vi есть два режима – командный режим и режим вставки.
В командном режиме можно перемещать курсор по экрану, искать и заменять фрагменты текста, сохранять и загружать файлы с диска – словом командовать редактором, а режим вставки предназначен для ввода самого текста.
Сразу же после запуска vi оказывается в командном режиме и переключиться в режим вставки можно, например, нажатием клавиши <i>. Дождавшись появления курсора вверху экрана, наберите восклицание "Hello, Word!" или что-нибудь в этом духе, а затем попробуйте сохранить файл на диск. Для этого нажмите клавишу <Esc>, чтобы переключиться в командный режим, и наберите следующую последовательность <:>,<q>,<w>,<ENTER>.
Да… сложная вещь vi, но на самом деле настоящие сложности еще впереди! Загрузите только что созданный файла в редактор, указав его имя в командной строке, и попробуйте отредактировать строку, например, измените "Hello, World!" на "Hello, my world!". Что, пытаетесь подвести курсор к месту правки, а стрелки не действуют? Хорошенькое начало, – чем же тогда управлять курсором?!
Не стоит волноваться понапрасну – раскладка клавиатуры обычно подбирается так, чтобы пользователи могли работать ни о чем не задумываясь, но все же иногда встречаются нерадивые администраторы, криво инсталлирующие vi на свою машину. Поэтому, на всякий случай полезно знать, что клавиша <h> в командном режиме перемещает курсор на одну позицию влево, <l> - вправо, а <j> и <k> вниз и вверх соответственно.
Нажмите шесть раз клавишу <l> или воспользуйтесь комбинацией <6><l> (обычно цифра стоящая перед любой командой предписывает повторить эту команду надлежащие количество раз). Теперь наберите "my", автоматически раздвигая остальные символы, а для замены большую буквы "W" на строчечную войдите в командный режим по <Esc> и включите режим вставки символа, нажатием <r>. Или же используйте команду "~" (тильда) для инвертирования регистра символов.
Конечно, никто не и не утверждает, что пользоваться vi легко, но тягостные дни и месяцы обучения окупятся богатыми предоставляемыми возможностями, – vi поддерживает именованные буферы, макросы, обладает развитым механизмом шаблонного поиска, позволяет запускать команды оболочки, не выходя из редактора, словом, в умелых руках способен творить чудеса. Но эта книга не учебник по vi, поэтому, не задерживаясь на нем дальше, вернемся к освоению UNIX.
Продемонстрировать многозадачность UNIX поможет тот же vi – как быть, если, не выходя из редактора, потребуется выполнить какое-нибудь действие? В Windows достаточно щелкнуть мышкой по заголовку окна другой программы или нажать <Alt>-<Tab>, но разработчики UNIX пошли по другому пути.
Если нажать <Ctrl-Z>, выполнение текущего процесса приостановится, и произойдет выход в оболочку. Убедиться в том, что "vi" еще жив поможет команда "ps", отображающая список всех процессов в системе (процесс vi.exe выделен жирным шрифтом):
$ ps
PID TT TIME COMMAND
148799 tty10 0 vi.exe
150872 tty10 0 ps.exe
320924 tty10 0 ksh.exe
Слева показаны идентификаторы процессов. Зная идентификатор процесса, его можно "прибить" командной "kill" или запустить передним планом утилитой "fg". Например, так: "fg 148799" или так – "fg %1", где "%1" –порядковый номер процесса в списке. Независимо от способа запуска "fg", редактор vi вновь появится на экране. Нажмите еще раз <Ctrl-Z> и убийте процесс командной kill – "kill 148799" или "kill %1" – оба варианта хороши одинаково, но второй писать существенно короче.
А как поступить, если в vi требуется провести поиск сложного шаблона по всему тексту, выполняющийся неприлично длительный промежуток времени, в течение которого ничего не остается, как сидеть и тупо пялится на экран?
На помощь приходит фоновое выполнение задач, – понижение приоритета процесса, с предоставлением экрана другому приложению. Перевести приложение в фоновой режим поможет команда "bg", запускаемая точно так же как и "fg" (которая, кстати, пригодится для возращения процесса из фонового в нормальный режим). Большинство оболочек распознают символ "&", расположенный в конце командной строки, и автоматически запускают приложение в фоновом режиме. Например:
$ vi &
[1] 141008
$ ps
PID TT TIME COMMAND
87458 tty10 0 ps.exe
141008 tty10 0 vi.exe
320924 tty10 0 ksh.exe
[1] + Stopped (SIGTTIN) vi &
$
На этом краткое введение в UNIX можно считать законченным. Умения прогуляться по каталогам и запустить нужную программу для начала окажется вполне достаточно. Конечно, это не избавляет от необходимости приобретения справочных руководств и учебников по UNIX, но множество полезной информации можно найти и во встроенной справочной системе, доступной для просмотра с помощью утилиты "man".
Получить помощь по любой команде можно, указав ее название в командной строке, например, так "man ls"
Родственные вопросы:
Как из Windows сделать UNIX?
Что такое telnet и как с ним работать?
A: Как ускорить загрузку стартовой страницы поискового сервера, например, www.aport.ru?
Чем плохи поисковые сервера? Не в последнею очередь перегруженностью стартовой страницы - прежде чем окунуться в дремучую чащу запутанных ссылок приходится утомительно сидеть-дожидаться загрузки кучи совершенно не интересной на данный момент информации – баннеров, прогноза погоды, курсов валют, политических новостей и т.д. и т.п.У "Апорта" стартовая страница, правда, не самая большая, и, в общем-то, не сильно злоупотребляющая банерами, но все же реклама раздражает, особенно на медленных каналах даже такая реклама очень сильно раздражает.
К тому же комфортным поиск ну никак не назовешь. Приходится постоянно прокручивать экран, чтобы отыскать форму ввода, и с досадой обнаруживать, что условия поиска в ней напрочь отсутствуют. А когда ищется что-то вроде ("Кремниевая долина" + история - архив - обозреватель) всякий раз вводить это заново через чур утомительно.
Тем более, какой им бы ни был хорошим "Апорт" ни хороший, – требуемого документа он может и не найти. Тогда Вот и придется отправляться восвояси к другому поисковику…, а то еще и не к одному сразу.
И это на пороге нового тысячелетия? А где же автоматизация человеческого труда? Компьютер, если вспомнить, был на то и придуман, чтобы решать проблемы, а не создавать новые. Словом, текущее положение вещей нам не нравится, и мы, не дожидаясь милости от далеких забугорных фирм, хотим обеспечить свой комфорт самостоятельно.
Что нам для этого нужно? Всего лишь найти механизм взаимодействия с поисковой системой, и использовать его напрямую, минуя всякие там web-странички. Например, интегрировать поисковик с нашим "Рабочим Столом". А что? Неплохая идея - вот ей сейчас и займемся.
Было бы очень удобно, если бы в уголке рабочего стола сидела простая формочка, в которую стоит только ввести нужный фрагмент, а уж она сама облазит все сайты, обойдет и Черта и Бога, но нужный документ нам найдет.
Вообще-то это тривиальная задача, которую автор решил едва ли не в первые дни после подключения к Интернету. Каково же было его удивление, когда оказалось, что до такой простой штуки додумывались далеко не все его знакомые! Ну, что, приступим?
Немного теории для начала. Гипертекст, в его привычном для нас HTML-ом виде, искать ничего искать не способен. Там просто нет таких функций! Даже Java и VisualBASIC не помощники в таких операциях, поскольку Java-апплеты исполняются на вашей локальной машине и если бы они затребовали всю много гигабайтную базу поисковика, - конец света наступил бы раньше, чем она приползла по хлипкому диалапному соединению.
Поэтому, программу поиска приходится запускать на удаленной машине – самом поисковом сервере. В общих чертах запуск выглядит приблизительно так: http://ИмяХоста/ИмяСкрипта?параметры. Чтобы вызвать скрипт "напрямую" требуется всего лишь узнать имя скрипта и формат передачи параметров. Как это сделать?
Да очень просто! Стоит только дождаться окончания загрузки главной страницы "Апорта" (или другого поискового сервера) и в меню "Вид" выбирать пункт "В виде HTML". Остается лишь проанализировать HTML-код и найти место, в котором и происходит вызов скрипта с передачей параметров поиска.
Непосвященным в тонкости программирования гипертекста скажу, что в большинстве случаев для этого достаточно найти следующую последовательность "
На этом собственно и все. Остается только добавить на рабочий стол, "ЭкранàСвойстваàИнтернетàСоздатьàAport.htm" и она тут же появиться на нем!

Рисунок 45 Рис. image95 "Сырая" форма для поиска на активном Рабочем Столе
Изменим размеры формы, одновременно с этим растягивая ее в ширину. А после отбуксируем в любое место экрана по своему вкусу, так, что бы получилось нечто похожее на следующее:

Рисунок 46 Рис Image96 Окончательный вид формы для поиска на активном Рабочем Столе
Для проверки наберем критерий поиска, клацнем по кнопке "Search" и нажмем <Enter>. Если все было сделано правильно, то тут же откроется новое окно браузера и "Апорт" вывалит в него результаты поиска.
Заметим, что при этом критерии поиска не исчезли из нашей формы. И не потребуется никакого труда их изменить, например, следующим образом "Microsoft + "Билл Гейтс""
Просто? Удобно? А теперь попробуйте сделать так, что бы "Апорт" не открывал нового окна, выдавал ответ в специально отведенное для него место экрана.
Уверяю, что это доставит немалое удовольствие, да и комфорт работы повысит тоже. Активный рабочий стол это действительно революционное изобретение Microsoft., в чем вы еще не раз убедитесь.
Фактически вы можете самостоятельно спроектировать и создать среду общения, рассчитанную на ваши привычки и вкусы.
Например, выданный "Апортом" ответ можно дополнительно пропустить через Java скрипт или VBASIC скрипт, можно запоминать и кешировать предыдущие ответы "Апорта", да мало ли, что может вам взбрести в голову!
Так у автора работает бесхитростный скрипт, который по ключевым словам "живая камера" каждый раз ищет что-нибудь новое и случайным образом выводит одну из них в угол экрана. Вроде бы мелочь, а как умеет поднять настроение!
Родственные вопросы:
Как сохранить WEB-страницу на диск для ее просмотра в Off-Line? (следующий)
A: Как восстановить файл, некорректно принятый ReGet?
Менеджеры закачек очень популярны среди российских интернетчиков. Низкая скорость в купе с частными обрывами связи не оставляют никаких шансов скачать "тяжелый" файл за один раз. Но ведь не обязательно при очередном обрыве начинать скачивать файл с начала! Большинство серверов поддерживают позиционирование указателя текущей позиции чтения, позволяя в случае обрыва продолжить закачку с последнего прочитанного байта.Однако, кроме обрывов связи и "падений трубки", случаются еще и сбои питания, привычные для всех зависания, от которых ReGet - популярный менеджер закачек – увы, не спасает. Если в момент "сливания" длинного файла неожиданный бросок напряжения приведет к выключению компьютера, "сливаемый" файл с большой степенью вероятности будет испорчен, – операционная система не успеет заполнить последний кластер, выделенный файлу, и в его хвосте окажется мусор! ReGet, не зная этого, продолжит закачку с последней позиции файла, "замуровав" "мусор" в его теле. Работать такой файл, разумеется, не будет.
Поэтому, после каждого сбоя (зависания, выключения питания) "мусорный хвост" приходится отрезать вручную. Для этой цели подходит утилита HIEW (Hacker's Viewer
– Хакерский Вьювер"), раздобыть последнюю версию которой можно у Сусликова Евгения – ее автора – sen@suslikov.kemerovo.su ss.
Загрузите "препарируемый" файл, указав его имя в командной строке, и, нажатием клавиши <F4> или <ENTER>, перейдите в hex-режим. Затем, с помощью "волшебной комбинации" <Ctrl-End> переместитесь в конец файла. Теперь необходимо отступить назад на величину кластера вашего диска (ее можно узнать, запустив программу проверки диска или заглянув в "свойства" диска) – нажмите <F5> и введите требуемое значение отступа в шестнадцатеричной нотации со знаком "минус". (Перевести десятичное число в шестнадцатеричное поможет калькулятор, встроенный в HIEW и вызываемый <All+'+'>). Переместившись на требуемую позицию, усеките файл комбинацией <F3>, <F10>. Теперь запустите ReGet, и он автоматически продолжит докачку с "безопасного" места.
Хуже, если требуется восстановить ранее скаченные файлы, содержащие мусор в середине. Сразу же возникают две проблемы – как определить где именно расположен мусор, и как заставить ReGet скачать фрагмент файла "от сих" – "до сих" для замены поверженного участка на новый?
Поиск сбойного фрагмента – самое сложное в операции восстановления. Отличить мусор от полезной информации, можно только зная структуру поверженного файла. С "текстовиками" никаких проблем нет – искомое место обнаруживаться визуальным просмотром, а вот как быть с остальными типами файлов? В результате серии экспериментов автором было установлено, что в мусоре присутствует по крайне мере одна регулярная структура – длинная цепочка из нескольких сотен нулей. Такая последовательность никогда не встречается в архивах и некоторых других типах файлов (например, pdf, rtf), поэтому она может служить своеобразной меткой – сигнатурой мусора. К сожалению, с другими форматами файлов дело обстоит сложнее, в частности, исполняемые файлы (в том числе и самораспакующиеся архивы) этими самыми нулевыми байтами могут быть напичканы под самую завязку – попробуй, разберись мусор это или нет!
Разберем для примера тривиальный случай. Допустим, при распаковке image4.zip (архив космических фотографий, взятый с http://stuma.simplenet.com/ds2000files/images4.zip) выдается ошибка извлечения файла "Inflating: EUROPA2.tif PKUNZIP: (W15) Warning! file fails CRC check"
Загрузим поврежденный архив в HIEW и попытаемся отыскать цепочку, состоящую более чем из десяти следующих друг за другом нулевых байт (<F7>, <Tab>, "00 00 00 00 00 00 00 00 00 00"):
Опаньки! Взгляните, что мы обнаружили!
002E6460: 68 D3 C9 38-16 B2 52 1E-B5 3F D3 0E-94 71 AE E4
002E6470: 5F DE 79 9F-99 E1 CD F9-56 D0 6A AC-64 37 F0 2D
002E6480: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6490: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E64A0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E64B0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E64C0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E64D0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E64E0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E64F0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6500: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6510: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6520: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6530: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6540: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6550: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6560: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6570: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6580: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6590: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E65A0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E65B0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E65C0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E65D0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E65E0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E65F0: 00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
002E6600: 10 A4 01 00-03 00 05 00-64 00 4C 8D-0C 01 00 01
002E6610: 00 06 00 CE-53 00 00 00-09 01 00 02-00 06 00 CB
Разумеется, крайне маловероятно, чтобы в архиве встретилась подобная последовательность (ведь архив это или что?). Вероятно, здесь-то и был застигнут ReGet врасплох сбоем питания или зависанием компьютера.
Подумаем, как можно наложить заплатку на "больное" место? Самое простое решение – обрезать искаженный файл немного выше начала цепочки нулей (вдруг сбой затронул и соседние участки?), запустить ReGet для докачки нескольких килобайт и дописать оставшийся от обрезания "хвост" в конец файла, чтобы не скачивать его заново из сети.

Рисунок 31 Рис. 0х026 Процедура восстановления поврежденного файла. Берем "больной" файл (1) – сбойный участок выделен красным ???, делаем его копию и отрезаем HIEW-ов чуть выше начала сбойного фрагмента (2), запускаем ReGet, чтобы он докачал столько килобайт, сколько составлял сбойный фрагмент плюс небольшой запас (3) – докаченный фрагмент выделен сплошной заливкой; дописываем неповрежденный хвост поврежденного файла к только что полученному (4) и в результате всех этих махинцаий имеем нормальный работоспособный файл (5).
Звучит заманчиво, но как все это выглядит на практике? Для начала создадим резервную копию испорченного файла, для чего воспользуемся любой привычной оболочкой или же командой copy из MS-DOS "Copy image4.zip back.me"
Теперь смело урежем оригинальный файл, поднявшись немного выше начала сбойного фрагмента (в HIEW-е это осуществляется нажатием <F3>, <F10>). Запускаем ReGet и терпеливо ждем пока десяток-другой килобайт не упадут на наш жесткий диск (ждать, очевидно, придется недолго).
Для определения границ сбоя и уверенности, что мы их гарантированно миновали, выполним побайтовое сравнение старого и нового файлов утилитой MS-DOS fc.exe: "Fc image4.zip back.me /b > log.txt". Заглянем в полученный файл log.txt
Сравнение файлов images4.zip
и back.me
002E6480: 33 00
002E6481: AA 00
002E6482: 31 00
002E6483: 0F 00
002E6484: FD 00
002E6485: EB 00
002E6486: D9 00
: : :
002E6607: 84 00
002E65F8: FB 00
002E65F9: 72 00
002E65FE9 00
002E65FB: 60 00
002E65FC: D7 00
002E65FD: 4E 00
002E65FE: C5 00
002E65FF: 3C 00
002E6600: C3 10
002E6601: CE A4
002E6602: A2 01
002E6603: 18 00
002E6604: 92 03
002E6605: 06 00
002E6606: 82 05
; ^^^^^^^ - последний байт сбоя
Оказывается, сбойный участок начинается с первого нулевого байта (байты, лежащие выше, совпадают в новой и старой версии), но вот за концом нулей находится некоторое количество искаженных байт, последний из которых расположен по смещению 0x2E6606.
Теперь остается дописать остаток "хвоста", взятого из резервной копии файла, что без труда можно сделать с помощью того же HIEW. Откроем резервный файл и переведем курсор на байт по смещению 0x236607 (<F5>, "236607") и, нажав звездочку на цифровой клавиатуре, выделим блок до конца файла. Затем еще раз звездочку для завершения выделения и <F2> для записи "хвоста" в укороченный файл.
Попробуем его распаковать: о, чудо! Это сработало! Простыми операциями нам удалось сэкономить уйму времени (и денег, кстати, тоже).
Конечно, ничего этого не потребовалось бы, будь ReGet устойчив к сбоям по питанию (как, например, GetRight – который всегда отрезает несколько килобайт от хвоста файла после каждого обрыва). Но, как знать, быть может, в следующих версиях это и будет исправлено?
Родственные вопросы:
Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"… (следующий)
Попытка скачать с WEB-сервера файл моим любимым "качальщиком" заканчивается провалом – сервер "ругается" и не "отдает" файл. В то же время, через браузер все работает нормально, но, естественно, без докачки. Почему так?
A:Как выбрать модем по руке?
Модемы, – какие же они все одинаковые и в то же время непохожие друг на друга! У каждого из них свой "нрав", и свои, отличные от других, особенности поведения. Словно и впрямь модем – мужчина, а телефонная линия – женщина и полюбить слюбиться им друг друга с первого взгляда им удается далеко не всегда, если вообще удается.– Бывает, мучаешься-мучаешься с настройками дорогого модема, а он не хочет работать и все. Сменишь на более дешевый – разгоняется так, что дым из ушей валит.
??? Рисунок "карикатура" обыграть предыдущий абзац
Так какой же все таки выбрать? Увы, даже если отчетливо представляешь, что тебе нужно, зачастую делаешь выбор вслепую, поскольку продавец не может толком объяснить чем конкретно отличается один модем от другого и насколько хорошо каждый из них справляется с такими-то и такими-то искажениями. Какие именно параметры линии \ соединения может измерять модем (это очень важно для ручной настройки на конкретную линию – в самом деле, не действовать же в слепую или тащить домой целый комплекс измерительной аппаратуры) и насколько он гибок в настройке?
Ниже приведено максимально подробное описание трех, может быть и не самых популярных моделей, но хорошо знакомых автору по личному опыту эксплуатации. наиболее популярных на сегодняшний день модемов: Это: ACORP 56K, 3Com US Robotics Courier V. Everything и ZyXEL OMNI 56K Pro.
A:Как взломать Интернет (т.е. получить бесплатный доступ)?
"Как взломать Интернет" – слышится буквально во всех конференциях прямо или косвенно связанных с взломом, коммуникациями и сетями. Вопрос технически некорректен, ибо если уж и ломать, то не Интернет – совокупность узлов, связанных друг с другом, – а защиту от несанкционированного доступа конкретного узла (применительно к бесплатному доступу – узла провайдера). Защиты же сильно варьируются от узла к узлу, поэтому никакого универсального способа взлома "всего Интернет" не существует.Даже если бы некий гениальный хакер и придумал такой способ – не долго бы он оставался актуальным! Разработчики систем защиты не даром свой хлеб едят и на появление новых атак отвечают "заплатками", затыкающими ту или иную лазейку. Разумеется, и у хакеров, и у экспертов по безопасности всегда припрятаны "тузы в рукавах" – невиданные доселе трюки о которых никто не знает, потому и не может защититься, да и оперативность выпуска заплаток порой хромает – бывает, проходят годы, а "дырка" все не затыкается – то ли внимания на нее не обращают, то ли времени не хватает, то ли жаренный петух в известное место еще не клюнул! К тому же, сплошь и рядом встречаются нерадивые администраторы, начисто игнорирующие наличие хакеров и халатно относящиеся к собственной безопасности. Взломать таких даже новичку – раз плюнуть. И ведь ломают же, – судя по сообщениям прессы.
???? Рисунок "карикатура" Посреди океана стоит корабль. Корабль течет. На течи накладывают закладки.
Все это говорит о принципиальной возможности
сетевых атак, но отсюда отнюдь не вытекает существование некого универсального автоматического взломщика. "Как это не вытекает" – удивится иной читатель – "Существуют же автоматизированные средства для поиска уязвимости, например, тот же SATAN (не к ночи он будет упомянут)!".
Существовать-то они, может быть, и существуют, да вот проку с них, как с козла известно чего. Упомянутый SATAN свободно доступен в сети {>>>> сноска http://www.fish.com/~zen/satan/satan.html}, но безнадежно устарел не на один ледниковый период и совершенно бесполезен – именно в силу своей массовой распространенности. Дыры, которые он ищет, не заткнул только самый зауханный администратор. (Тем более, он, строго говоря, ищет не дыры, а потенциальную возможность существования дыры в данном месте).
Все действительно стоящие средства, например RealSecure, распространяются на коммерческой основе и стоят тысячи, а то и десятки тысяч долларов. Они действительно в самом деле позволяют автоматически атаковать даже недурно защищенную сеть, но совершенно недоступны рядовому злоумышленнику, причем не только по причине дороговизны, но и своей чрезмерной сложности – миллионы настроек и тысячи страниц убористой документации – а ну, попробуй-ка, во всем это разберись!
Утилиты, носящие громкое название "взломщик Internet", достаточно широко распространившиеся за последнее время по сети, на самом деле представляют собой зловредные программы в лучшем случае выводящие на экран издевательское послание, а в худшем уничтожающие информацию с жесткого диска – так их создатели, "санитары компьютерного леса" наказывают всех любителей халявы.
Однако не стоит путать "взломщиков Internet" c, так называемыми, эксплоитами – программными реализациями одной или нескольких конкретных атак. Они действительно существуют (см. сайт www.rootshell.com) и даже, случается, работают, но спустя какое-то время безнадежно устаревают.
Впрочем, новые дырки обнаруживаются с завидной регулярностью (см. http://www.security.nnov.ru), а их поток все растет и растет – естественно ж, – программное обеспечение постоянно усложняется и риск допустить ошибку становится все больше и больше. Поэтому в любой момент времени любой узел сети потенциально уязвим.
Можно, не дожидаясь готовых эксплоитов, искать уязвимости самостоятельно. Этому посвящено множество книг, в том числе и "Атака из Интернет" Ильи Медведовского, "Секреты Хакеров" Стьюатра Маккье, "Техника сетевых атак – приемы противодействия" Криса Касперски, "Техника и философия хакерских атак" его же и масса другой литераторы. Однако всеми авторами предполагается, что временное или постоянное соединение с Интернет у читателя уже имеется.
Основных способы атаки на провайдера это – похищение пароля у легального пользователя и перехват сессии аутентификации (т.е. "подсматривание" пароля в процессе его передачи на сервер при входе в сеть).
Похищение пароля – процесс творческий. Можно позвонить пользователю от имени службы технической поддержки (вариант – написать письмо) и под благовидным предлогом потребовать пароль на бочку; можно послать пользователю хитрую программку, под шумок вытаскивающую пароль с его компьютера, а можно… да много чего еще! Доверчивых людей очень много и ввести их в заблуждение ничего не стоит. Продолжая развивать мысль дальше – можно украсть много-много денег и на них купить доступ в Интернет.
Перехват сеанса аутентификации пользователя на сервере провайдера – в принципе возможен, но требует специальных технических средств, способных перехватывать модемное соединение – обычные модемы на такое не способы, а понадобится специальное оборудование, намного превышающее в стоимости "самый лучший Интернет", но… что только не придумают народные умельцы, лишь бы за Интернет не платить! (см. "Могут ли злоумышленники подключится к телефонной линии и перехватить мой трафик с провайдером?")
Тенденция к удешевлению сетевых услуг (в ряде случаев стоимость ночного времени просто до смешного низка) обещает уменьшить актуальность проблемы "взлома Интернет", поскольку скоро (ну почти скоро) появится возможность использовать его бесплатно или практически бесплатно.
Родственные вопросы:
Что такое заплатки и как их устанавливать?
Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?
Могут ли злоумышленники подключится к телефонной линии и перехватить мой трафик с провайдером?
A: Как защитится от вирусов, полученных из Интернет?
Проводя параллель между вирусами биологическими и вирусами компьютерными, можно заключить: причина практически всех болезней – несоблюдение элементарных гигиенических требований и неразборчивость в выборе партнеров. Типичный компьютерный пользователь похож на маленького ребенка все без разбору тянущего в рот. Если не вирус, так расстройство желудка себя не заставит ждать.??? рисунок "карикатура" Ребенок тянем в рот всякий мусор. Картинка вторая – ребенок лежит кверху лапами со вздутым животом (вариант – сидит на горшке)
Проблема ведь не только в вирусах, – порой не меньшие разрушения приносят вполне легальные, но сильно "кривые" программы. В особенности это касается дисковых и файловых утилит – частенько после их работы все данные, хранящиеся на винчестере, приходят в полную негодность. Даже ведущих производителей гложут смутные сомнения насчет безгрешности своей продукции, и неспроста – та же Symantec с головы до ног оплевана жалобами пользователей, рыдающих над остатками своих жестких дисков. А все потому, что поставили старого "Доктора" на новую версию Windows. Но кто же мог знать?! И даже вполне безобидные на вид приложения, наподобие календаря или организатора, могут так испортить систему, что ее придется переустанавливать заново!
Первая линия обороны "Карантин": В идеале – каждая новая программа должна проходить "карантин" – тщательное тестирование на отдельном, специально для этого предназначенном, компьютере, на котором нет ничего ценного, что было бы жалко потерять. В крайнем случае, если на второй компьютер не хватает средств, для карантина подойдет и отдельный жесткий диск (можно небольшого размера) – необходимо лишь подключить его так, чтобы программы, запущенные на нем, не "видели" основного диска и при всем своем желании не могли до него "дотянуться".
Этого можно добиться, подцепив "карантинный" диск на отдельный шлейф к "своему" контроллеру IDE. Большинство BIOS позволяют выборочно отключать IDE-контроллеры. "Ответственный" за такую операцию пункт обычно звучит как "Onboard IDE" (интегрированный в материнскую плату IDE) и предлагает на выбор: "Primary" (включен только первый контроллер, разъем которого обычно помечен IDE-0), "Secondary" (включен только второй контроллер – IDE-1), "Both" (включены оба контроллера, - состояние по умолчанию) и "Disabled" (выключены оба контроллера). При отключении первого контроллера, скорее всего, потребуется "научить" BIOS загружаться со второго (не все это умеют делать по умолчанию). Для этого найдите в настройках строку наподобие "Boot device" (загрузочное устройство) и установить ее в "Boot from IDE-1" (Загружаться с IDE-1) или "Boot form secondary IDE". (Загружаться со второго IDE).
Если нет возможности купить даже самый захудалый винчестер, остается тестировать программы на "кошках", - ваших приятелях, устанавливая на свой компьютер только проверенные на чужой шкуре приложения.
"Карантин" сам по себе никаких гарантий не дает и не всегда предотвращает вторжение вирусов, но многократно снижает вероятность любых неприятных происшествий. Если этого недостаточно, второй линией обороны следует расположить антивирусы.
Вторая линия обороны "Антивирусы": Грубо все антивирусы можно разделить на три категории – детекторы (+фаги), мониторы
и ревизоры.
Детекторы
занимаются поиском известных им вирусов в файлах, загрузочных секторах, памяти и т.д., а фаги лечат то, что находят детекторы; мониторы – обнаруживают и по возможности предотвращают некоторые потенциально опасные – с их точки зрения – действия; ревизоры
периодически проверяют файлы на предмет появления любых изменений.
Всем антивирусам присущи определенные недостатки: детекторы не в состоянии обнаруживать новую или видоизмененную заразу – интеллект эвристических анализаторов на сегодняшний день уступает интеллекту вирусописателей, и на эвристике ловятся только самые примитивные вирусы, написанные школьниками, только-только постигающими азы программирования (см. "Подари врагу антивирус!"). Еще проще для вирусописателя перехитрить мониторы, которые, кстати, совершенно бессмысленны в "нормальных" операционных системах наподобие Windows 2000, самостоятельно пресекающих все противоправные действия программного обеспечения. Ревизоры же вообще не препятствуют жизнедеятельности вирусов, а всего лишь позволяют обнаружить их распространение – заражая файл, вирус неизбежно вносит в него изменения, демаскируя свое присутствие в системе. Однако, не размножающиеся зловредные программы, скажем клавиатурные шпионы или "добытчики" паролей (см. "Как предотвратить похищение моего Интернет пароля?#Похищение"), ревизор обнаружить не сможет! К тому же, ревизоры очень плохо справляются с контролем документов – средой обитания макровирусов. Ведь документы, в отличие от исполняемых файлов, интенсивно изменяются пользователем! Попробуй, тут разберись – то ли вирус их заразил, то ли пользователь отредактировал!
Переход на Windows 2000 (см. " В чем преимущества Windows 2000 по сравнению с 9x?") позволяет одним махом решить множество проблем. Во-первых, в силу отличий Windows 2000 от Windows 9x, большинство вирусов и троянских программ под ней просто "не живет", во-вторых, она позволяет защищать критические файлы, запрещая их удаление и модификацию, в-третьих, ее файловая система – NTFS – практически не поддается разрушению – разве что все с самим винчестером; в-четвертых… но, несмотря на всю защищенность, с Windows 2000 прекрасно уживаются макровирусы, поскольку средой их обитания является не операционная система, а само приложение, обрабатывающее документ.
Макровирусы: документы "дырявого" Microsoft Office давно стали стандартом де-факто и отказаться от их использования уже невозможно. Проблема усугубляется тем, что подавляющее большинство пользователей игнорирует рекомендации распространять файлы в форматах, гарантированно не содержащих макросов (например RTF), чем ставит своих получателей в тупик. Например, как быть, если Big-Boss прислал свой ответ в формате Word? Просить его сохранить файл как RTF и повторить пересылку? Сомнительно, чтобы Big-Boss получил от всего этого удовольствие, если ему вообще удастся объяснить что такое RTF.
Уменьшить риск вторжения макровирусов можно запрещением модификации файлов Normal.dot и eefonts.dot (последний – только для Word 2000) – эти файлы излюбленное место обитания макровирусов. Перед установкой защиты рекомендуется на всякий случай удалить Normal.dot, - работоспособность Word-а это не нарушит, – он вновь воссоздаст его при следующем запуске, а вот зараза (если Normal.dot был заражен) будет удалена гарантированно! Правда, вместе с ней погибнут и все личные настройки, например, переопределенные комбинации клавиш, пользовательские стили и т.д. Но в большинстве случаев их можно быстро определить вновь!
Существует один замечательный способ гарантированно (ну, почти, гарантированно) избежать заражения – достаточно лишь открыть документ приложением, заведомо не поддерживающим макросы. Например, редактор "WordPad", входящий в штатную поставку Windows, корректно отображает большинство Word-документов, игнорируя при этом макросы. А утилита "Быстрый просмотр" (также поставляется вместе с Windows, но не устанавливается по умолчанию) позволяет просматривать файлы, созданные и Word, и Excel, и многими другими приложениями, не рискуя подцепить заразу! Чтобы открыть с ее помощью документ, просто щелкните по нему правой кнопкой мыша, выбрав в контекстном меню пункт "Быстрый просмотр". Если такого пункта нет, в "Панели управления" кликните по значку "Установка и удаление программ", перейдите к закладке "Установка Windows", выберите "Стандартные", войдите в них через "Состав" и установите галочку напротив "Быстрый просмотр".
Как и следует из его названия, "Быстрый просмотр" предназначен только для просмотра, но не редактирования документов. А как же быть, если файл требуется не только смотреть, но и работать с ним? На помощь приходит буфер обмена – "выделяем все", создаем новый документ в соответствующем приложении и копируем в него содержимое оригинального документа, автоматически оставляя макросы "за бортом"! Не очень-то удобно, но более короткого пути, по-видимому, не существует.
Всей этой суеты не потребовалось, умей бы Office запрещать выполнение макросов в документах. Вообще-то, такая опция там есть, но срабатывает она далеко не всегда. Злоумышленник может создать макрос, который защита не увидит! В Office 2000 ситуация значительно улучшена, но не все исправлено до конца, к тому же Microsoft так и не сообщает какие именно дыры заткнуты.
Особо стоить отметить ошибки переполнения – не вдаваясь в технические подробности {>>>> сноска Подробнее об ошибках переполнения рассказывается в книге Криса Касперски "Техника сетевых атак"} образно их можно представить так: программист отводит для некоторых целей буфер, а затем заполняет его данными, не проверяя влезают ли они в него или нет. Рано или поздно данные действительно не влезают и затирают память за концом буфера. Очень часто при этом искажаются служебные структуры, например, сохраненный адрес возврата, регистр кадра стека и т.д. Специально подобранной строкой данных злоумышленник может так исказить адрес возврата, чтобы процессор начал выполнять данные, введенные злоумышленником, как код! Теоретически возможно подхватить вирус простым чтением текстового файла! Это не миф параноика, а суровая действительность нашей жизни. Яркий пример – ошибка почтовой программы Outlook Express 5.5 позволяет заразиться еще на стадии приема сообщения с сервера, - задолго до того, как присланное вас письмо успеют проверить антивирусы!
???? Рисунок "карикатура" человек льет в чайник воду из ведра. Вода выливается из носика и обливает человека.
???? Рисунок "карикатура" человек открывает письмо, а оттуда выглядывает (выпрыгивает) злобный вирус
Для устранения ошибок фирмы-производители периодически выпускают "заплатки", выкладывая их на собственный web-сервер. Настоятельно рекомендуется своевременно скачивать и устанавливать их! Чтобы быть постоянно в курсе событий подпишитесь на какую-нибудь рассылку по безопасности (см. "Где можно узнать о самых свежих дырках и последних обновлениях приложений?")
Третья линия обороны – резервное копирование. Им не следует пренебрегать никогда. Вложения в накопители и носители информации, может быть, не окупаются явно, но сводят к минимуму убытки от "стихийных бедствий" – будь то вирус или физическое разрушение винчестера. (Кстати, кража компьютера также приводит к потере информации, и, чтобы вместе с компьютером не утащили резервные копии, следует хранить их отдельно; по крайней мере, диск с самыми ценными наработками должен находиться в недосягаемом для грабителей месте – например, его можно сдать в банк или надежному приятелю).
Политика резервирования – дело сугубо индивидуальное, например, автор резервируется каждый день. Но, в любом случае, это следует делать не реже, чем раз в неделю. При этом ни в коем случае недопустимо замещать старые файлы новыми! Никогда нельзя быть уверенным наверняка, что резервируемая информация уже
не искажена! Допустим, вы набираете реферат и периодически "сбрасываете" его на дискету, записывая поверх прежней копии. Предположим, в какой-то момент файл поражается вирусом, произвольным образом переставляющим слова в тексте или "съедающим" некоторые буквы. Если это не будет замечено сразу (а, чем длиннее документ, тем труднее обнаружить его искажение), в архив попадет испорченная копия, а оригинальная будет утеряна.
В идеальном случае старые копии должны уничтожаться только после завершения проекта (Например, после того как написан реферат, все промежуточные наработки могут быть безболезненно удалены). Однако на практике обходятся гораздо меньшим числом копий, надеясь, что разрушения информации (если таковые будет иметь место) удастся заметить раньше, чем будет затерт последний неискаженный файл. В большинстве случаев (но не всегда!) эти надежды оправдываются. С другой стороны, какой смысл хранить очень древнюю версию документа, если с тех пор он был значительно переработан и изменен?
Следование всем приведенным выше рекомендациям обеспечивает практически полную неуязвимость ваших данных, оберегая их от всех мыслимых и немыслимых бедствий (ну, пожалуй, за исключением землетрясений, наводнений и цунами).
Краткое повторение основных мыслей главы: поставьте себе Windows 2000 и регулярно устанавливайте все обновления и заплатки; испытывайте все новые программы на "карантинном" жестком диске (компьютере); для открытия документов пользуйтесь утилитой "Быстрый просмотр" или аналогичной ей; наконец, никогда не забывайте о пользе резервирования.
Родственные вопросы:
Подари врагу антивирус!
Как предотвратить похищение моего Интернет пароля?#Похищение
В чем преимущества Windows 2000 по сравнению с 9x?
Где можно узнать о самых свежих дырках и последних обновлениях приложений?
A:Небезопасность электронной почты
Электронная почта – неотъемлемая часть современного документооборота. Несомненные преимущества – быстрота доставки и дешевизна эксплуатации дают ей неоспоримые преимущества перед обычной, - "улиточной", – почтой. В то же время электронная почта ощутимо уступает бумажной в отношении безопасности.Почерк (если только письмо не было напечатано на машинке) позволяет с высокой точностью идентифицировать отправителя, а штемпель служит надежным индикатором целости сообщения. Ничего этого нет в электронной почте – электронные письма подвержены угрозе
а) перехвата;
б) модификации;
в) фальсификации адреса отправителя.
Угроза перехвата: Глобальные и локальные сети общего назначения принципиально не способны противостоять перехвату трафика в пределах одного сегмента, а внедрение ложных ARP- и DNS-серверов позволяет осуществить и межсегментный перехват. Объяснение причин такой уязвимости потребовало бы очень много места и поэтому здесь не приводится. Этой теме и без того посвящено множество публикаций, в том числе книги "Атака на Internet" Ильи Медведовского и "Техника сетевых атак" Криса Касперски.
Даже без установки дополнительного оборудования техническая возможность "подслушать" любого абонента сети существует как у спецслужб, так и Васи Пупкина, снабженного лишь модемом и минимальныйм
уровнем знаний.
Естественным выходом из ситуации становится шифрование всех или, по крайней мере, конфиденциальных сообщений. Несимметричные криптоалгоритмы
используют для шифровки и расшифровки текста два различных, никак не связанных между собой ключа: публичный и секретный. Секретный ключ никогда не передается по сети и теоретически недосягаем злоумышленнику.
Однако несимметричная криптография с одной парой ключей имеет тот существенный для почтовых сообщений недостаток, что принципиально неспособна гарантировать аутентичность отправителя сообщения: любой, кому вздумается, может зашифровать публичным ключом свое письмо и отправить его от чужого имени. (Вообще-то, грамотно подделать заголовок письма ничуть не легче чем сымитировать чей-то почерк, но кто станет пристально анализировать заголовок, если письмо выглядит достоверным и не внушает серьезных подозрений?)
Цифровая подпись путем использования двух пар публичных и секретных ключей теоретически обеспечивает:
а) поверку подлинности сообщения;
б) гарантию целостности сообщения;
в) неотрицание авторства сообщения.
Практически же, неотрицание авторства никогда не срабатывает, - всегда есть возможность сослаться на утерю секретного ключа, после которой поставить цифровую подпись мог кто угодно. А может ли секретный ключ быть похищен без ведома его владельца?
Существуют два способа хранения секретных ключей – в файле или неком аппаратно-биологическом комплексе, подключенном к компьютеру. (Человек, вводящий пароль с клавиатуры, относится ко второму типу).
В первом случае для похищения ключа злоумышленнику достаточно получить доступ к локальным файлам жертвы, а во втором – заслать на атакуемый компьютер программу-шпиона, отслеживающую обмен с ключевым устройством (например, перехватывающего ввод с клавиатуры). Если это удастся – шифр падет! Таким образом, незащищенность секретного ключа сводит на нет надежность всех криптографических систем!
Простейший способ внедрить шпиона – послать его вместе с письмом в надежде, что жертва "лопухнется" и запустит исполняемый файл. (см. "Какие почтовые вложения безопасны?") А если не запустит? Находится ли в безопасности пользователь, который не открывает никаких потенциально опасных вложений, в том числе и документов Word, могущих содержать вредоносные макросы? Нет! И причиной тому служат вездесущие программные ошибки реализации, присутствующие буквально во всех почтовых системах. Дабы не быть голословным приведу несколько конкретных примеров.
Больше всего проблем связано с HTML-форматом писем: высокая сложность браузеров, вынужденных поддерживать множество всевозможных форм и кучу скриптовых языков, приводит к взаимным конфликтам и противоречиям. Например, поддержка плавающих форм в Internet Explorer 5.01 (и в некоторых других версиях) реализована с ошибкой. Событие “NavigateComplete2”, извещающие о завершении переселения документа на новое местоположение, позволяет получить доступ к этому документу, даже если он расположен на локальном диске клиента, чего по идеологии виртуальной Java-машины произойти ни в коем случае не должно! (Но, все ж таки происходит).
Хотите выяснить защищены ли вы от подобных посягательств? Тогда проведите следующий эксперимент: сначала создайте в корневом каталоге диска "C:" файл, "test.txt", который и послужит объектом нападения. Запишите в него какую-нибудь фразу, например "Hello, Sailor!" (во избежание проблем с кодировками кириллицу лучше не использовать). Затем запустите "Outlock Express 5.х" и, создав новое сообщение в формате HTML (именно такой формат и установлен по умолчанию), в меню "Вид" установите галочку "Изменение источника" и, щелкнув по появившейся в левом нижнем углу закладке "Источник", вставьте в начало документа следующий текст: "", где "http://kpnc.lib.ru/iframe.htm" – путь к HTML-файлу следующего содержания:
Отправьте письмо самому себе и, если у вас установлена операционная система Windows 2000 в конфигурации по умолчанию или Windows 98/NT c обновленным Internet Explorer 5.x, при попытке просмотра полученного сообщения появится диалоговое окно, демонстрирующее содержимое тестового файла. Заменив вызов "alert" на процедуру пересылки информации по сети, злоумышленник сможет похитить у вас любой файл, в том числе и секретный ключ!
Описанная выше ошибка – не единственная в своем роде: не проходит и дня (!), чтобы в существующем программном обеспечении не открылся очередной лаз. Подпишитесь на рассылку "Ученого кота" (http://www.security.nnov.ru), чтобы постоянно получать свежую информацию о проблемах безопасности и ссылки на "горячие" заплатки производителей. Если этого не сделаете вы, – это сделает злоумышленник и, используя вашу неосведомленность, пролезет в одну из незаткнутых дыр, захватив контроль над системой (см. "Где можно узнать о самых свежих дырках и последних обновлениях приложений?", "Что такое заплатки и как их устанавливать?")
Все это наводит на грустные размышления и пессимистичные выводы, – никакие меры предосторожности и комплексы защитных средств не могут гарантированно защитить, и в лучшем случае лишь снижают вероятность успешной атаки, но не исключают ее возможность полностью.
Потом, все защиты удивительно терпимо относятся к всевозможным зацикливаниям и пожираниям системных ресурсов. Например, пошлите сами себе HTML-сообщение, содержащее следующий код – "". Попытка его просмотра намертво блокирует почтового клиента зацикленным модальным диалогом, и даже удалить вредоносное сообщение окажется невозможно! В качестве альтернативного варианта можно создавать в бесконечном цикле множество окон размером миллион на миллион пикселей, которые с исчезающей быстротой сожрут все ресурсы системы! Выйти из ситуации можно лишь отключением поддержки Java, но всякий ли пользователь знает как ее отключить? (для информации – отключать виртуальную машину Java следует в настройке уровней безопасности браузера). А вызов системного администратора – время, которое стоит вполне осязаемых денег.
Как, если не обезопасить себя, то хотя бы усложнить жизнь злоумышленнику? Попробуйте придерживаться следующих советов – всегда (!) шифруйте свою корреспонденцию, заверяя ее электронной подписью, даже если она не содержит ничего конфиденциального. Иначе злоумышленник сможет послать от вашего имени незашифрованное сообщение, которое получатель примет за подлинное. Напротив, если вы всегда шифруете свои послания, подлинность письма, посланного открытым текстом, вызовет сомнения у получателя и побудит его связаться с вами в попытке прояснить ситуацию.
Виртуальную машину Java в почтовом клиенте настоятельно рекомендуется отключить – ни к чему она там, а еще лучше совсем отказаться от просмотра сообщений, присланных в HTML-формате. Если же это невозможно (а обычно это невозможно) – внимательно относитесь к обновлению приложений, и оперативно устанавливайте свежие исправления.
Стремитесь не использовать новые версии: поначалу в них всегда обнаруживается множество ошибок. Нет, вовсе не значит, что продукты одно-двух годичной давности защищены лучше, но злоумышленники склонны сосредотачивать свои усилия именно на новинках, а анализировать старые версии – занятие неблагородное и бесперспективное: у кого они сейчас установлены? Разумеется, если начнется массовая миграция пользователей на ранние версии, ситуация измениться на противоположную, и использование новых версий окажется более предпочтительным.
Категорически не рекомендуется давать секретным файлам предсказуемые имена и устанавливать утилиты шифрования в каталоги по умолчанию! Не забывайте о постоянной смене паролей и внимательно относитесь к уничтожению старых ключей – простое удаление файла небезопасно (например, Windows NT позволяет злоумышленнику получить доступ к содержимому чужых мусорных корзин – а хакеры никогда не брезговали лазить по мусоркам и помойкам).
Не забывайте и об угрозе, исходящей от антивирусов: так, например, в ноябре 1999 года была обнаружена серьезная уязвимость в SMTP-шлюзе "Interscan VirusWall 3.2x", работающего под управлением Windows NT. Программное обеспечение, предназначенное для защиты от вирусов с оптимистичным названием "Вирусная преграда", оказалось способным принести своим обладателям значительно больший ущерб, чем тот, что доставляет типичный вирус. Бездумная установка средств защиты приводит не к усилению, а ослаблению безопасности компьютера.
Родственные вопросы:
Какие почтовые вложения безопасны?
Где можно узнать о самых свежих дырках и последних обновлениях приложений
Что такое заплатки и как их устанавливать?
A:Необычные живые камеры
Сейчас, вероятно никто уже и не помнит, когда в Сети появились первые живые камеры. Идея, лежащая в их основе, проста до безобразия: стоит где-то обычная цифровая камера, периодически делает снимки и автоматически выкладывает их на сайт. Технически ничего сложного, но зато какой эффект! Это же просто чудо, что можно, не вставая со своего любимого кресла, за мгновения ока перенестись на многие тысячи километров, и посмотреть каков там мир на том конце земли! Вот горах Алтая опять идет снег, во Флориде по обыкновению солнечно и многолюдно, а в Москве уже стемнело и потоки машин украшают улицы удивительно красивыми цепочками огней…Но постепенно все это надоедает, и былой восторг проходит. Мир становится меньше, но вместе с тем и скучнее… Всюду все одно и то же – одинаковые горы, одинаковые города, одинаковые люди с одинаковыми лицами. Между тем, среди этой серой толпы "мертвых живых камер" есть немало изюминок, к которым, сколько их не смотри, тянет обратиться вновь и вновь.
Одним из самых интересных объектов наблюдения оказалось наше дневное светило. Этот ослепительно белый диск живет интересной и весьма активной жизнью. То и дело на нем происходят вспышки, – своеобразные взрывы, обгоняющие ничуть не уступающие в энерговыделении миллионымиллионам
атомных бомб, и одновременно с этим порождающие мощнейшие электромагнитные импульсы, устремляющиеся к Земле. Если бы мы могли видеть Солнце в радиодиапазоне, оно бы никому не показалось спокойным, а напротив, шумящим, трещащим и хрюкающим на все лады существом. Иные "хрюки" бывают так сильны, что перекрикивают земные радиостанции и создают наведенные токи в электронной радиоаппаратуре, отчего та начинает работать нестабильно или вообще отказывается работать, и выходит из строя!
Даже в видимом свете, поверхность Солнца не остается абсолютно белой, - местами ее украшают округлые черные точки разного размера, на языке астрономов называемые солнечными пятнами. Чернота пятен обманчива, на самом деле они лишь немногим холоднее окружающей поверхности и раскалены до четырех-пяти тысяч градусов, что значительно больше выше температуры нити накаливания обычной лампочки!
Да и сама поверхность Солнца представляет не застывшую гладь тихого озера, а скорее похожа на кипящую рисовую кашу, бурлящую восходящими и опускающимися конвектными потоками. Только вместо пара, окутывающего кашу, наше светило изрыгает огромные фонтаны солнечного вещества, называемые протуберанцами. Чаще всего силы гравитации не отпускают пленников на свободу, и взлетающий поток по крутой дуге с невообразимым шумом и грохотом падает обратно на Солнце. Но иногда скорость броска бывает так велика, что протуберанец, преодолев притяжение, устремляется в космическое пространство. Не стоит волноваться, – когда он достигнет орбиты Земли, его вещество окажется настолько разряжено, что не причинит нам никакого вреда.
Ну, практически никакого… Ведь биосфера Земли (включая человека) находится в тесной связи с активными процессами, протекающими на Солнце. Некоторые люди из-за них могут испытывать приступы недомогания, повышенной раздражительности, нервозности, утомляемости, в результате чего повышается вероятность аварий и ошибок операторов. Словом, быть в курсе событий нашего светила, отнюдь не излишество, а скорее насущная потребность. Да вот только как эти самые события узнать? По телевидению иногда передают, дескать, готовитесь граждане, на Солнце магнитные бури, типа "Мамай идет", но такие сообщения поступают крайне нерегулярно и не отражают всей полноты ситуации. (Кстати, медики и биологи установили, что наибольшее проявление на организм вспышки оказывают только на пятый и двадцатый день после их возникновения, а вовсе не через те восемь минут, когда магнитные поля достигнут Земли).
К счастью, в Сети есть специальные «живые» камеры, патрулирующие Солнце. Лучше всех, на мой взгляд, с этим справляется космический спутник SOHO, – детище NASA и ESA. Увидеть свежие результаты его работы можно на сайте http://sohowww.nascom.nasa.gov/. Без лишних вопросов и надоедливых баннеров он покажет свежие фотографии Солнца и даже анимированные изображения в формате mpg!
Рисунок 37 ????? Рисунок художнику – выбрать с указанного сервера наиболее подходящие по полиграфическим требованиям изображения

Рисунок 38 Рис _analemma Годичный путь Солнца по небу. (с) Лихачев В.Л.
Среди наземных обсерваторий лучший солнечный сайт, на мой взгляд, имеет обсерватория, расположенная на Медвежьих {"О" с большой буквы >>>}Озерах. Здесь, вдали от больших промышленных городов США, небо круглый год остается удивительно чистым и прозрачным, что и создает благоприятную среду для наблюдений за нашим светилом. Свежие снимки Солнца, вкупе со сведениями о солнечной активности, можно найти по следующему адресу: http://www.bbso.njit.edu/cgi-bin/LatestImages
Рисунок 39 ????? Рисунок художнику – выбрать с указанного сервера наиболее подходящие по полиграфическим требованиям изображения
Когда же Солнце заходит, на небе с наступлением темноты появляются тысячи звезд, притягивающих взор. К сожалению, горожане лишены этой прекрасной картины природы. А ведь какой-то десяток-другой лет назад большинство людей знали, как выглядит Млечный Путь, умели находить сбившуюся в тесную кучку семерку звезд – Плеяды, а самые эрудированные даже могли отыскать ближайшую к нам галактику – "Туманность Андромеды" и огромное облако светящегося газа – "Туманность Ориона".
Рисунок 40 ??? Рис _MilkyWay – Млечный путь
Рисунок 41 ??? Рис M31 Туманность Андромеды
Рисунок 42 ??? Рис _m42 Туманность Ориона
{РАСТЯНУТЬ ЧУТЬ-ЧУТЬ Туманность АНДРОМЕРЫ и чуть обрезать по вертикали с двух сторон Ориона, что бы они сравнялись в размере, а то – некрасиво}
Каждый наверняка видел фотографии этих знаменитых объектов, снятых крупнейшими телескопами. Но фотография это одно, а увидеть их своими глазами – совсем другое! Все компьютерные планетарии в той или иной степени позволяют удовлетворить это желание, но звезды, нарисованные на экране монитора, не идет ни в какое сравнение с "живым" созерцанием окружающей нас Вселенной. К сожалению, не каждому из нас дано хотя бы раз в жизни хотя бы одним глазком заглянуть в настоящий телескоп!
Впрочем, посетив современную обсерваторию, читатель возможно будет очень удивлен, узнав, что в крупнейшие телескопы сегодня никто и не смотрит. Уже в начале века глаз повсеместно заменила фотопластинка, в разы превосходящая его по чувствительности, а затем фотопластинка уступила место ПЗС - матрице, подсоединенной к компьютеру.
Однажды, кому-то в голову пришла блестящая мысль, а что если подсоединить систему управления телескопом к сети Интернет и позволить всем пользователям от мала до велика распоряжаться таким телескопом по своему усмотрению? Идея была подхвачена многими обсерваториями, и вскоре в сети появился новый вид услуг – бесплатный цифровой телескоп, снимающий любой участок неба по вашему требованию, – в принципе все та же "живая камера", но довольно необычная.
Сначала доступ предоставили только к игрушечным телескопам, которые с трудом тягались даже с морским биноклем, но сегодня ситуация изменилась…
Самую живописную изо всех возвышенностей торфяных болот Западного Йокшира (Англия) оккупировала Брадфордовская астрономическая обсерватория. Один из ее инструментов, 460-мм автоматизированный телескоп, отдан на растерзание любителям астрономии, да и всем тем, кто не прочь на мгновение забыть о земной суете и взглянуть на небо, окружающее нас. Достаточно набрать в браузере http://www.telescope.org/rti/index.html, зарегистрироваться на сайте и можно отправлять свои собственные заявки, которые по мере "социалистической очереди" и погодных условий будут переданы телескопу на выполнение.
Конечно, снимки, полученные этим телескопом, не идут ни в какое сравнение с высококачественными фотографами NASA, но ведь и обычные "живые камеры" сильно грешат качеством, но это ничуть не уменьшает их популярности.
Жаль только, что дождливый английский климат и обложная облачность постоянно оттягивают волнующий миг наблюдений на неопределенный срок. Вот, скажем в Санта-Барбаре, климат куда лучше. Кстати, мало кто знает, что на окраинах этого знаменитого города расположена одна астрономическая обсерватория, 356 мм телескоп которой доступен для управления через Интернет. Понятно, чем меньше диаметр телескопа, тем меньше света он соберет, и тем менее впечатляющие изображения будут получены. Да, 356 заметно меньше чем 460, но зато небо над телескопом Санта-Барбары практически всегда чистое и безоблачное, чего нельзя сказать об его английском коллеге, поэтому и работать с ним одно удовольствие – стоит только перейти по адресу http://www.deepspace.ucsb.edu/… Однако, таких желающих как вы временами набегает очень много и телескоп оказывается сильно перегружен.
Тогда ничего не остается делать, как воспользоваться услугами какой-нибудь богом забытой обсерватории, на которую если кто и забредет, так и то по ошибке. Например, 180 мм студенческий телескоп университета штата Айова (http://denali.physics.uiowa.edu/) свободен все сутки напролет, но, несмотря на свой скромный размер, способен порадовать наблюдателей достаточно впечатляющими снимками.
Например, если навести его на Юпитер, – на диске этой планеты удастся заметить огромное множество разнообразных деталей, - в основном облачных образований, переплетающихся меж собой самым причудливым образом. И совсем нетрудно будет различить знаменитое Красное Пятно – огромный циклон на Юпитере, существующий уже на протяжении сотен земных лет и все никак не "рассасывающийся". На снимках, напечатанных в популярных книжках, это пятно кажется неживым, заставшим и неподвижным. Между тем оно достаточно быстро вращается и постоянно меняет свой облик. Хотите все это увидеть своими глазами? Посетите любой вышеназванный телескоп или выберете какой-нибудь другой, по своему вкусу. В этом поможет любой поисковик, стоит только ему отдать запрос "телескопы+управляемые+Internet" или что-то в этом роде.
Конечно, изображения на экране компьютера сильно уступают "живой" действительности, – самостоятельным наблюдениям в бинокль или телескоп, но зато оставляют позади все "мертвые" фотографии, поскольку телескопы, управляемые через Интернет, показывают выбранный вами объект таким, каким он выглядит сейчас, вы так же вольны варьировать время экспозиции, используемые светофильтры и некоторые другие параметры, понятные лишь посвященным. Если на мгновение забыть о том, где находится Санта-Барбара, то можно вообразить, что вы снимаете небо своей любимой цифровой мыльницей, а потом рассматриваете полученный снимок на экране компьютера. Вы
Теперь вы не пассивный зритель, восторгающийся чужой фотографией, сделанной безо всякого участия с вашей стороны, а сам фотограф, творящий все, что ему заблагорассудится.
>>>>>Врезка 1:
Раз уж речь зашла про цифровые камеры, то
давайте вспомним ту
рекламу, где
описываютсяописывающую
преимущества камеры с увеличением в четыреста и более раз. Так знайте: вам вешают лапшу на уши. Такого увеличения просто не может быть, ибо есть такая штука как фундаментальные физические законы, которым никакая реклама не указ.
Если углубиться в теорию оптики, можно узнать, что предельное увеличение, которое может давать идеальный объектив равно его диаметру, выраженному в миллиметрах. Причина заключается в дифракции света (нет, не подумайте, это не ругательство, это термин такой), которая приводит к тому, что любая точка выглядит в объектив не точкой, а системой концентрических окружностей, основная доля света в которой приходится на центральную часть, именуемую у оптиков кружком Эри. Так, вот, при увеличении равному диаметру объектива в миллиметрах, у двух соседних точек кружки Эри соприкасаются друг с другом. Дальнейшее увеличение ведет к их перекрытию. Впрочем, два кружка, перекрывающиеся не более чем на 70% все же различимы, поэтому, самое крайнее разумное увеличение равно 1.7 диаметров объектива, в противном случае – соседние точки сливаются, и дальнейший рост увеличения не добавляет никаких новых деталей.
Отсюда вытекает, чтобы камера давала четырехсот кратное увеличение, диаметр ее объектива должен быть, по крайней мере, 20 – 30 см. Тогда, это не камера получится, а самый настоящий телескоп, причем солидных размеров!
Действительно, если "клюнуть" на рекламу и приобрести такую камеру можно убедиться, что полученные ею изображения состоят не из точек, а… квадратиков!
>>>>>Врезка 2:
Прежде чем, приступать к наблюдениям, недурно бы сперва выбрать сам объект наблюдений. Большинство из нас смутно помнит, что где-то там, на небе находятся планеты – Марс, Юпитер, Сатурн, шумной компанией вращается множество астероидов, а иногда пролетают такие экзотические объекты, как кометы. Но где все они находятся в какой-то конкретный момент времени? Т.е. каковы их астрономические координаты, которые и ждет от вас телескоп?
Узнать это помогут астрономические сайты, например, www.astronomy.ru, в котором все такие сведения расположены за ссылкой "календарь", а в разделе новостей сообщается обо всех интересных событиях, происходящих на небе.
Родственные вопросы:
Поймай мечту за хвост!
A:Perl – за и против
Язык Perl используется миллионами людей по всему миру. В чем секрет его притягательности? Уж, конечно, не в бесплатности - бесплатных реализаций других языков – пруд пруди, но почему-то выбирают именно Perl; не в легкости освоения – Бейскик или Питон освоить не в пример проще; не в переносимости – у Perl-а с нею далеко не безоблачно; наконец, было бы откровенным хвастовством говорить о необычной мощности языка – Perl заметно слабее Лиспа, Модулы, Оберона и обгоняет только такие языки как Си и Паскаль. Так в чем же все-таки дело?A:Силки для клиента или 7 таинств мистерий
Бизнес честным не бывает. Понятия "справедливости" в нем не существует. Сумма денег (пренебрегая инфляцией) величина постоянная и единственный способ заработать – отнять у других.Конечная цель любого бизнесмена – заставить клиента расстаться с деньгами, а конкурента – с клиентами. Неприкрытый грабеж встречается достаточно редко (цивилизация мы или нет?), но хитрость и обман – сплошь и рядом.
A: Симулятор от… NASA
Больше всего в сегодняшних американцах мне нравится их открытость. "Свобода слова и печати" для них не пустой звук. И правда, не успеет иной космический телескоп сделать очередной снимок, как тот уже доступен на сайте NASA (www.nasa.gov). В качественной, неискаженной форме, пригодный не только для восторженных восхищении ("смотри-ка яка красива гарна галактика!" {>>>>> сноска http://www.seds.org/hst/96-29a.html}), но и научных целей. Есть желание посмотреть взрыв «Челленджера»? Нет проблем, скачивайте mpeg с ftp сервера NASA {>>>> сноска Этот же файл можно утянуть и с быстрого томского сервера http://jump.telecom.tomsk.su/video/51-l-launch2.mpg} или закажите CD диск!В свете этого предоставление публичной версии симулятора космического аппарата Mars Polar Lander (обломки которого ныне покоятся среди дюн Марса) удивления не вызывает. NASA свободно раздает фрагменты кода, который предназначался для реального управления аппаратом.
Впрочем, как научная, так и стратегическая ценности симулятора сомнительны. Зато познавательная несомненна. Одно дело - летать на точной копии реактивного истребителя (которым сегодня никого не удивишь), совсем другое - окунуться в атмосферу центра управления космическими полетами. Почувствовать себя на секунду настоящим испытателем. Бесспорно, это уникальная игрушка, аналогов которой назвать невозможно.
Немало азарта добавляет практически полное отсутствие документации (что не характерно для NASA). Обладая далеко не визуальным интерфейсом (нечто вроде макроязыка) симулятор становится хорошей головоломкой для взрослых (или детей, настойчиво перебирающих все возможные комбинации).
Найти его можно на официальном сайте Mars Polar Lander (http://mars.jpl.nasa.gov/msp98/index.html) для чего следует кликнуть по ссылке "Command your own Polar Lander" – Управляйте вашим собственным Mars Polar Lander-ом, http://mars.graham.com/mplwits которая вскоре приведет нас к заветной "Download Page".
Выясняется, что симулятор написан на Java и, кроме, собственно, самого симулятора необходимо установить Java Runtime Environment (5.2 мегабайта) и Java 3D (1.8 мегабайт). К слову сказать, оба компонента не являются собственностью NASA и достаточно широко распространены, чтобы их было можно найти в ближайшем ларьке, торгующим компакт-дисками известного происхождения.
Если же пиратство претит вашим пуританским взглядам (а почему бы и нет?), то можно скачать эти компоненты с любого из десятка серверов, заботливо предлагаемых NASA. Лично у меня самым быстрым оказался далеко не ближний Японский сервер.
Сам же симулятор находится на единственном сервере NASA и отдается на растерзание только после заполнения удивительно короткой регистрационной формы. Скачивать лучше всего в дневные часы, - ночью (то есть американским днем) сервер очень часто оказывается перегруженным и выдает байты каплями - в час по чайной ложке.
Пока мегабайты падают на наши жесткие диски, полезно ознакомится с необычайно коротким и лаконичным руководством пользователя (спасибо, что хоть такое дали). Оказывается, что публичная версия немного отличается от оригинальной. Впрочем, различия для большинства пользователей окажутся некритичны.
Так, например, подлинные команды миссии удалены и заменены эквивалентными. Именно так, во всяком случае, утверждает NASA, вероятно, полагая, что эквивалентность не влечет за собой идентичность (иначе, зачем же тогда их было заменять?)
Аналогично, подлинная кинематика движения руки-манипулятора робота удерживается в секрете –"arm kinematics were removed and replaced by equivalent kinematics" - NASA не хочет расставаться с секретами конструктивных особенностей своего аппарата.
Если эти два отличия средне взятому обывателю сугубо "фиолетовы", то вот упрощение рельефной трехмерной поверхности Марса до невыразительной плоскости бурого цвета огорчит кого угодно. Впрочем, это ограничение связано с недостаточной мощностью бытовых "персоналок" для подобных расчетов, а вовсе не повышенной секретностью.
К счастью, сам объект симуляции изображен трехмерно с детальной проработкой всех узлов в отдельном окне, позволяющим произвольно менять позицию наблюдателя – при желании можно рассматривать аппарат хоть снизу-вверх (кстати, в таком положении его узлы видны наиболее отчетливо)!

Рисунок 47 3.jpg Внешний вид Mars Polar Lander

Рисунок 48 2.jpg Изображения телекамер
Рядом показан небольшой детализированный фрагмент поверхности Марса (сектор с углом охвата градусов эдак пятнадцать). О полной же, круговой, панораме приходится только мечтать. Или в очередной раз лезть в Интернет, за недостающими изображениями (http://mars.graham.com/mplwits/).
Впрочем, большинство пользователей будут больше озабочены головной болью, как же стронуть эту "радость" с места. Ничего похожего на рычаги управления и педали скоростей как-то не наблюдается.
Ругнувшись еще раз на отсутствие документации (это же надо, что бы вот так, несерьезно!) отправимся на сайт NASA почитать описание оригинального аппарата (http://mars.jpl.nasa.gov/msp98/images/landingsite1.html).
Выясняется, что Mars Polar Lander вовсе не "марсоход", а, скорее, "марсостой" - стационарная, неподвижная станция, снабженная лишь рукой-манипулятором, практически единственным, чем можно с помощью симулятора управлять.
"Практически" - за исключением камеры, которая и передает видимую панораму. Кроме движений самой камеры, симулятор позволяет поиздеваться над "снимаемыми" изображениями – уменьшать или увеличивать яркость, повышать контраст, даже обрабатывать специальными фильтрами для подчеркивания мельчайших деталей рельефа.
Впрочем, возня с графикой быстро надоедает (уж лучше заглянуть в PhotoShop – там набор фильтров намного богаче). Куда интереснее почувствовать в своих руках манипулятор далекого космического агрегата.
Впрочем, "в руках" сказано слишком громко. Все управление реализовано на макроязыке, описание которого напрочь отсутствует, и все что есть - пара примеров программ, доступных для изучения.
Для их запуска необходимо выбрать в меню "Windows" главного окна пункт "Sequence Execution Window" и в появившимся окне кликнуть по кнопочке "Batch". Тут же трехмерное изображение агрегата оживет, придет в движение, сопровождаемое трассировкой (то есть отслеживанием) текущих выполняемых команд.
Играбельный момент всей этой сцены был бы сомнителен, если бы программа ни имитировала реальные (то есть, как мы помним не подлинные, но все же аналогичные) действия взаправду существующего космического аппарата.
До этого момента игроки могли сидеть лишь в кабинах вымышленных космических кораблей. Пусть и красочно нарисованных, но не существующих в природе. Единицы жителей планеты Земля могут похвастаться тем, что сидели за рулем настоящего "марсохода". Сегодня дверь в Тайну приоткрыта. Посмотрим, что будет дальше. Может быть и впрямь, завтра появится возможность управлять реальным марсоходом через Интернет…
A: В чем преимущества Windows 2000 по сравнению с 9x?
Древние говорили – выбирая Бога, вы выбираете судьбу. Ничего не могу сказать на счет богов, но вот выбор операционной системы – дело серьезное. Одна Microsoft предлагает на выбор Windows 98, Windows NT, Windows 2000, Windows Me, да и новые операционные системы не за горами.Работать под Windows 98 (а кто-то до сих пор сидит и под Windows 95) по-прежнему можно, но вроде как "несолидно" – другие, понимаешь, уже летать начали, а мы все сидим на шкурах мамонтов и добываем огонь трением.
Может, следует, набравшись духа, поставить Windows 2000? Помимо зова моды, здесь замешены и чисто практические интересы – глядишь, компьютер надежнее работать будет. Говорит же реклама, что Windows 2000 – самая надежная в мире система. А капризы "народной" Windows 98 так надоели…
На самом же деле, Windows98 OS2 (точнее тот ее код, что бы написан фирмой Microsoft, ибо к Windows приложили руку программисты многих компаний) представляет собой достаточно качественный продукт. Путь, не без ляпов, но при должной настройке, после "шаманской" возни с реестром, устойчиво и надежно работающий. А корни нестабильного поведения (если таковое наблюдается) растут из-за кривых драйверов сторонних разработчиков, железа немерной желтизны или же ошибок прикладных программ.
??? Рисунок "карикатура" Шаман бегает вокруг компьютера с Windows
В Windows 2000 включено множество новых драйверов и учтены многие особенности "китайского" железа, поэтому, вполне возможно, что установка этой системы, решит все (или почти все) ваши проблемы. Однако ставить Windows 2000 только для того, чтобы убрать имеющиеся конфликты, – слишком уж расточительное решение, тем более, не факт, что она действительно их уберет, а не добавит новых.
Последнее вполне вероятно. Чтобы ни утверждала Microsoft насчет качества тестирования своего детища, даже беглый взгляд на список исправлений пакета обновления Service Pack 1, убеждает в обратном, – ошибки в Windows-ах были, есть и будут!
Поэтому закроем глаза на ошибки, смирившись с ними как с неизбежным злом, и посмотрим, какие возможности Windows 2000 будут полезны домашнему пользователю. В первую очередь это быстродействие (или его отсутствие – смотря как посмотреть). По поводу производительности Windows 2000 в народе ходят два мнения: одних возмущает ее "аристократическая неторопливость", другие же, напротив, восхищаются быстротой реакции – не успел мышкой кликнуть, как все готово! В чем же дело, может быть, у первых просто скорости процессора не хватает? Ничуть! На моем позором доисторическом CELERON-300A Windows 2000 просто "летает", – все приложения грузятся практически мгновенно и даже такие монстры, как PhotoShop и Visual Studio, совсем не тормозят. Весь "секрет" в оперативной памяти – ее установлено 256 мегабайт. С таким количеством RAM Windows 2000 работает намного быстрее Windows 98, но стоит ее уменьшить до 64-128 мегабайт, как разница в производительности практически
сотретсястирается, а на 32 "метрах" работа с Windows 2000 представляет сплошное мучение.
К сожалению, 128 и более мегабайт на сегодняшний день все еще остается роскошью, и большинство компьютеров комплектуются значительно меньшим количеством оперативной памяти. Но дополнительные 64 мегабайта стоят, по крайней мере, вдвое дешевле, чем дополнительные 300-500 мегагерц, а ускорения дают больше! Словом, если вы стеснены быстродействием, стоит подумать о модернизации компьютера и установке Windows 2000.
Другой немаловажный момент – защита и разграничение доступа информации. Помните тот случай, когда позарез необходимый к завтрашнему доклад, набранный в Word'е ценой бессонных ночей, в последний момент оказался безжалостно уничтожен злобным вирусом, занесенным на компьютер сынишкой? Что поделаешь, семейный компьютер - предмет коллективного использования и как ни запрещай своим домашним ставить на него что попало, как ни отнимай у них диски сомнительного происхождения, - им все равно играть охота!
Что же, Windows 2000 поможет отцу русской демократии! Создайте для сына (дочки) нового пользователя с ограниченными правами ("Пуск à
Панель управления à
Пользователи и пароли; установить галочку "требовать ввод имени и пароля"; нажать кнопку "Добавить", ввести имя и пароль создаваемого пользователя, а затем выбрать "ограниченный доступ" и нажать кнопочку "готово"). Запускать игры и другие безобидные программы он сможет, а вот видеть ваши документы или испортить систему – нет (хотя, дети сейчас все как один одаренные и с легкостью портят то, что никакому хакеру сломать не под силу).
Да и отцу семейства постоянно входить в систему с правами администратора совсем ни к чему (а именно так и происходит по умолчанию) – гораздо спокойнее работать под "пользователем", не имеющим возможности модифицировать системные и исполняемые файлы, как бы ни было велико это желание. Если какой вирус удостоит вас своим посещением, то тут же отправится восвояси, ибо размножаться не сможет. То же относится и к документам – когда набранный тест (электронная таблица, баланс или рисунок) полностью готов, - временно войдите в систему с правами администратора ("Пуск à
Завершить сеанс Ваше Имя") и запретите его модификацию (свойства файла, вкладка "Безопасность", снять галочки "изменить" и "запись"), оставляя лишь право на чтение. Пусть попробуют выжить вездесущие макровирусы в этой стерильной среде!
>>>>> Врезка:
Помимо этого Windows 2000 очень хорошо защищает и от случайных сбоев, например, выключения питания в момент запуска оптимизатора диска или зависания компьютера в момент сохранения файла на диск.
А для сокрытия содержимого секретных документов от не в меру любопытных глаз (например, спецслужб) предусмотрена возможность шифрования как отдельных файлов, так и целых папок (свойства файла или паки, вкладка "Общие", нажмите кнопку "Другие" и в открывшимся диалоговом окне установите галочку "Шифровать содержимое для защиты данных")
Замечательно, что при этом не требуется постоянного ввода пароля, - автоматически используется тот, под которым вы вошли в систему, и зашифрованный файл внешне ничем не отличается ото всех остальных. За исключением того, что прочесть его сможете только вы, и никто другой (даже администратор системы). А для экономии места можно на лету упаковывать любые выбранные файлы, а не весь диск целиком, как это было в Windows 95\98. (свойства файла или паки, вкладка "Общие", нажмите кнопку "Другие" и в открывшимся диалоговом окне установите галочку "Сжимать содержимое для экономии места на диске"). К сожалению, атрибуты сжатия и шифрования исключают друг друга, поэтому придется выбирать что-то одно.
Весь этот табун замечательных возможностей и пуленепробиваемую защиту обеспечивает, строго говоря, не сама Windows 2000, а файловая система NTFS. Диски, размеченные под FAT и FAT32, даже под новой системой практически ничем не защищены, поэтому, если уж и ставить Windows 2000, то только на NTFS.
До недавнего времени в Windows NT, такое решение несло не только блага, но и риск потери доступа к данным, - если вдруг случится что и система "ляжет", вместе с ней "лягут" и все NTSF-диски, ибо старая добрая MS-DOS, заботливо сохраненная на загрузочной дискете, их просто не "видит". Администратору корпоративной сети такой "полег" – не помеха, - он просто возьмет винчестер с "мертвой" NT и подключит его к компьютеру со здоровой системой, колдуя над которой, покойницу и воскресит, или, по крайней мере, скопирует оттуда все важные данные и файлы. Но для домашнего пользователя такой способ не приемлем, - где же он возьмет рабочую NT, да еще в четыре часа ночи (а по закону бутерброда самые коварные аварии случаются как раз под утро, когда так страшно хочется спать)?
Разработчики Windows 2000 учили это и поддержали, так называемую, консоль восстановления. Если говорить упрощенно – эта та же MS-DOS, загруженная с дискетки (в количестве четыре штуки) или родного компакт-диска, со встроенными утилитами для восстановления таких критически важных персон, как MBR (главная загрузочная запись) или BOOT-сектор (сектор загрузки). В контекстной помощи Windows 2000 рассказано, как с помощью программы архивации создать резервную копию важнейших файлов системы, и как восстановиться с нее в случае аварии.
Вкратце, загрузившись с установочных дискет или CD-диска с Windows 2000, выберите пункт "Чтобы восстановить Windows 2000, нажмите <R>", нажав, как и просят, клавишу <R>, а за ней клавишу <C> - "Для исправления установки Windows 2000 через консоль восстановления нажмите <C>". Остается выбрать систему (если их установлено больше одной) и ввести пароль администратора. К сожалению, с консоли восстановления доступ открыт не ко всем файлам, а только принадлежащим системе и просто так скопировать важные данные на дискету не получится. Но можно попробовать восстановить диск командами CHKDSK, FIXMBR и FIXBOOT.
Другая полезная утилита, - SFC.EXE, - доступная непосредственно из Windows 2000, сканирует системные файлы на предмет поиска в них искажений, а случись ей такие обнаружить – предложит все восстановить с резервной копии, автоматически создаваемой при установке системы. Очень помогает при сбоях и подозрениях на заражение вирусом! (Ради справедливости отметим, что такая же утилита есть и в Windows 98).
Словом, разработчики Windows 2000 приложили немало усилий к защите и эту систему не так-то просто "уронить". Но не стоит питать иллюзий будто бы вашему спокойствию вообще
ничего не угрожает. Увы, ничто по-настоящему не надежно в нашем подлунном мире! Впрочем, если Windows 2000 не остановит взломщика, по крайней мере, она заставит его попотеть. А кому интересно такими усилиями ломать "домашнего" пользователя? Совершенно верно – никому, поэтому, можно смело чувствовать себя в относительной безопасности.
Но, помимо описанных выше достоинств, Windows 2000 несет в себе одну очень неприятную вещь – никакие MS-DOS программы, требующие прямого доступа к аппаратуре, под этой операционной системой работать не будут. В первую очередь это относится к игрушкам (все они играют музыку, дергая звуковую карту за порты), различным графическим программам, переводящим дисплей в нестандартный режим, наконец, под Windows 2000 не работают программы, защищенные ключевыми дисками и прочими нестандартными приемами программирования.
Поэтому, прежде чем менять операционную систему, хорошо бы убедиться, что все необходимые вам приложения в ней успешно работают или имеют себе замену. Убедится-то хорошо, да вот как? Не выяснять же это установкой Windows 2000?! Конечно, нет. На CD-диске в каталоге SUPPORT находится замечательная утилита как раз для такой проверки и предназначенная.
Иногда в печати и в телеконференциях промелькивает утверждение, что, дескать, необязательно ради Windows 2000 отказываться от старой доброй Windows 98 – обе эти системы могут прекрасно уживаться вместе. Если нужная программа не работает в Windows 2000 – запускай Windows 98 и наслаждайся жизнью. К сожалению, не все так радужно как на словах. Поставить-то две системы на один диск, конечно, можно, но вот будет ли от этого хоть какой ни будь прок? (Чтобы установить обе системы на один диск – достаточно поставить Windows 2000 поверх Windows 9x\Me, она спросит: "следует обновить уже имеющуюся систему или установить новую?" – ответьте "установить новую", тогда Windows 2000 автоматически добавит собственный boo-tменеджер, позволяющий при старте компьютера выбрать какую именно операционную систему следует загружать.)
Windows 9x не поддерживает NTSF и придется обе системы ставить на FAT. А FAT – это полное отсутствие защиты и возврат в средневековье. Разбить диск на несколько разделов – FAT для Windows 98, а NTFS – для Windows 2000 – идея хорошая, но не выдерживающая никакой критики. Ведь в этом случае, Windows 9x приложения, не увидят документов, хранящихся на диске с Windows 2000, а если их перенести на диск Windows 98, то зачем вообще ставить Windows 2000?
Плохая совместимость с древним программным обеспечением – основой недостаток Windows 2000, от которого никуда не уйти. Как бы ни было велико желание получить и то, и другое – приходится делать выбор – либо новая Windows 2000, либо старые приложения, но не все вместе сразу!
Родственные вопросы:
Какая операционная система самая надежная?
ACORP 56K
"Дешево и сердито" – вот главный девиз тайваньской фирмы "ACORP Electronic Corporation". При чтении технического руководства сего изделия, купленного по случаю распродажи у одного предпринимателя всего за сто пятьдесят рублей {>>>> сноска цена на момент 2001 года}, у автора возникло устойчивое впечатление, что ACORP – в натуральном смысле слова "кастрированный" модем. Помните, как у Вини - Пуха – "это неправильные пчелы, и они несут неправильный мед".Адоптивной подстройки под линию нет, ручной регулировки уровней сигнала нет, измеритель АЧХ напрочь отсутствует, а сбор статистики краток до безобразия, реле, отключающее параллельный телефон, и не ночевало, и в довершении ко всему этому – неустойчивое распознание сигнала "занято".
Словом, ACORP 56K – это модель для хороших телефонных линий и непритязательных пользователей, любителей же "шаманить" с настройками этот модем навряд ли удовлетворит ввиду отсутствия возможности настройки вообще – эдакий "кодак-автомат", имеющий только одну кнопку – "спуск". ???? Рисунок "карикатура" – обыграть!
По своему личному опыту автор может сказать, что на местных линиях среднего качества модем вполне стабильно держит соединение 14.400\19.200, работая круглыми сутками напролет. Но вот на междугородке… даже при хорошо настроенной аппаратуре уплотнения связи при скорости 19.200 связь разрывается не реже, чем через 60-80 минут, а в среднем – каждые 15-20 минут. Модемы же 3Com US Robotics Courier V. Everything и ZyXEL OMNI 56K в тех же условиях без нареканий работают на 28.800, причем ZyXEL эпизодически соединяется и на более высоких скоростях.
Возможности:
Подстройка уровня выходного сигнала нет
Подстройка уровня входного сигнала нет
Механизм адаптивной настройки на линию нет
Измеритель АЧХ линии нет
Сбор статистики соединения краткий
Жидкокристаллический экран нет
Ограничение скорости соединения есть
Реле для отключения параллельного телефона нет
Распознает сигнал занято нет
Встроенный АОН нет
Встроенный Автоответчик нет
Чипсет Rockwell
Характеристики линии и соединения, определяемые модемом в режиме сбора статистики:
Протокол связи да
Скорость приема \ передачи да
Частота несущей приемника \ передатчика нет
Отношение сигнал \шум да, последняя + максимальная
Уровень входного сигнала да
Уровень выходного сигнала нет
Задержка возврата эха нет
Уровень ближнего эха нет
Уровень дальнего эха нет
Дрожание фазы нет
Сдвиг частоты нет
Условное качество линии да
Измерение АЧХ нет
Количество переданных блоков нет
Количество блоков, переданных с ошибками нет

Рисунок 15 Рис. Acorp. bmp Внешний вид модема ACORP 56K
Адрес раз, адрес два…
С адресами как раз и наблюдается наибольшая путаница, в которую не помешает внести немного ясности. Прежде всего структура sockaddr определенная так:struct sockaddr
{
u_short sa_family; // семейство протоколов (как правило AF_INET)
char sa_data[14]; // IP-адрес узла и порт
};
Однако, …теперь уже считается устаревшей, и в Winsock 2.x на смену ей пришла структура sockaddr_in, определенная следующим образом:
struct sockaddr_in
{
short sin_family; // семейство протоколов (как правило AF_INET)
u_short sin_port; // порт
struct in_addr sin_addr; // IP – адрес
char sin_zero[8]; // хвост
};
В общем-то ничего не изменилось (и стоило огород городить?), замена безнакового короткого целого на знаковое короткое целое для представления семейства протоколов ничего не дает. Зато теперь адрес узла представлен в виде трех полей – sin_port (номера порта), sin_addr (IP-адреса узла) и "хвоста" из восьми нулевых байт, который остался от четырнадцати символьного массива sa_data. Для чего он нужен? Дело в том, что структура sockaddr не привязана именно к Интернет и может работать и с другими сетями. Адреса же некоторых сетей требуют для своего представления гораздо больше четырех байт, - вот и приходится брать с запасом!
Структура in_addr определяется следующим в образом:
struct in_addr {
union {
struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b; // IP-адрес
struct { u_short s_w1,s_w2; } S_un_w; // IP-адрес
u_long S_addr; // IP-алрес
} S_un;
}
Как видно, она состоит из одного IP-адреса, записанного в трех "ипостасях" – четырехбайтовой последовательности (S_un_b), пары двухбайтовых слов (S_un_W) и одного длинного целого (S_addr) – выбирай на вкус… Но не все так просто! Во многих программах, технических руководствах и даже демонстрационных примерах, прилагающихся к Winsock SDK, встречается обращение к "таинственному" члену структуры s_addr, который явно не описан в SDK! Например, вот строка из файла "Simples.h": "local.sin_addr.s{<<<выделить 's' жирным}_addr = (!interface)?INADDR_ANY:inet_addr(interface);"
Это что такое?! Заглянув в файл "winsock2.h" можно обнаружить следующее: "#define s_addr S_un.S_addr". Ага, да ведь это эквивалент s_addr, т.е. IP-адресу, записанному в виде длинного целого!
На практике можно с одинаковым успехом пользоваться как "устаревшей" sockaddr, так и "новомодной" sockaddr_in. Однако, поскольку, прототипы остальных функций не изменились, при использовании sockaddr_in придется постоянно выполнять явные преобразования, например так: "sockaddr_in dest_addr; connect (mysocket, (struct sockaddr*) &dest_addr, sizeof(dest_addr)".
Для преобразования IP-адреса, записанного в виде символьной последовательности наподобие "127.0.0.1" в четырехбайтовую числовую последовательность предназначена функция "unsigned long inet_addr
(const char FAR * cp )". Она принимает указатель на символьную строку и в случае успешной операции преобразует ее в четырехбайтовый IP адрес или –1 если это преобразование невозможно. Возвращенный функцией результат можно присвоить элементу структуры sockaddr_in следующим образом: "struct sockaddr_in dest_addr; dest_addr.sin_addr.S_addr=inet_addr("195.161.42.222");". При использовании структуры sockaddr это будет выглядеть так: "struc sockaddr dest_addr; ((unsigned int *)(&dest_addr.sa_data[0]+2))[0] = inet_addr("195.161.42.222");"
Попытка передать inet_addr доменное имя узла приводит к провалу. Узнать IP-адрес такого-то домена можно с помощью функции "struct hostent FAR * gethostbyname (const char FAR * name);". Функция обращается к DNS и возвращает свой ответ в структуре hostent или нуль если DNS сервер не смог определить IP-адрес данного домена.
Структура hostent выглядит следующим образом:
struct hostent
{
char FAR * h_name; // официальное
имя узла
char FAR * FAR* h_aliases; // альтернативные имена узла (массив строк)
short h_addrtype; // тип адреса
short h_length; // длина адреса (как правило AF_INET)
char FAR * FAR * h_addr_list; // список указателей на IP-адреса
// ноль – конец списка
};
Как и в случае с in_addr, во множестве программ и прилагаемых к Winsock SDK примерах активно используется недокументированное поле структуры h_addr. Например, вот строка из файла "simplec.c" "memcpy(&(server.sin_addr),hp->h_addr,hp->h_length);" Заглянув в "winsock2.h" можно найти, что оно обозначает: "#define h_addr h_addr_list[0]".
А вот это уже интересно! Дело в том, что с некоторыми доменными именами связано сразу несколько IP-адресов. В случае неработоспособности одного узла, клиент может попробовать подключится к другому или просто выбрать узел с наибольшей скоростью обмена. Но в приведенном примере клиент использует только первый IP адрес в списке и игнорирует все остальные! Конечно, это не смертельно, но все же будет лучше, если в своих программах вы будете учитывать возможность подключения к остальным IP-адресам, при невозможности установить соединение с первым.
Функция gethostbyname ожидает на входе только доменные имена, но не цифровые IP-адреса. Между тем, правила "хорошего тона" требуют предоставления клиенту возможности как задания доменных имен, так и цифровых IP-адресов.
Решение заключается в следующем – необходимо проанализировать переданную клиентом строку – если это IP адрес, то передать его функции inet_addr в противном случае – gethostbyaddr, полагая, что это доменное имя. Для отличия IP-адресов от доменных имен многие программисты используют нехитрый трюк: если первый символ строки – цифра, это IP-адрес, иначе – имя домена. Однако, такой трюк не совсем честен – доменные имя могут начинаться с цифры, например, "666.ru", могут они и заканчиваться цифрой, например, к узлу "666.ru" члены cубдомена "666" могут так и обращаться – "666". Самое смешное, что (теоретически) могут существовать имена доменов, синтаксически неотличимые от IP-адресов! Поэтому, на взгляд автора данной статьи, лучше всего действовать так: передаем введенную пользователем строку функции inet_addr, если она возвращает ошибку, то вызываем gethostbyaddr.
Для решения обратной задачи – определении доменного имени по IP адресу предусмотрена функция "struct HOSTENT FAR * gethostbyaddr (const char FAR * addr, int len, int type)", которая во всем аналогична gethostbyname, за тем исключением, что ее аргументом является не указатель на строку, содержащую имя, а указатель на четырехбайтовый IP-адрес. Еще два аргумента задают его длину и тип (соответственно, 4 и AF_INET).
Определение имени узла по его адресу бывает полезным для серверов, желающих "в лицо" знать своих клиентов.
Для преобразования IP-адреса, записанного в сетевом формате в символьную строку, предусмотрена функция "char FAR * inet_ntoa
(struct in_addr)", которая принимает на вход структуру in_addr, а возвращает указатель на строку, если преобразование выполнено успешно и ноль в противном случае.
ALMA MATER
Основное подспорье в изучении сокетов - Windows Sockets 2 SDK. SDK - это документация, набор заголовочных файлов и инструментарий разработчика. Документация не то, чтобы очень хороша – но все же написана достаточна грамотно и позволяет, пускай, не без труда, освоить сокеты даже без помощи какой-либо другой литературы. Причем, большинство книг, имеющиеся на рынке, явно уступают Microsoft в полноте и продуманности описания. Единственный недостаток SDK – он полностью на английском (для некоторых это очень существенно).Из инструментария, входящего в SDK, в первую очередь хотелось бы выделить утилиту sockeye.exe – это настоящий "тестовый стенд" разработчика. Она позволяет в интерактивном режиме вызывать различные сокет-функции и манипулировать ими по своему усмотрению.
Демонстрационные программы, к сожалению, не лишены ошибок, причем порой довольно грубых и наводящих на мысли – а тестировались ли эти примеры вообще? (Например, в исходном тексте программы simples.c в вызове функций send и sendto вместо strlen стоит sizeof) В то же время, все примеры содержат множество подробных комментариев и раскрывают довольно любопытные приемы нетрадиционного программирования, поэтому ознакомится с ними все-таки стоит.
Из WEB-ресуросов, посвященных программированию сокетов, и всему, что с ними связано, в первую очередь хотелось бы отметить следующие три: sockaddr.com; www.winsock.com и www.sockets.com.
Авто-клик
Существует множество способов заставить посетителя нажать на баннер. Например, для доступа к такому-то ресурсу можно потребовать пароль – третье слева слово в заголовке сайта спонсора. Хочешь – не – хочешь, а нажимать надо. Некоторые, особо алчущие, даже заставляют излазить сайт спонсора вдоль и поперек, а то – и зарегистрироваться на нем!Подобные приемы абсолютно законны с точки зрения рекламодателя, но очень напрягают посетителей, уменьшая их количество. Возникает задача: и страницу спонсора открыть, и посетителям угодить.
Чаще всего злоумышленники прибегают к автоматически открывающимся страницам, вставляя JavaScript приблизительно следующего содержания: 'window.open("http://mysponsor.com")'. Однако большинство посетителей успевают закрыть "лишние" окна задолго до их полной загрузки и это позволяет спонсору легко распознать левые накрутки – достаточно засчитывать только те заходы на страницу, когда все ее элементы загружаются целиком.
Некоторые злоумышленники используют более продвинутый способ обмана – открывают страницы в фреймах нулевого размера. Они загружаются скрытно от посетителей, даже и не подозревающих, что происходит за их спиной! Практически все современные браузеры поддерживают фреймы и такой трюк никаких проблем не вызывает.
Может ли рекламодатель разоблачить обман? Разумеется да, – если пользователь зашел на страницу, но не нажал ни одной ссылки, то, скорее всего, это никакой не пользователь, а его имитация и такой заход засчитывать не надо. Правда, это решение может вызвать протест легальных web-мастеров: если пользователь зашел к спонсору, но, так ничем и не заинтересовавшись, ушел оттуда, – это проблема рекламодателя, а не того, кто его рекламирует!
С другой стороны, при необходимости злоумышленник сможет имитировать и нажатие ссылок, причем вполне правдоподобно. Для этого ему достаточно на разных страницах своего сайта спрятать в фреймах разные страницы спонсора. Статистический анализ не позволит распознать обман и придется прибегать к довольно сложным приемам – например, создавать ссылки в виде графических объектов и передавать на сервер координаты мыши в момент их нажатия. Злоумышленнику будет достаточно сложно правдоподобно имитировать клики и частотный анализ выдаст его с головой. Правда, он, в свою очередь, может использовать такие же ссылки на своей странице и передавать мышиные координаты серверу в точности имитируя поведение посетителя на скрытой странице.
Одним словом – классическое противостояние меча и щита. Совершенствуются механизмы защиты, но и злоумышленники не сидят на месте, придумывая все более хитрые трюки, и… все возвращается на круги своя.
Автоматизированная накрутка
Основу автоматизированной "крутилки" баннеров составляет скрипт, посылающий определенные HTTP-запросы и исполняющийся, как правило, на удаленном сервере, предоставляющим бесплатный хостинг, реже – на компьютере клиента.Если злоумышленник, накручивая баннер, не меняет при каждом запросе свой IP-адрес, он выдает себя с головой. Традиционное оружие обмана – анонимные Proxy-сервера, выполняющие запрос злоумышленника от своего имени. Существует не столь уж много таких серверов – какой-то десяток тысяч, а то и меньше. Вполне реально собрать их в один список и проверять IP-адрес клиента на совпадение. Просто? Да! Эффективно? Нет!
Хитрому злоумышленнику такая проверка – не помеха. Скрыть свой IP можно десятками способов – для этого вовсе не обязательно обращаться к Proxy-серверу. Ничуть не хуже подойдет telnet, http с поддержкой cgi, анонимный ftp-сервер…
Баннеры-невидимки
Зависимость доходов от количества баннеров на странице отнюдь не линейна. Изобилие баннеров отрицательно сказывается на посещаемости, и, – хуже того, – склоняет посетителей к использованию "баннеро-резалок" – программ, блокирующих загрузку баннеров, и за счет этого обеспечивающих большую скорость работы.Нередко злоумышленниками предпринимаются попытки сокрытия факта присутствия баннеров уменьшением их размера до нуля пикселей. Это не препятствует загрузке баннеров с сервера, но в таком виде они не портят дизайн страницы и не отталкивают посетителей. Довольны все, за исключением рекламодателя.
Большинство спонсоров запрещают каким-либо образом изменять HTML-код, отображающий баннер, но злоумышленникам такой запрет – не указ. Одних запретов мало – спонсор должен уметь контролировать целость своего кода. А это отнюдь не так просто, как может показаться на первый взгляд!
Загружая картинку с сервера, браузер не сообщает ему адреса текущей страницы, и сервер не может определить откуда пришел запрос. Как же тогда он сможет проконтролировать неискаженность своего кода?
На первый взгляд проблему можно решить принудительной передачей адреса текущей страницы. Поскольку, Java допускает установку соединения только с тем узлом, с которого была загружена страница, приходится идти на хитрость – с помощью функции write "на лету" вставлять в страницу тег img, автоматически исполняющий cgi-скрипт, расположенный на сайте рекламодателя, и передающий ему URL текущей страницы с помощью метода location объекта document. Упрощенно это может выглядеть так:
d=document;
d.write("
Неоправданная популярность данного приема вызывает удивление. Вот далеко не полный перечень присущих ему недостатков. Во-первых, URL страницы может содержать конфиденциальные данные, например, пароли посетителя или номера его кредитных карт. Если пользователи узнают, что эти сведения передаются в чужие руки – может разразиться бааальшй скандал. Во-вторых, для динамических страниц, взаимодействующих с клиентом методом POST, понятие URL теряет всякий смысл. В-третьих, злоумышленник может так подправить HTML-код, чтобы он всегда возвращал адрес заранее заготовленной страницы, а не той, которую просматривает пользователь. Рекламодатель может лишь убедиться в неискаженности собственного HTML-кода на некоторой страничке, но бессилен определить – эту ли страницу просматривают пользователи или совсем другую.
Наконец, верификация HTML-кода многократно увеличивает нагрузку на сервер рекламодателя, что не всегда приемлемо. Поэтому, большинство рекламодателей по экономическим соображениям отказываются от автоматизированного контроля целостности своего HTML-кода.
Проверить: действительно ли посетители страницы увидели баннер или нет – невозможно. Некоторые, достаточно многие, рекламодатели предпочитают оплачивать только клики, но не засчитывают "холостые" показы сколько бы их ни было. В этом случае владелец web-страницы должен сам заботиться о том, чтобы посетители видели баннеы и как можно чаще нажимали на них.
Безопасность
Теорема 1 Чем больше знаний, тем меньше денег.Доказательство:
(1) Время - это деньги.
(2) Знание - это сила.
Для замкнутых систем импульс - постоянная величина: (3) импульс = сила * время = const; подставляя в (3) (1) и (2) имеем: знания * деньги = const.
Теорема доказана
Астрономический фольклор
Чем я рисую подсоединясь к Интернет?
Подключаясь к Интернет, вы потенциальнорисуете подвергнуться атаке злоумышленников (а в сети помимо мирных пользователей "проживают" и воинственные злоумышленники). Их целью может быть: похищение вашего Интернет – пароля; похищение, модификация или удаление файлов; блокирование работы компьютера и выведение его из строя. (см. так же "Чем рискует посетитель виртуального магазина")
- похищение вашего Интернет – пароля
(см. "Как взломать Интернет", "Что такое Интернет - пароль и зачем он нужен?") – наиболее распространенная атака, дающая атакующему возможность бродить по сети за чужой счет. Подавляющее большинство провайдеров не запрещает своим клиентам входить в Интернет с другого телефона и, все что нужно злоумышленнику, заполучить чье-то имя пользователя и пароль,
а так же, разумеется, выяснить услугами какого именного провайдера пользуется жертва. (cм. "Как избежать похищения моего Интернет-пароля")
– похищение, модификация или удаление файлов: чаще всего приходится сталкиваться с удалением, преследующим обычный вандализм, – ценность информации, хранящейся на домашнем компьютере, обычно, не столь велика, чтобы представлять для кого-то жгучий интерес, а корпоративные компьютеры худо-бедно защищаются специально на то поставленными администраторами и уж совсем юным взломщикам они в совей массе "не по зубам".
Помимо удаления, определенный сорт людей получает глубокое наслаждение от искажения чужих файлов – внесения нецензурных слов в текстовые документы и непристойных изображений в графические. Зачастую это несет гораздо больше убытки, чем удаление: представьте себе, что произойдет если подать Big Boss-у отчет, содержащий помимо прочего оскорбительные замечания в его адрес…
– блокирование работы компьютера: это самый распространенный и не такой уж безобидный тип атак. На первый взгляд, ничего страшного при зависании компьютера не происходит – перезагрузился и работай дальше. Но, если перезагрузки придется делать раз в пять-десять минут, то слово "работа" придется забыть! К тому же, несвоевременная перезагрузка (например, во время оптимизации диска) может привести к значительным потерям данных на жестком диске.
– выведение из строя компьютера или его компонентов: до некоторой поры программные методы выведения техники их строя были всего лишь частью фольклора, – никакой угрозы от резонанса головок винчестера или перегрева процессора на самом деле не существовало.
Сегодня же программное выведение аппаратуры из строя – обычное дело. Виною тому – огромная популярность "перешиваемых" ПЗУ. Их можно встретить и в материнских платах, и в модемах, и даже в некоторых моделях жестких дисков. Если зловредная программа "прошьет" ПЗУ "мусором", - устройство перестанет функционировать, если только его производитель не предусмотрел "резервного" ПЗУ, подключающегося в случае порчи основного. (Как обстоят дела с конкретным устройством можно узнать из прилагаемой к нему документации, если, конечно, там эти подробности описаны).
В противном случае, восстанавливать прошивку неработающего устройства придется в ремонтной мастерской. Пускай, подлинно-аппаратного вывода из строя при этом не происходит, – потребителям от этого ничуть не легче, ведь теперь запуск программы неизвестного происхождения (равно как и хакерская атака) чреват не только потерей информации, но и порчей самого компьютера!
Родственные вопросы:
Как взломать Интернет
Чем рискует посетитель виртуального магазина
Что такое Интернет - пароль и зачем он нужен?
Как избежать похищения моего Интернет-пароля
Что обозначает галочка "Сохранить пароль"
Если установлено "Сетевое окружение" или "Множественные параметры рабочего стола" (как и происходит по умолчанию), то в диалоге "Подключение" присутствует галочка "Сохранить пароль". Если ее взвести, то после успешного соединения компьютер запомнит пароль и в будущем будет автоматически его подставлять. В случае неуспешного соединения (телефонная линия занята, пароль указан неправильно, сервер провайдера завис и т.д.) пароль будет запомнензапоминаетсялишь на текущий сеанс работы – до первой перезагрузки или выключения компьютера.
В различных операционных системах сохранение пароля реализовано по-разному. В Windows 9x\Me пароли сохраняются в директории %Windows% в файлах с расширением *.pwl (от английского Passwords Word List – Список Паролей) и именем, совпадающим с именем пользователя, под которым он вошел в Windows. Windows NT\2000 сохраняют пароли в профилях
пользователей.
Родственные вопросы:
Надежнее ли "сохранение пароля" его ручного ввода? (следующий)
Что такое дерево (стек) протоколов?
Прежде чем продолжать повествование о протоколах, необходимо рассмотреть задачи, которые приходится решать при установке соединения.В первую очередь можно назвать маршрутизацию
- выбор маршрута, по которому будет двигаться пакет. Это действительно очень сложная задача, ведь получателя и отправителя под час разделяют десятки подсетей, настоящий лабиринт, заблудиться в котором очень легко, а найти кратчайший путь – куда сложнее.
??? Рисунок "карикатура" Человек стоит перед лабиринтом, переплетающихся друг с другом тропинок и в задумчивости чешет затылок.
Но прежде, чем отправить пакет в путешествие, необходимо убедиться, что его размер не парализует сеть своей обработкой. Разбивку одной дейтаграммы на множество пакетов фиксированного размера называют фрагментацией, а противоположный этому процесс – сборкой.
Очень важно обеспечить контроль целостности дейтаграмм, автоматически повторяя пересылку потерянных или искаженных пакетов, либо же, в крайнем случае, возвратить отправителю уведомление о невозможности доставки.
Наконец, необходимо уметь разделять один канал между несколькими параллельно работающими приложениями, чтобы пользователь мог принимать (отправлять) почту, одновременно с этим скачивая из сети файлы и болтая с приятелями по ICQ.
Все перечисленные операции принято разбивать на несколько групп, каждая из которых реализуется своим семейством протоколов, а сами семейства связываются между собой простой иерархической зависимостью.
В общепринятой иерархии ниже всех находится сетевой уровень. В Интернет он реализован двумя протоколами: IP (Internet Protocol – Протокол Интернета) и ICMP (Internet Control Message Packet – Проколол Управляющих Сообщений Интернет).
Протокол IP берет на себя заботы по маршрутизации, фрагментации и сборке пакетов на компьютере получателя. Фактически IP выполняет всю черновую работу по установлению соединения. К этому же уровню относиться и ICMP-протокол, использующийся для передачи сообщений об ошибках и сборе информации о работе сети. На нем основана работа таких утилит, как ping и trace route, применяющихся для диагностики сети.
Транспортный уровень реализован поверх сетевого, т.е. опирается на протоколы сетевого уровня. В Интернет он представлен протоколами TCP (Transmission Control Protocol – Протокол Управляемой Передачи) и UDP (User Datagram Protocol – Протокол Пользовательских Дейтаграмм). В задачи транспортных протоколов входит обеспечение надежной и достоверной доставки данных через сеть. Они же заведуют установкой, поддержанием и упорядочиванием каналов соединения, обнаруживают и по возможности устраняют ошибки передачи.
Различие между ними в том, что TCP гарантирует доставку данных и аутентичность отправителя (т.е. позволяет убедиться, что отправитель именно тот, за кого себя выдает), а UDP обеспечивает лишь контроль целостности данных, не ручаясь ни за успешность их доставки получателю, ни за достоверность адреса отправителя.
Может показаться, что UDP "плохой" протокол. Частично это так и есть, поэтому-то, в подавляющем большинстве случаев используется именно TCP. С другой стороны, UDP заметно производительнее TCP, поскольку не требует накладных расходов на поддержание соединения.
Прикладной уровень обеспечивает высокоуровневый интерфейс между сетевыми приложениями. Сюда относятся протоколы работы с почтой (POP3, SMTP, IMAP), сетевыми новостями (NNTP), файлами (FTP) и так далее.
Конечно, это очень грубая схема, но общение представление о функционировании Интернет с ее помощью получить можно.
Родственные вопросы:
Что такое ping и для чего он нужен?
Что такое протоколы и с чем их едят?
Как определить полный путь (прохождение) при скачивании файла
Что такое Интернет – пароль и зачем он нужен?
При заключении договора с провайдером среди прочих реквизитов вам в обязательном порядке присваивают имя пользователя (на жаргоне специалистов – логин) и пароль.Имя пользователя необходимо для выставления счета – каждый раз, входя в сеть, ваш компьютер сообщает серверу провайдера ваш логин и с этого момента сервер провайдера включает "счетчик", фиксирующий время пребывания клиента с таким-то логином в сети.
На тот случай, если нечестный человек решит схитрить и ввести чужой логин (а логин в силу исторически сложившихся причин хранится открыто и не представляет секрета) с каждым логином связано секретное слово – пароль
– известное лишь его обладателю.
Серверу пароль необходим только для идентификации клиента – надо же убедиться, что клиент именно тот, за кого себя выдает! Конечно, такой способ слишком надежным не назовешь, – пароль-то можно и подслушать, и украсить, и угадать (см. "Безопасность à
Чем я рискую, подсоединясь к Интернет") – но ничего лучшего до сих пор придумать не удалось.
Заботу об охране своих сетевых реквизитов провайдеры возлагают на клиентов – то есть, если у клиента пароль украдут и от души налазятся по Интернету за его счет, платить будет клиент!
Родственные вопросы:
Безопасность à Чем я рискую, подсоединясь к Интернет
Безопасность à Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?
Что такое mht (mhtml) файлы и зачем они нужны?
Аббревиатура mhtml расшифровывается как MIME HTML – т.е. гипертекстовой файл в формате MIME. (см. "Секреты почты à Что такое MIME"). В одном-единственном MIME-файле можно сохранить всю web-страницу целиком: и текст, и рисунки, и музыку (если она там есть). Для этого необходимо в меню "Файл" Internet Explorer-a выбрать пункт "Сохранить как…", указав тип файла "Web-архив".Гораздо предпочтительнее хранить текст и рисунки в одной "упаковке", а не держать их во множестве отдельных файлов (см. "Как сохранить WEB-страницу на диск для ее просмотра в Off-Line?")
Родственные вопросы:
Секреты почты à Что такое MIME
Как сохранить WEB-страницу на диск для ее просмотра в Off-Line?
Что такое MIME?
Аббревиатура MIME расшифровывается как Multipurpose Internet Mail Extensions, что в переводе на русский язык обозначает Многоцелевые расширения почтового стандартна Интернет.Давным-давно, в далекие доисторические времена, почтовые программы умели обрабатывать лишь текстовые сообщения, а исполняемые, архивные или графические файлы приходилось пересылать отдельно, через ftp. Такое положение дел и в древности не могло никого устроить, поэтому появились специальные программки, которые с помощью различных ухищрений умудрялись закодировать двоичный файл в длинную последовательность, состоящую из одних цифр, символов английского алфавита и знаков препинания. Получатель сообщения запускал программу-декодер, выполняющую обратную операцию и выдающую исходный файл. Сегодня такая схема передачи двоичных данных сохранилась, пожалуй, лишь в сети Fido.
???? Рисунок "карикатура" Чел. кладет в конверт свою фотографию
Но прибегать к помощи сторонних программ не очень-то удобно и с некоторого времени в "Своде законов Интернет" (то бишь RFC) появился новый стандарт на передачу данных, поддерживаемый самим почтовым клиентом. В принципе, по большому счету ничего не изменилось – двоичные файлы по-прежнему кодируются цифрами и символами английского алфавита, изрядно распухая в размере (см. "Сколько к письму добавляется служебной информации и как рассчитать, чтобы почтовый ящик не переполнился"), но теперь это происходит автоматически, скрыто от пользователя, что избавляет его от нужды вникать во все технические премудрости – подцепил файл к письму, кликнул "отправить" и – вперед, аля - улю, гони гусей!
Родственные вопросы:
Сколько к письму добавляется служебной информации и как рассчитать, чтобы почтовый ящик не переполнился
Что такое пакет? Дейтаграмма?
В основе языка лежат слова. Слова состоят из букв. Буквы - из звуков. Единицей сетевых сообщений является пакет. Почему не байт? Это было бы слишком расточительным решением: каждый отправляемый байт пришлось снабжать заголовком, содержащим, как минимум, адреса получателя и отправителя. Сетевое сообщение, по сути, ничем не отличается от обычного письма. Транзитные узлы изучают конверт и передают его по цепочке друг другу, пока, наконец, он не окажется у получателя (или возвратится назад, к отправителю).Можно сказать, что пакет состоит из конверта, в который при отправке вкладывается текст самого сообщения. Аналогичным образом получатель извлекает сообщение из конверта. Впрочем, при ближайшем рассмотрении этот процесс оказывается намного сложнее, ведь для установки связи приходится прибегать к услугам множества протоколов, каждый из которых ничего не знает обо всех остальных.
Поэтому, один протокол не в состоянии интерпретировать заголовок пакета, адресованного другому протоколу. С его точки зрения пакет представляет собой данные неизвестного формата. Он приклеивает к ним свой заголовок и передает пакет очередному протоколу более низкого уровня. Так, в процессе передачи, сообщение все больше и больше "обрастает" служебными данными.
Нечто аналогичное происходит на почте. Отправители пишут письма и укладывают их в конверты. Почтальоны сортируют письма по близким адресам назначения и запаковывают их в большие мешки, собираемые с узлов связи и вновь сортируемые и укладываемые в огромные контейнеры. А у получателей протекает обратный процесс. – Протоколы нижнего уровня получают пакет, сверяют заголовок (нам ли он адресован и не был ли поврежден при доставке?), и в случае положительного результата извлекают на свет его содержимое и передают "наверх".
Очередной протокол более высокого уровня проделывает туже операцию, пока, наконец, из стопки конвертов не выпадет исходное сообщение. Теперь оно обрабатывается прикладным программным обеспечением даже и не подозревающим о том, какой длинный путь прошло сообщение и сколько превращений ему пришлось притереть.
???? Рисунок "карикатура" Чел. опускает в модем конверт, он идет по проводам, откуда высыпается вместе с другими конвертами в мешок, мешки движутся по транспортеру…. и т.д.
Пакет – это минимальная порция информации, которой протоколы обмениваются друг с другом. Он состоит из конверта (заголовка) и сообщения (данных). Пакеты могут многократно вкладываться и извлекаться друг в друга, а при необходимости – многократно дробиться, вновь склеиваясь у получателя.
Если некто решит отправить фотографию своему другу, почтовый клиент добавит к ней заголовок с адресами отправителя и получателя, темой сообщения, датой отправки и так далее и передаст сформированный пакет на уровень ниже. Но протокол, ответственный за передачу данных, не может просто дописать свой заголовок и выпустить этот огромный пакет в сеть. Ведь такими темпами не долго начисто блокировать ее работу! Поэтому один большой пакет дробится на множество мелких, перемешивающихся в процессе путешествия со многими другими. На компьютере получателя полученные фрагменты вновь собираются в исходный пакет, из которого прикладной протокол извлекает содержимое сообщения.
Однако при обсуждении протоколов TCP/IP технически правильно употреблять термин "дейтаграмма", вместо слова "пакет". Дейтаграмма
представляет собой единицу данных, с которой работают протоколы TCP/IP. А термин "пакет" принято употреблять при описании физического уровня передачи сообщений. Дейтаграмма упаковывается в пакет, причем не обязательно в один. Так, например, при передаче дейтаграмм по X.25 сетям они помещаются в два пакета. Впрочем, это лексическое различие достаточно незначительно и в обиходной речи часто говорят "пакет", подразумевая "дейтаграмма".
Что такое ping и для чего он нужен?
Ping – эта такая утилита для проверки работоспособности сети. Принцип ее работы в общих чертах заключается в посылке узлу эхо – запроса и ожидании от него эха – ответа. Каждый узел сети Интернет должен уметь принимать эхо – запросы и возвращать эхо – ответы, разумеется, если он подсоединен к сети и работает.Отсутствие эхо – ответа от сервера обозначает либо сервер "висит", либо имеется неустранимое повреждение сети на участке клиент – сервер, обойти в "обход" которое невозможно.
??? Рисунок "карикатура" Чел. кричит в бассейн || горы "ау! Есть тут кто живой!" и приложив руку к уху ждет ответа. А ему в ответ "да нет тут никого!"
Это свойство делает ping удобным инструментом проверки работоспособности узла и целостности соединения. Впрочем, отрицательный результат работы ping не всегда свидетельствует о наличии какой-либо проблемы (см. "Почему ping не проходит, а сайт сервера нормально работает и открывается?").
Родственные вопросы:
Почему ping не проходит, а сайт сервера нормально работает и открывается?
Что такое порт?
Физические порты ввода-вывода хорошо известны и интуитивно понятны. Может быть, нечто аналогично есть и в Интернет? На самом же деле, с сетевой точки зрения порт - одно из полей заголовка пакета (строго говоря, их даже два - порт отправителя и порт получателя). Наличие портов позволяет уточнять с каким именно приложением, из всех, установленных на удаленном узле, клиент хочет установить соединение. Каждое из приложений "закрепляет" за собой один или несколько портов и получает все приходящее пакеты, в заголовках которых прописаны те же значения. Пакет, который никто не забирает, уничтожается, а отправителю возвращается сообщение об ошибке (в этом случае на жаргоне говорят, что "порт закрыт"). Если образно представить себе IP-адрес как номер дома, то порт – это номер квартиры.Такая схема обеспечивает совместную работу множества приложений, так, например, на одном и том же компьютере, имеющим всего один IP-адрес, могут быть установлены почтовый сервер, сервер новостей, web-сервер, ftp-сервер. И никаких конфликтов и разборок "это чей пакет?" между ними не возникает.
Очевидно, что приложение-отправитель и приложение-получатель должны использовать общие соглашения. Можно придумать множество механизмов, обеспечивающих синхронизацию портов отправителя и получателя, но самым простым оказалось закрепить за каждым протоколом определенные порты, заставив разработчиков программного обеспечения придерживаться этого стандарта.
Прочная ассоциация порт-протокол привела к тому, что эти два термина стали частенько путать. Фраза "свяжись с сервером по сто десятому порту" - подразумевает "свяжись с сервером по протоколу POP3". На самом же деле, почтовый сервер может быть настроен и на другой порт, значение которого каким-то образом доносится клиенту.
Что такое протоколы и с чем их едят?
Чтобы не уподобится героям крыловской басни, тянущим воз в разные стороны, клиент и сервер должны придерживаться общих соглашений, иными словами формализовать язык своего общения. Вот это самое соглашение и называется протоколом.Примером протокола может служить командный язык интерпретатора "command.com". С его помощью пользователь может управлять файлами и папками своего компьютера. Эту же схему можно применить и для взаимодействия с удаленным сервером, необходимо лишь добавить в протокол механизмы установки и управления связью.
Но смешивать различные группы команд в одну кучу непрактично. Поэтому еще на заре развития Интернета их решили разделить на отдельные группы, каждая из которых занимается решением своего класса задач. Так возникли семейства протоколов - множество языков, каждый со своей узкой специализацией, в совокупности обеспечивающих надежную и бесперебойную связь.
Причем один язык ничего не знает о существовании другого, - это обеспечивает полную взаимную независимость. В самом деле, для получения файла с сервера достаточно отдать команду ""Получить Файл" ("Имя Файла")", совершенно не интересуясь, как и чем было создано соединение между двумя компьютерами, - достаточно знать, что оно есть и все.
В таком случае говорят, что один протокол реализован поверх другого. Можно выделить как минимум два уровня - один протокол, отвечающий за установку соединения, а другой - за передачу команд и данных. В действительности же этих уровней намного больше, но для использования Интернет знать их совсем не обязательно.
Родственные вопросы:
Что такое дерево (стек) протоколов?
Что такое Proxy-сервер и как с ним работать?
Абстрагируясь от всех технических деталей и подробностей, представим себе Proxy-сервер эдаким посредником между другим сервером и клиентом. Грубо говоря, вместо того чтобы идти в магазин самостоятельно, клиент поручает покупку товара торговому агенту. Зачем это может быть нужно? О, на то существует масса причин! Во-первых, если несколько сотрудников фирмы позарез захотели отобедать гамбургером, то непрактично идти всем стадом в ближайший Макдональс – лучше отправить одного человека, а то и вовсе ввести специальную должность пищевого агента, глядишь, – и сотрудники отрываться от работы меньше будут. Во-вторых, смышленый агент не будет дожидаться заявок пользователей, а, изучив их вкусы и пристрастия, закупит все продукты заблаговременно – захочет кто-нибудь Хот-Дог и вот он, пожалуйте, откушать! В-третьих, посредник позволяет покупателю сохранить анонимность – его личность будет знать только сам агент, остается лишь подобрать такого агента, который не выдаст!??? Рисунок "карикатура" – обыграть предыдущий абзац
Все типы Proxy-серверов можно разделить на три категории: шлюзы, кэшируюшие Proxy-сервера и анонимные Proxy-сервера.
Шлюзы
чаще всего используются в локальных сетях – было бы слишком накладно каждому клиенту предоставлять свой собственный "персональный" выход в Интернет. Вот и устанавливают Proxy-сервер, разделяющий один канал между множеством пользователей. Однако, такую тактику используют и некоторые алчные провайдеры (например, krintel – треска ему хвостом вперед!), выкупающие у более крупного провайдера всего один выход в Интернет и всего один постоянный IP-адрес (а то и вовсе обходящиеся без оного), "сажая" на него всех пользователей.
"Извне" остальные абоненты сети видят лишь один узел – Proxy-сервер этого провайдера. Клиент дает Proxy-серверу запрос на установку соединения с таким-то сервером и Proxy выполняет ее от своего имени, возвращая ответ сервера клиенту.
Чем плоха такая схема? В первую очередь невозможностью ни одному внешнему узлу сети самостоятельно установить с клиентом соединение – Proxy просто не будет знать кому именно предназначается этот запрос, поэтому установка соединения из-под Proxy работает только в одном направлении – от клиента к серверу. Такой расклад не дает работать множеству программ, наподобие ICQ, пейджеров, чатов и т.д., так они требуют двухсторонней установки соединения и, если программист явно не предусмотрел возможности работы под Proxy-сервером, придется либо отказываться от использования таких программ, либо менять провайдера. Другое, не столь существенное, но все же досадное ограничение, – невозможность трассировки маршрута в обоих направлениях (см. "Почему трассировка умирает на полпути к серверу назначения") и "пинговки" извне. Но у сетевых жителей, обитающих за Proxy-сервером, есть и свои преимущества, главное из которых – повышенная защищенность, ведь атаковать клиента можно только изнутри (т.е. в рамках сети одного провайдера), а все атаки "извне" принимает на себя Proxy-сервер!
Что такое заплатки и как их устанавливать?
Свое название "заплатки" получили из-за сходства со своими "коллегами" – первые затыкают дыры в материи, вторые – в программном обеспечении. Впрочем, эта аналогия скрывает одно существенное различие: залатанная материя – вещь неполноценная, ущербленная, в то время как залатанная программа – явление вполне нормальное. Чтобы после каждой обнаруженной ошибки не выпускать новую версию приложения целиком, разработчики переписывают только содержащий "дырку" файл (или его часть) и дают пользователям вставить его в уже установленную программу.??? Рисунок "карикатура" Дискета с заплаткой
Различают горячие (hot-fix) заплатки и кумулятивные (cumulative) обновления – горячие заплатки
выходят с максимально достижимой оперативностью, порой спустя всего несколько дней после обнаружения "дырки". Когда же таких заплаток набирается целый мешок, их установка становится довольно хлопотным занятием, – вот разработчики и собирают их в один пакет – кумулятивное обновление – представляющий собой одну здоровенную заплатку, так же называемую "сервис паком" – от английского Service Pack.
Техника установки заплаток (кумулятивных обновлений) определяется разработчиком и может реализовываться по-разному. Как правило, от пользователя требуется всего лишь запустить некоторый файл, который все делает самостоятельно. Очень желательно перед его установкой внимательно ознакомиться с прилагаемой документацией – не пренебрегайте этими! Латание дыр – дело серьезное, неверные действия могут угробить приложение (операционную систему) и его придется переустанавливать заново. Наиболее распространенная ошибка – установка заплатки не на ту версию приложения для которой она предназначена. Вообще-то, все необходимые проверки заплатка, по идее, должна выполнять самостоятельно – но так бывает далеко не всегда. Будьте внимательны!
Дерево вызовов
Для большей наглядности демонстрации взаимосвязи socket-функций друг с другом, ниже приведено дерево вызовов, показывающее в каком порядке должны следовать вызовы функций в зависимости от типа сокетов (потоковый или дейтаграммный) и рода обработки запросв (клиент или сервер).WSAStartup
|
Socket
/ \
клиент сервер
/ \ \
TCP UDP bind
\ / \ / \
connect |-sendto TCP UDP
| |-recvfrom | |
|-send listen |
|-recvfrom | |
\ /
accept
/ \
TCP UDP
|-send |-sendto
|-recv |-recvform
||
\/
closesocket
|
WSAClenup
Дополнительные возможности
Для "тонкой" настройки сокетов предусмотрена функция "int setsockopt (SOCKET s, int level, int optname, const char FAR * optval, int optlen)". Первый слева аргумент – дескриптор сокета, который собираются настраивать, level – уровень настройки. С каждым уровнем связан свой набор опций. Всего определено два уровня - SOL_SOCKET и IPPROTO_TCP. В ограниченном объеме данной главы журнальной статьи перечислить все опции невозможно, поэтому, ниже будет рассказано только о самых интересных из них, а сведения обо всех остальных можно почерпнуть из Winsock SDK.Третий слева аргумент представляет собой указатель на переменную, содержащую значение опции. Ее размер варьируется в зависимости от рода опции и передается через четвертый слева аргумент.
Уровень SOL_SOCKET:
SO_RCVBUF (int) – задает размер входного буфера для приема данных. К TCP-окну никакого отношения не имеет, поэтому, может безболезненно варьироваться в широких пределах.
SO_SNDBUF (int) – задает размер входного буфера для передачи данных. Увеличение размера буферов на медленных каналах приводит к задержкам и снижает производительность.
Уровень IPPROTO_TCP
TCP_NODELAY (BOOL) – выключает Алгоритм Нагла. Алгоритм Нагла был разработан специально для прозрачного кэширования крохотных пакетов (тиниграмм). Когда один узел посылает другому несколько байт, к ним дописываются заголовки TCP и IP, которые в совокупности обычно занимают более 50 байт. Таким образом, при побайтовом обмене между узлами свыше 98% передаваемой по сети информации будет приходиться на служебные данные!
Алгоритм Нагла состоит в следующем: отправляем первый пакет и, до тех пор, пока получатель не возвратит TCP-уведомление успешности доставки, не передаем в сеть никаких пакетов, а накапливаем их на локальном узле, собирая в один большой пакет. Такая техника совершенно прозрачна для прикладных приложений, и в то же время позволяет значительно оптимизировать трафик, но в некоторых (достаточно экзотических) случаях, когда требуется действительно побайтовый обмен, Алгоритм Нагла приходится отключать (по умолчанию он включен).
Для получения текущих значений опций сокета предусмотрена функция "int getsockopt (SOCKET s, int level, int optname, char FAR* optval, int FAR* optlen)" которая полностью аналогична предыдущей за исключением того, что не устанавливает опции, а возвращает их значения.
Другие способы идентификации клиента
Весьма популярный способ идентификации клиента заключается в использовании cookies: сервер вместе с баннером передает браузеру специальную метку, которую браузер, (при условии, что поддержка cookies включена), сохраняет на диске. При последующих запросах сервер проверяет наличие cookies у клиента, и если его нет, считает, что запрос выполнен не браузером, а скриптом злоумышленника.На самом деле, такую проверку легко обойти. Злоумышленнику не составит включить в свой скрипт полноценную поддержку cookies (например, в Perl для этой цели существует готовая библиотека), а вот у легальных пользователей могут возникнуть проблемы. Некоторые по соображениям безопасности отключают поддержку cookies, тем самым становясь (с точки зрения сервера) похожими на скрипт злоумышленника.
Несколько надежнее использовать cookies для предотвращения повторных попыток входа на коротком отрезке времени и в качестве счетчика посещений. Злоумышленнику придется имитировать заход одного пользователя с различных IP-адресов и хранить множество cookies на сервере, что довольно проблематично.
Очень хороший результат дает анализ информации, возвращенной бразузером: версия операционной системы и самого браузера, языковая страница и т.д. Статистика использования того или иного программного обеспечения хорошо известна и довольно стабильна. Причем, каждый бразузер и каждая операционная система обладают своим характерным "почерком", который легко проанализировать, но довольно трудно подделать.
Вообще же, большинство злоумышленников останавливаются на имитации поля UserAgent и дальше не идут, поэтому, даже такая простая проверка их остановит.
FAR
В свойствах ftp-адреса, вызываемых нажатием <F4> (при этом курсор должен находиться на том адресе, чьи свойства хотят менять), необходимо снять флажок "ASCII mode" (по умолчанию снят) и нажать "Save" для сохранения настроек или "Connect" для установки пробного соединения без сохранения настроек.г========================= Edit FTP address
=========================¬
¦ ftp://user:password@host:port/dir ¦
¦ ftp.microprose.com v¦
¦ User password: ¦
¦ ¦
¦ FTP description: ¦
¦ ¦
¦--------------------------------------------------------------------¦
¦ [ ] Ask password directly before connecting ¦
¦ [ ] Ascii mode ¦
¦ [ ] Passive mode ¦
¦ [ ] Use firewall ¦
¦--------------------------------------------------------------------¦
¦ [ Save ] [ Connect ] [ Select table ] [ Cancel ] ¦
L====================================================================-
Рисунок 32 Выключение режима ASCII в FAR
‚ ¬Ґо "Options" ўлЎҐаЁвҐ ЇгЄв "Plug-ins configuration", ў Ґ¬ - "FTP-client". ‚ ®вЄалўиҐ¬бп ¤Ё «®Ј®ў®¬ ®ЄҐ ў§ўҐ¤ЁвҐ Ј «®зЄг Їа®вЁў "Passive Mode" (б¬. в Є ¦Ґ "€вҐаҐв. ЋЎйЁҐ ў®Їа®бл à
Љ Є § бв ўЁвм в Є®Ґ-в® ЇаЁ«®¦ҐЁҐ а Ў®в вм зҐаҐ§ Proxy (Firewall)"). Ќ ¦¬ЁвҐ "ЋЉ" Ё Ї®ўв®аЁвҐ Ї®ЇлвЄг Ї®«г票п д ©« .
Где я могу достать ping?
В штатный комплект поставки Windows входит консольная версия утилиты ping, вполне удовлетворяющая запросы непритязательного пользователя. Ping в графическом исполнении можно обнаружить в составе практически любого пакета сетевых утилит (NetInfo, CyberKit и т.д.)Комплект разработчика Windows-приложений (SDK), входящий в частности в поставку компилятора Microsoft Visual Studio, содержит исходные тексты программы ping с достаточно подробными комментариями, что легко позволяет адоптировать ее к собственным нуждам и перекроить под собственный вкус.
Где можно узнать о самых свежих дырках и последних обновлениях приложений?
Зачастую лучшим источником информации о свежих дырках и соответствующим им заплатах является сайт производителя того программного обеспечения, которым вы пользуетесь. Одна незадача – каждый из нас использует десятки программ от разных производителей и было бы очень утомительно обходить кучу сайтов каждый день – тем паче, что эта работа давно сделана за нас.В сети существует множество ресурсов, посвященных безопасности и всем, что с ней связано, включая дырки и выпущенные для их устранения обновления. Вот лучшие сайты на эту тему:
· http://rootshell.com/
· http://www.ntbugtraq.org/
· http://www.security.nnov.ru
· http://www.securityfocus.com/
Все они поддерживают почтовую рассылку, оперативно информирующую своих подписчиков о новых видах атаках и способах им противодействия, если таковые уже найдены. Ни одна из рассылок не является исчерпывающе полной, и чем на большее количество рассылок вы подпишитесь – тем лучше. Конечно, эта мера не гарантирует безопасности вашего компьютера (как быть с теми атаками, над противоядием против которых ломают головы все специалисты мира?), но позволит быть в курсе событий. Если уж и умирать – то хоть знать от чего! Шутка, разумеется. Своевременная установка обновлений – залог здоровья и никогда не стоит этим пренебрегать.
Где Outlook Express хранит адресную книгу?
Адресная книга хранится в файле с расширением wab. На одном компьютере может присутствовать множество адресных книг никак не связанных ни друг с другом, ни с самим Outlook Express. Для их запуска достаточно дважды щелкнуть по файлу левым мышем в "Проводнике" Windows.Чтобы обнаружить все адресные книги достаточно задать поиск файлов *.wab по всем дискам. По умолчанию адресные книги хранятся в следующих директориях:
Где Outlook Express хранит мои письма ?
Очень актуальный вопрос! Иначе, как прикажете резервировать свою корреспонденцию, если неизвестно где она хранится? Необходимость же резервирования – тема отдельного разговора, но, исходя из самых общих соображений, все ценное обязательно должно регулярно резервироваться!Местоположение хранимых файлов зависит как от установок самого Outlook Express, так и от версии Windows.
Чтобы узнать где находится та или иная папка, кликните по ней правым мышем и в контекстом меню выберите пункт "Свойства". Строка "Данная папка находится в следующем файле" и содержит путь к этой папке.

Рисунок 34 Рисунок 0х012 Определение пути к папке
По умолчанию принятые следующие значения.
Идеология – как средство конкурентной борьбы
Воины-смертники, готовые умереть за идею, не слишком отличаются от приверженцев движения "Open Source" – и те, и другие служат на благо того, против чего борются.Только глупцы верят, что "Open Source" несет в себе свободу. И пока они в это верят, многие все, кому не лень, используют их в качестве тарана против монополизма Microsoft. Компании IBM и HP поддерживает LINUX отнюдь не потому, что вдавились в старческую филантропию. Под шумком идей "свободы", "открытости" и "братства" они подсаживает миллионы пользователей на LINUX, отрывая жирный кусок рынка от Microsoft. Подавляющее большинство выбирают LINUX не из-за его технических и потребительских достоинств (которым там фактически нету), а потому, что это круто. От кривого (да не запинают меня его поклонники) LINUX к коммерческим AIX- и HP-UNIX всего лишь один шаг. Немного рекламы, скидок, консалтинга и клиент его сделает! Вот истинная
причина поддержки LINUX компаниями HP и IBM.
Самой же Microsoft "открытые исходники" выгодны вот по каким причинам:
а) конкурент в лице LINUX разбивает в пух и прах все обвинения компании в монополизме;
б) позволяет чужими руками забесплатно создавать и обкатывать новые технологии;
в) способствует обучению и профессиональному росту молодых программистов, а это – кадры;
г) и так далее…
Увлеченные борьбой с монополиями, члены движения "Open Source" не заметили, как стали работать на благо этих же монополий, превратившись в мощный инструмент в их руках.
Энергию, охваченных единой идеей людей, всегда можно направить в выгодное для себя русло. Не стоит бороться с рынком. Его ресурсы – неисчерпаемые энергетические возможности. Надо лишь знать, как отобрать их.
Internet Explorer
В меню "Сервис" выберите пункт "Свойства обозревателя" и в открывшемся диалоговом окне перейдите к закладке "Подключение". Нажмите кнопку "Настройка сети", находящуюся в графе "Настройка локальной сети", затем взведите галочку "Использовать прокси-сервер" и в строке "Адрес" введите IP-адрес или доменное имя Proxy-сервера, а в строке "Порт" – номер порта (как правило, 80). Если в локальной сети есть один или несколько web-серверов, для обращения к ними в обход Proxy-севера взведите галочку "Не использовать прокси – сервер для локальных адресов".Кнопка "Дополнительно" открывает новое диалоговое окно для более тонкой настройки, позволяя по раздельности задавать адреса и порты Proxy-серверов для http-, ftp-, Gopher- и Socks-протоколов. Конкретные значения можно узнать у администратора сети или провайдера. Чаще всего используется один Proxy для http- и ftp-протоколов, "повешенный" на 80, 8080 или 8081 порт, хотя номер порта в принципе может быть любым. Socks-сервера по обыкновению "висят" на порту 1080, а протокол Gopher в настоящее время считается достойным пережитком старины и более не используется. Галочка "Один прокси сервер для всех протоколов" будучи взведенной приводит к использованию адреса и порта http Proxy-сервера для всех остальных протоколов.
Графа "исключения" позволяет задавать шаблоны IP-адресов (доменных имен) обращения к которым будет происходить напрямую, "в обход" Proxy-сервера. В шаблонах допустимы символы-джокеры, а сами шаблоны отделяются друг от друга точкой с запятой. Например, чтобы не "проксить" web-узлы, находящиеся в доменах ru и ua, достаточно ввести следующее: "www.*.ru;www.*.uk". Подобная настройка полезна в тех случаях, когда провайдер предоставляет факультативный Proxy (т.е. позволяет выходить в Интернет как через Proxy, так и минуя оный). Разумно использовать Proxy только для далеких, забугорных, тормозных узлов, а к быстрым серверам обращаться напрямую, не прибегая к Proxy, т.к. это не увеличит и без того высокой скорости загрузки сайтов, а скорее замедлит ее за счет дополнительных "перекладных" на маршруте путешествия пакетов.
Аутентификация: если Proxy-сервер требует аутентификации, т.е. ввода имени пользователя и пароля, то Internet Explorer автоматически подставляет имя и пароль под которым пользователь вошел в систему. Для этого необходимо установить "Клиента сетей Microsoft" ("Панель управления" à
"Сеть" à
"Добавить" à
"Клиент" à
"Клиент сетей Microsoft"), а в некоторых случаях установить "Общий доступ к файлам и папкам" – Windows98 при этом добавит новые компоненты, поддерживающие большое количество алгоритмов аутентификации – в противном случае система будет передавать пароль открытым текстом, что не всегда приемлемо. Задать произвольный пароль для входа на Proxy-сервер браузер Internet Explorer не позволяет.

Рисунок 13 Рис. 0х023 Настройка Internet Explorer для работы через Proxy-сервер
Использование анонимных ftp-серверов для подмены IP-адреса
Об использовании ftp-серверов для сокрытия своего IP-адреса следует сказать особо. Во-первых, анонимных ftp-серверов много больше, чем Proxy- и telnet- всех вместе взятых. Во-вторых, об этом способе знают далеко не все, а кто не знает – тот и не защищается!Кратко о сути приема. Из документа RFC-959 можно узнать, что для своей работы протокол ftp требует, по крайней мере, двух соединений: одно – для приема команд от пользователя, а второе – для приема (передачи) файлов. Причем, адрес узла-получателя файла не обязательно должен совпадать с адресом клиента! Отдавая серверу команду "PORT", клиент самостоятельно назначает адрес и порт хоста, который будет использоваться как активный участник соединения по каналу передачи данных. И ничто не помещает ему выбрать сервер спонсора (точнее, почти ничего, об ограничениях будет сказано ниже).
-
Анонимный ftp-сервер установит с web-сервером спонсора TCP-соединение и передаст ему файл, содержащий команды HTTP-протокола, имитирующие запрос браузера на показ баннера. Если злоумышленник корректно подделает все поля, сервер не сможет отличить такой запрос от запроса браузера!
Единственная проблема, с которой может столкнуться злоумышленник, – проверка ftp-сервером корректности номера порта. Некоторые ftp-серверы не позволяют устанавливать соединения со стандартными портами, в том числе и восьмидесятым. Но, во-первых, именно некоторые, а не все. Во-вторых, можно использовать любой не анонимный Proxy-сервер, работающий через нестандартный порт (использование не анонимных Proxy большинством спонсоров разрешается), и, в-третьих, сервера некоторых спонсоров сами работают через нестандартные порты, например, 8081.
Таким образом, накрутки через анонимные ftp-сервера представляют собой вполне серьезную угрозу. Как ей противостоять? Создать список всех-всех анонимных ftp невозможно – число их огромно и с каждым днем продолжает расти. Уж лучше попытаться установить соединение с клиентом по двадцать первому порту, проверяя наличие установленного ftp-сервера. Подавляющее большинство клиентов не имеют собственного ftp, и такой метод идентификации вполне надежен. Единственный его недостаток – увеличение нагрузки на сервер спонсора, что не всегда приемлемо. Но лучшего решения, по-видимому, просто не существует. Впрочем, злоумышленник направленным SYN-штормом может запросто переполнить очередь соединений ftp-сервера и тогда такой метод проверки не сработает.
Словом, IP-адрес не позволяет надежно идентифицировать клиента и его контроль отсекает лишь самых глупых и неопытных злоумышленников. Поэтому, помимо IP-адреса рекомендуется использовать и другие способы идентификации клиента.
Использование Get Right
Утилита докачки GetRight (не путать с ReGet) умет скачивать web-страницы со всеми картинками, содержащимися в них, помещая каждую из них в отдельный файл. Поклонникам GetRight этот способ должен показаться самым удобным, несмотря на некоторые (впрочем, не смертельные) глюки, присущие GetRight-у. В частности, большую загрузку процессора анимацией и ошибки разбора HTML-кода – некоторые картинки не скачиваются вовсе, некоторые скачиваются дважды.Родственные вопросы:
Что такое mht (mhtml) файлы и зачем они нужны? (следующий)
Где Internet Explorer хранит автономные страницы?
Источник угрозы
Можно выделить три основных угрозы, связанных с использованием любых cgi-скриптов, не обязательно написанных именно на Perl.· несанкционированное получение прав пользователя (суперпользователя) на удаленной машине;
· несанкционированная модификация динамически генерируемой страницы путем включения собственных тегов;
· перегрузка сервера интенсивной работой cgi-скриптов, вплоть до ееего
полной неработоспособности.
Большинство web-серверов, работающих под управлением UNIX-подобных операционных систем, обладают привилегиями суперпользователя, без которых сервер не сможет открыть необходимый ему восьмидесятый порт. Некоторые web-сервера обслуживают клиентов через нестандартный 8000 или 8080 порт и, в принципе, могут довольствоваться правами непривилегированного пользователя. Однако, ввиду определенных неудобств, такой механизм применяется достаточно редко.
ОС семейства Windows не накладывают никаких ограничений на обработку входящих TCP-соединений и позволяют открывать восьмидесятый порт даже прикладному коду, запущенному с гостевыми правами. Тем не менее, распространенные web-серверы под Windows NT\2000 требуют для своей работы наивысших привилегий.
По соображениям безопасности многие (но не все!) серверы позволяют понижать привилегий потока, обслуживающего web-клиента, до специального пользователя (как правило, nobody или www), а программа cgiwarp
(автор Nathan Neulinger) позволяет запускать cgi-скрипты с правами их владельца (по умолчанию скрипты исполняются от имени и с привилегиями web-сервера).
Ошибка в скрипте может привести к несанкционированному получению прав пользователя на удаленной машине, а в некоторых (между прочим, достаточно частых) случаях и привилегий администратора!
Обладая правами пользователя, злоумышленник может модифицировать web-страницы, получатьет
доступ к секретной информации (например, номерам кредитных карт покупателей, паролям посетителей сайта, файлам протоколов и т.д.), и способен использовать сервер в качестве полигона для атаки на другой узел и делать еще много других пакостей. А уж с привилегиями администратора…
Вторая категория ошибок связна с динамической генерацией интерактивных web-страниц. Их можно разделить на две категории: страницы, доступные только тому пользователю для которого они были сгенерированы страница и страницы, доступные множеству пользователей. Примером первых может служить результат работы поисковых машин, вторых – чаты и гостевые книги.
В большинстве случаев страница, динамически сгенерированная в ответ на запрос пользователя, содержит и сам запрос. А это открывает возможность использования HTML-тегов, наибольшую опасность из которых представляют директивы SSI (Server Side Include – включения на стороне сервера), поскольку они позволяют включать в страницу содержимое другого файла, значение переменной окружения, результат работы вызванной программы и т.д.
Страницы, доступные всем пользователям, подвержены и другой угрозе – созданию фальшивых полей ввода (как правило, требующих ввода своего пароля или номера кредитной карты), передающих свое содержимое злоумышленнику. Другая "дыра" – возможность разместить вредоносный Java (Perl и VisualBasic) скрипт, зацикливающий браузер посетителя или открывающий у него множество окон размером миллион на миллион пикселей. В общем, возможностей много…. автоматическое перенаправление клиентов на свою станицу или сайт баннерного спонсора, похищение у них локальных файлов через "дыры" в Internet Explorer и Netscape Navigator и т.д.
Наконец, любой, даже корректно написанный скрипт, требует для своей работы значительных процессорных ресурсов. Шквал запросов, инициируемый злоумышленником, представляет собой эффективную атаку "отказа в обслуживании", особенно если скрипт интенсивно работает с файловой системой и\или неэкономно расходует память. Увеличить выносливость сервера можно переходом на компилируемые языки, установкой более быстрого процессора или же отказом от использования скриптов везде, где это возможно.
Таким образом, размещение скрипта на сервере всегда таит в себе некоторую опасность и создает угрозу для его благополучия.
Я не нашел в этой книге описания
Усилиями мирового сообщества программистов всего мира создано бесчисленное множество разнообразных приложений, – ни в одной книге всех их не описать! Неудивительно, если ваша любимая программа ни словом здесь не упомянута.Автор и не стремился свести свои ответы к рекомендациям типа "нажми такие-то кнопки, а почему и не спрашивай", а всегда пытался объяснить: как именно решить ту или иную проблему и отчего эта проблема вообще возникает. Разумеется, конкретные действия зависят от специфики используемого приложения, но ведь если сказать, что для предотвращения ошибки загрузки файла необходимо в своей "качалке" отключить режим "ASCII", пользователь и сам, порыскав некоторое время по пунктам меню, сможет найти такую
точно или близкую по звучанию опцию и отключить ее. В крайнем случае поможет документация, прилагаемая к программе, – там наверняка будет наописано какой именно пункт меню ответственен за установку режима ASCII, – так какая необходимость описывать это в книге?
Книга, которую вы сейчас держите в руках, максимально подробно объясняет принципы функционирования Интернет, раскрывает множество секретов эффективного использования сети и предлагает кратчайшие решения различных проблем. При этом она не привязанаается ни к каким-то конкретным приложениям, – их читатель может выбирать самостоятельно, – и делает упор на принципы, а не на их реализации. Другими словами, не дает рыбу, а учит ловить ее.
??? Рисунок "карикатура" Одному человеку дают рыбу, а другому удочку, на другой картинке – первый чел. сидит с обглоданным рыбьим хвостом, а другой – уже наловил гору рыбы…
Конкретные примеры на некоторых, наиболее популярных,
приложениях,
приводятся в исключительно в качестве наглядной иллюстрации сказанного – дабы читателю было легче разбираться, и нет ничего удручающего в том, что рекомендации, применимые именно к любимому вами приложению, отсутствуют. Все приложения в чем-то схожи меж собой, и по принципам работы одного можно понять принцип работы другого.
Родственные вопросы: О каких конкретно именно приложениях рассказывается в данной книге?
Я – провайдер. И я страдаю от
Откройте окно "Удаленного доступа к Сети", находящееся в "Панели управления". Левой клавишей мыши ухватитесь за иконку выбранного соединения и скопируйте ее в какую-нибудь папку или на "Рабочий Стол". Должен появиться новый файл с именем соединения и расширением "dun". Это текстовой файл, содержащий в себе основные настройки удаленного доступа, которые при необходимости могут быть легко изменены (см. "Каково назначение полей DUN-файла").Остается только передать этот файл клиенту, от которого потребуется всего лишь кликнуть по нему мышем для запуска.
Родственные вопросы:
Каково назначение полей DUN-файла?
Я скачал файл с сервера, а он отказывается распаковываться (запускаться). Кто виноват, и что делать?
Причин, по которым скаченный файл может отказаться распаковываться (запускаться), – множество. Кстати, не факт, что файл действительно полностью скачался – многие серверы не поддерживают функцию определения размера качаемого файла и, если соединение внезапно разорвется, для качальщика это будет выглядеть неотличимо от конца файла. В такой ситуации определить действительный конец невозможно – попробуйте скачать файл еще раз – если получится тот же самый размер, скорее всего, файл был получен целиком, ведь маловероятно чтобы соединение дважды разрывалось на одном и том же месте, хотя и такое в жизни бывает.Другой "тонкий" момент– при скачивании файла с ftp-сервера в режиме "ASCII" все символы конца строки передаваемого файла принудительно замещаются сервером двухбуквенной последовательностью "возврат каретки, конец строки" согласно стандарту виртуальных терминалов. Подобная мера необходима для согласования различных платформ, сред и операционных систем, т.к. в силу исторических причин все они имеют собственный взгляд на формат завершения строки. Например, в текстовом файле, созданным редактором UNIX, каждая строка традиционно завершается символом с кодом 0xA, что "переваривает" далеко не всякий Windows (DOS) редактор, ожидающий увидеть в конце строки комбинацию 0xD 0xA. Поэтому, приведение содержимого файла, сливаемого с ftp-сервера, к единому стандарту вполне разумно и полезно, за исключением нетекстовых файлов (архивов, исполняемых и т.д.) бесцеремонное вмешательство во внутреннюю структуру которых, скорее всего, приведет к их необратимой порче. О том, как выключить режим "ASCII" см. ответ на вопрос "subQ: Что такое режим ASCII и как его отключить в моем ftp-клиенте?"
При сливании файла через Proxy часто возникает следующая проблема: при обрыве соединения с удаленным сервером Proxy пытается сообщить пользователю об ошибке, дописывая в конец файла собственное сообщение. Если "качальщик" не распознает такой ситуации и при докачке файла начнет записывать новые данные в его конец – файл окажется безнадежно искореженным застрявшем в его теле сообщением. Во избежание подобных казусов некоторые "качальщики" (GetRight, ReGet) после каждого обрыва отрезают некоторый кусок от "хвоста" файла – достаточно длинный для того, чтобы гарантировано вместить в себя зловредное сообщение об ошибке. Как правило, для этого достаточно двух – четырех килобайт, т.е. теряется всего лишь несколько секунд перекачки на каждый разрыв, что вполне приемлемо. Однако в излишнем рвении к оптимизации, некоторые разработчики не задействуют такой режим по умолчанию, и его приходится включать принудительно (ReGet к таковым не относится). Как именно это сделать – читайте в прилагаемой к "качальщику" документации. Универсальных решений и даже устоявшихся названий этой опции не существует.
Наконец, файл может быть поврежден на самом сервере или же стоит "битый" сервер, калечащий сливаемые файлы. В качестве примера можно привести сервер kpnc.lib.ru, на котором находится сайт автора – с него невозможно слить ни один двоичный файл, в том числе и файл, содержащий заархивированное содержимое компакт-диска, прилагаемого к книге "Техника и философия хакерских атак" Криса Касперски.
Родственные вопросы:
Что такое режим ASCII и как его отключить в моем ftp-клиенте? (следующий)
Я удалил из паки большое количество сообщений, но ее размер не изменился. Почему? Сергей Иванов
Причина в том, что при удалении сообщений, Outlook Express не удаляет их физически из целевого файла, а только помечает как "удаленные". В противном случае, каждая операция удаления потребовала бы перемещения всего хвоста файла на освободившееся в результате удаления место, что чрезвычайно ухудшило бы производительность.Такие уничтоженные, но не удаленные сообщения, накапливаясь со временем, увеличивают размер почтового файла до безобразия и возникает естественное желание его уменьшить, выкинув все ненужное.
Для этого в меню "Файл" выберете подменю "Папка", а в ней пункт "Сжать все папки" или "Сжать" только текущую папку. Никакого "сжатия", по крайне мере, в каноническом понимании этого слова, не происходит (парни из Microsoft как всегда не в ладах с терминологией – думают одно, делают другое, а в меню пишут третье), но все сообщения, помеченные как "удаленные", физически удаляются из файла, отчего его размер и вправду уменьшается.
По умолчанию папки самостоятельно сжимаются в фоновом режиме, что может приводить к порче диска при перезагрузках и выключении питания, поэтому сжатие рекомендуется отключить, время от времени выполняя его вручную (см. "С некоторого времени перезагрузки компьютера при запушенном Outlook Express стали приводить к образованию потерянных и пересекающихся кластеров, порче почтовых файлов. Что это такое и как с этим бороться?")
Родственные вопросы:
С некоторого времени перезагрузки компьютера при запушенном Outlook Express стали приводить к образованию потерянных и пересекающихся кластеров, порче почтовых файлов. Что это такое и как с этим бороться? (следующий)
Как гарантировано защитится от атак из Интернет?
Абсолютно надежных защит не бывает! Классическое противостояние меча и щита – если удается придумать щит, который не берет ни один меч, вскоре появляется меч, от которого не спасает ни один щит… и так – без конца!???? Рисунок "карикатура" обыграть предыдущий абзац
Основных причины успешности атак: ошибки разработчиков приложений (включая операционную систему) и ошибки самого пользователя. Даже если пользователь не будет делать никаких действий, ну совсем - совсем никаких – ни запускать файлы, ни принимать почту, ни блуждать по сайтам, его компьютер потенциально
может быть атакован. "Потенциально" надо понимать как "теоретически" – т.е. при наличии дыр в системе. А в какой системе их нет? Новые дыры обнаруживаются куда быстрее, чем "затыкаются" – каждый день на хакерских сайтах появляются сообщения о двух-трех, а подчас и десяти свеженайденных уязвимостях! Сколько же их остается в "запасниках" – остается только гадать…
Фирмы-производители программного обеспечения в меру своей эрудиции и осведомленности устраняют допущенные ошибки и затыкают хакерские лазейки так быстро, как только могут. Чаще – в течение от недели до месяца, реже – на продолжении нескольких лет. Затем, либо выпускают новую версию свой "софтины", лишенную прежних дефектов {>>>>> сноска Конечно же, процесс исправления старых ошибок не обходится без внесения новых}, либо создают специальную "заплатку", латающую дыры программы "в живую" – все, что необходимо сделать пользователям – скачать ее с сервера производителя и запустить.
Доверие – это прекрасно, но не стоит переоценивать могущество "заплаток". Так, одну из дыр в Microsoft Internet Information Server удалось заткнуть лишь третьей по счету заплаткой – первые две устраняли ошибку не полностью. К тому же, пока информация об ошибке дойдет до разработчиков, пока они убедятся в наличии проблемы, пока найдут способ ее устранить,… пока, наконец, пользователь не заглянет на сервер компании-производителя своей любимой "софтины" и не скачет оттуда заплатку (если вообще удосужится ее скачать) и не установит на свой компьютер, проходит очень много времени, в течение которого компьютер, на котором установлена такая программа, представляет собой отличную мишень даже для начинающих взломщиков! Ведь информация о дырке уже публично доступна, а сама дырка еще не исправлена – что может быть проще, чем в нее пролезть?!
При нынешнем отношении ведущих фирм к качеству тестирования программного обеспечения чувствовать себя в безопасности никому не приходится. С другой стороны не стоит разводить панику, истерически выдергивая телефонный шнур из модема при каждом шорохе. Да, {<<< вернуть запятую} каждый в принципе может быть атакован, и гарантированно защитить свой домашний компьютер невозможно, но точно так никто не застрахован от падения балкона или встречи с хулиганами в темном переулке. И ничего – цивилизация не рушится, хотя временами перья и летят… (см. "Какая операционная система самая надежная?")
Соблюдение элементарных правил гигиены – не тянуть что ни попадя в рот, то бишь не запускать первые попавшиеся программы – значительно осложняет задачу проникновения на ваш компьютер (см. "Как защитится от вирусов", "Какие почтовые вложения безопасны?"). Помимо этого совсем нелишне периодически наведываться на сервера разработчиков всех используемых вами приложений на предмет поиска свежих "заплаток" и обновлений. Имеет смысл подписаться на одну из почтовых рассылок по безопасности, оперативно информирующую о новых дырках (см. "Где можно узнать о самых свежих дырках и последних обновлениях приложений?").
Эти меры, несмотря на свою полезность, не избавляют от необходимости резервирования всех, или на худой конец, критически важных файлов. Резервирование предотвращает уничтожение информации, к минимуму сводя ущерб от атаки, и служит чем-то вроде гарантированной защиты. {>>>> сноска Нас атаковали? Вот и ладненько – пойдем, выпьем кофе, а потом все быстренько восстановим с резервной копии}, однако, оно бессильно противостоять краже и разглашению конфиденциальных документов. Увы! Единственный гарантированный способ избежать их похищения – не держать секретные файлы на компьютере, подключенным к Интернет, а еще лучше обрабатывать их вручную на печатной машинке – старым дедовским способом. Шутка, конечно, но в ней есть и своя доля правды – современные технологии несут немало вреда вместе с пользой.
Родственные вопросы:
Как защитится от вирусов
Какие почтовые вложения безопасны?
Какая операционная система самая надежная?
Где можно узнать о самых свежих дырках и последних обновлениях приложений?
Как из Windows сделать UNIX
"Настоящий мужчина должен поставить UNIX!" – правда, не совсем понятно зачем, но должен. А покажите мне человека, у которого не установлен UNIX? Windows NT поддерживает стандарт UNIX – POSIX и формально могла бы быть отнесена в разряд многочисленных клонов UNIX, если бы дядя-Билл стремился получить этот гордый титул. Ежу понятно, сколько Windows 9x не корми, а у Windows NT все равно толще, но и в девяносто пятых от UNIX определенно что-то есть.Понятное дело, в любом из нас больше крови сэра Баскервиля, чем в Windows – оригинального кода UNIX, и любой фанатик этой самой UNIX презрительно спросит, а можно ли на Windows запускать UNIX-приложения? Нет? Нет, вот и славненько! Кто UNIX не поставил, тот не мужчина, а, с позволения сказать, ламер позорный.
Легко сказать "поставь UNIX"! То есть, поставить-то его, конечно, дело не хитрое, много по этому делу бумаги исписано, – с помощью пива и чьей-то мамы, погрузить UNIX на свой компьютер дело одного часа.
Но вот что с этим зверем делать? Антрацитово-черный экран и мерцающий курсор, очевидно ждущий команды. Но какой команды? Тут бы не дурно в Интернет зайти, туторал почитать, ан-нет – треска хвостом вперед, это только в Windows все делается шелком мыши, а в UNIX без гуру и ящика пива с этой проблемой не справиться.
Вот было бы хорошо запустить UNIX в окне Windows! А почему бы и нет? Забавно, но это действительно можно, причем не какой-нибудь эмулятор UNIX типа тренажера для начинающих, а самый что не на есть полноценный UNIX, на котором хоть Apache сервер гоняй!
Вообще-то если честно, Windows очень трудно "приручить" с исполняемыми файлами UNIX – ну анатомия у нее не та. Если кому такой фокус и удастся, все будет жутко тормозить и часто падать. Но не беда – ведь UNIX-программисты никогда не зажимают исходники, остается только перекомпилировать и все. Ха! Тоже мне сказали "и все". Да любой Windows компилятор скорее подавится, чем проглотит такой исходник! А если и проглотит, – работать все равно ничего не будет.
Разработать такой компилятор, который бы работал в Windows и пережевывал бы исходные тексты от UNIX, впервые решился Дэвид Корн – и, представьте себе, разработал! Компания AT&T (в которой он работает) пробовала наложить на это дело лапу, но Дэвид, как настоящий программист, отстоял за собой право распространять продукт бесплатно.
Зайдем на его домашнюю страничку (http://www.research.att.com/sw/tools/uwin), кликнем по ссылке Down Load – и, ответив на множество пикантных вопросов (о поле, возрасте и месте проживания) попадем, наконец, на список предлагаемых файлов, которых так много, что немудрено и растеряться. Если вы не разработчик и не собираетесь программировать под UNIX (а если вы программируете под UNIX, с чего бы это Windows оказалась на вашем компьютере?), вам достаточно скачать лишь один из них – "uwin_base.win32.i386.exe" – восемь с хвостиком мегабайт и заплатку, исправляющую многие ошибки – "uwin_base_update2_1.win32.i386.exe" – чуть больше двух мегабайт. Также нелишне разжиться хотя бы одной интерактивной оболочкой. Недурно зарекомендовал себя Mortal Commander – клон Norton Commander, написанный специально для UNIX. Без него пришлось бы общаться одной командной строкой, и постоянно помнить множество мудреных команд. Скачать его можно со следующего ftp-сервера - ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/uwin/ports/mc-4.1.35-uwin2.0.tar.gz. Несмотря на "закрученное" расширение с архивом вполне успешно справляется обыкновенный WinZip32.
Установка UWIN, а именно так называется творение Дэвида Корна, никаких проблем не вызывает. Не нужно специальным образом конфигурировать соединение с Интернет или возиться с драйверами принтера или монитора – UWIN с умом использует ресурсы Windows и не потребует дополнительной настройки. Можно даже поставить X-Windows и тогда редкий поклонник UNIX разберется в какой операционке вы работаете.
Разве это не круто? Попробуйте-ка, предложите, лучший способ обучению работы с UNIX! А какой простор открывается для всевозможных атак! Ведь большинство экслоитов, то есть, говоря научным языком, программных реализаций атак, а по-простому всяких там нюков, работают исключительно в среде UNIX и наотрез отказываются дружить с Windows. Так вот, UWIN – лучший способ это сделать!
Правда, вот в чем незадача – все новые нюки лежат на rootshell-е в виде файлов с расширением "c", то есть, пока их не откомпилируешь, о запуске нечего и думать!. А компилятор где? Вновь лезем на сайт Дэвида Корна и скачиваем файлик "uwin_development.win32.i386.exe" – чуть меньше четырех мегабайт. Правда, это не весь компилятор, а только набор заготовок, помогающий Windows-компиляторам преодолеть паралогическую невосприимчивость к UNIX. Выходит, надо вставать, надевать сапоги и чесать на Митино (или как там у вас это называется?) и докупать диск с любым Windows-компилятором. Можно, например, Visual Studio от Microsoft или Turbo C от Borland, а можно и то и другое сразу – на всякий случай, как говорят.
Хорошо, а как компилировать-то? Дэвид не очень-то подробно это описывает, да вдобавок на английском языке, попробуй тут, разберись после пятого пива! Тээкс, сперва надо запустить "cc" (для Microsoft Visual Studio) или "bc" (для Borland Turbo C), следом за ним указав имя файла, например, так: "cc land.c", где land.c – имя файла, который надо откомпилировать. Если все пройдет успешно, и не будет никаких ругательств на недостающие include-файлы, образуется "land.o", – объективный файл. Он еще не готов для запуска – прежде его необходимо слинковать. Для этого существует утилита "ncc". Запускаем ее "ncc land.o" и... получаем ругательство, дескать, того тут нет, этого тут нет, и вообще еррор такой-то и ничего линковать не буду. Значит, линкер не может найти библиотеки, – открываем каталог "lib" и попробуем подключить их самостоятельно, указав после имени файла – "ncc land.c ast.lib posix.lib". Сработало? Неужели и на этот раз нет?! Тогда, вместе с нюком должен поставляться make-файл, так и называющийся "make" или "makefile" – обработаем его утилитой "nmake", ("nmake makefle") и уж на этот раз наверняка все получится – но, к сожалению, не все нюки распространяются с make-файлом.
Полученный файл не обязательно запускать из среды UWIN, он ничуть не хуже будет работать, "Проводника" Windows или, скажем, FAR-навигатора. Но если попытаться одолжить его приятелю, то у него ничего не получится, – программа поругается и потребует наличие двух файлов – astxx.dll (где xx – номер версии UWIN) и posix.dll – оба они находятся в каталоге "WINDOWS\SYSTEM".
Разумеется, UWIN не единственное творение в своем роде. В сети можно найти просто прорву аналогичных примочек. Ну, например, большую популярность завоевал известный CYGWIN (http://www.cygnus.com/misc/gnu-win32/). Он полностью бесплатен, распространяется вкупе с исходниками, но… требует глубоких знаний UNIX и умения программировать. Одна только установка чего стоит – на ftp-архиве лежит множество всякой всячины, и приходится самому разбираться что нужно, а что нет. В минимальную поставку CYGWIN входит лишь обертка UNIX, и ни чего больше. Ладно, качаем несколько сотен мег софта на свой винчестер, – там разберемся, что для чего предназначено. Таки ведь нет, – не все так просто запускается! Приходится запасаться пивом и садиться изучать исходники, исправляя ошибки, по халатности оставленные авторами,– зачем все эти заморочки, когда можно юзать готовый UWIN?
А потом – вместе в UWIN распространяется и компактный DNS-сервер. Зачем он нам? Конечно, если подключиться к дорогому, шустрому провайдеру – то ни зачем. А вот вся халява связана с большими тормозами. Как повысить скорость соединения, не платя лишнего? Очень просто – обзавестить собственным DNS. Порой это увеличивает скорость лазанья по web-страничкам на 20%-50% - и главное, совершенно бесплатно. Правда, комфортная работа потребует, по крайней мере, тридцати двух метром мозгов на вашей машине, – но если у вас меньше – как вы вообще умудряйтесь существовать в таких условиях?
Итак, UWIN дает возможность изучать UNIX, не отказываясь от мира WINDOWS, запускать многочисленные атакующие программы, не работающие с обычной Windows, установить собственный DNS сервер, повысив скорость соединения с Интернет, наконец, просто ощутить себя настоящим мужчиной, не понаслышке знакомым с UNIX.
А теперь выбирайте устанавливать UWIN на свой компьютер или нет.
Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?
При запуске удаленного подключения Windows запрашивает подтверждение правильности имени пользователя и пароля, что не всегда удобно, особенно если соединение устанавливаться из командной строки или пакетного файла. (см. "Можно ли войти в Интернет, используя только командную строку?", "Можно ли сделать так, чтобы компьютер дозванивался до провайдера в определенное время, забирал почту и разрывал связь?"). Если запрос подтверждения раздражает, его можно отключить.Как находить бесплатные сервера новостей?
В сети существует огромное количество общедоступных серверов, явно или неявно предоставляющих пользователям те или иные ресурсы. Мелкие корпорации, научные и исследовательские учреждения обычно не склонны обременять свои NNTP-сервера (сервера конференций) защитой и порой их ресурсами могут безболезненно пользоваться все остальные узлы сети.Случайно натолкнутся на общедоступный NNTP-сервер новостей (NNTP-сервер – от английского News Network Transfer Protocol), конечно же, слишком маловероятно, а найти его с помощью поисковых служб, наподобие "Апорта" или "AltaVista" очень трудно. Запрос "NNTP + free" выдаст длинный список бывших когда-то бесплатными серверов, большинство из которых уже успели прекратитьли свое существование или сменитьли
политику и ограничитьограничили
доступ.
Не проще ли обратится к специализированным сайтам, публикующим информацию подобного рода? Нет!, и вот почему. Дело в том, что Общедоступность большинства ресурсов связана с попустительствами администраторов,.Многие общедоступные ресурсы общедоступны исключительно по халатности администраторов. НоИ, как только на сервер обрушивается стадо любителей халявытолпа невесть откуда взявшихся пользователей, порядком напрягающих канал, политика безопасности быстро меняется администраторы спохватываются и доступ закрываетсявспоминают о безопасности. . Напротив, единичные подключения, даже если и станут замечены администратором, вряд ли будут им пресекаться до тех пор, пока не станут ощутимо мешать.Другое дело, если ресурс аккуратно "юзает" несколько пользователей, самостоятельно нашедших его в сети, - пока они никому не мешают, выгонять их, скорее всего, не станут. Осталось только научиться самостоятельно находить незакрытые сервера…
Простейший способ поиска NNTP-серверов новостей заключается в сканирование IP-адресов. Суть его в следующем: выбирают некий (возможно взятый наугад) IP-адрес, например 195.161.42.149 и пытаются установить с ним TCP-соединение по сто девятнадцатому порту, например, так: "telnet имя сервера 119" (утилита telnet входит в штатную поставку Windows 9x и Windows2000).
Успешность операции указывает на свидетельствует о наличиеналичии
NNTP- сервера на данном узле. Если же сервер отсутствует или не функционален, соединение установить не удастся. В случае успешно установленного соединения остается только убедиться в бесплатности службы, иначе – выбрать другой IP-адрес, и продолжать действовать так до тех пор, пока не кончится терпение или не отыщется требуемый ресурс. Как правило, при сканировании IP-адреса перебираются один за другим с убыванием или возрастанием на единицу за каждый шаг.
В зависимости от качества связи и загруженности тестируемого сервера, ответа на запрос о соединениисоединения
приходится ожидать от нескольких секунд до целой минуты! Поэтому, В лучшем случае скорость сканирования составит порядка шестидесяти - ста сотни IP-адресов в минуту, а в худшем же за это же время удастся проверить всего один из них.
Легко посчитать сколько займет исследование даже небольшой сети! (см. "Интернет. Общие вопросы à
Можно ли увидеть карту всего Internet, связи, каналы, структура?") Какие бы оптимизирующие алгоритмы не применялись, (например, попытки асинхронного соединения с несколькими узлами одновременно), значительно увеличить эффективность сканирования не возможно может быть значительно увеличена в силу огромного числа количества существующих IP-адресов (порядка четырех миллиардов).
Впрочем, диапазон перебираемых адресов можно существенно сузить, если обратить внимание на тот замечательный факт, что все IP-адреса, принадлежащие одному провайдеру, обычно очень близки друг другу (что неудивительно, т.к. .они принадлежат одной подсети).
В следующем примере в качестве объекта сканирования выступает Демос
– крупный поставщик сетевых услуг (в том числе и телеконференций), публичный web-сайт которого так и называется www.demos.su, (IP-адрес равен 194.87.0.48).
Используя любой сканер (например, "SuperScan", лежащий на страничке разработчика http://members.home.com/rkeir/software.html), можно исследовать узкий диапазон адресов 194.87.0.1 - 194.87.0.254 потратив на сканирование всего лишь десяток - другой минут.
В результате этой операции обнаруживается, что Демос имеет множество внутренних промежуточных NNTP-серверов, открытых для прямого доступа! Например, таких как:
nntp://relay2.demos.su
nntp://news.ru
nntp://jubo.demos.su
nntp://new2.demos.su
nntp://nntp.demos.su
Другой способ поиска бесплатных NNTP-серверов заключается в изучении заголовков сообщений. В процессе путешествия по сети сообщения проходят через множество транзитных серверов, каждый из которых включает в заголовок свой адрес. Среди транзитных серверов и NNTP-серверов отправителей сообщений часто попадаются и бесплатные сервера.
Полный путь, проделанный сообщением, содержится в поле "Path", а сервер отправителя – в поле "NNTP-Posting Host". В примере, приведенном ниже, показаны заголовки двух сообщений: (поля "Path" и "NNTP-Posting Host" выделены жирным шрифтом):
Заголовок сообщения №1:
Path: news.medlux.ru!Melt.RU!carrier.kiev.ua!news.kharkiv.net!useua!not-for-mail
From: Nadezda Alexsandrovna
Newsgroups: medlux.trade.optika
Subject: I am looking for a permanent wholesale buyer of women's hair 30-60 cm long of all colours. Phone in Kharkov (0572)329639, 364556, fax 329763.
Date: Thu, 6 Apr 2000 05:01:15 +0300
Lines: 16
Distribution: world
Message-ID: <8cgr73$bsl$25@uanet.vostok.net>
Reply-To: okline@email.itl.net.ua
NNTP-Posting-Host: ums.online.kharkov.com
NNTP-Posting-Date: 6 Apr 2000 02:02:11 GMT
Xref: news.medlux.ru medlux.trade.optik904
Заголовок сообщения №2:
From: a@b.c
Subject: ammivit
Reply-To: korzina@windoms.sitek.net
Message-ID:
Newsgroups:ural.commerce
Date: Mon, 27 Mar 2000 04:48:14 +0400
Lines: 25
Path: news.medlux.ru!mailserver.corvis.ru
NNTP-Posting-Host: t1-55.sitek.net 212.34.32.118
Xref: news.medlux.ru relcom.medicine.blood-service:2982
Поразительно, но эти два сообщения открывают семь восемь NNTP-серверов (и это еще не самый лучший результат)! Все они, перечислены ниже:
nntp://news.medlux.ru (бесплатный)
nntp://Melt.RU (хост не найден)
nntp://carrier.kiev.ua (бесплатный)
nntp://news.kharkiv.net (приватный)
nntp://ums.online.kharkov.com (хост не найден)
nntp://mailserver.corvis.ru (бесплатный)
nntp://t1-55.sitek.net (хост не найден)
И хотя часть узлов по непонятой причине не отвечает, результатами "улова" трудно оставаться недовольным. Анализом всего двух сообщений найдено три бесплатных сервера, разрешающих не только чтение, но и отправку сообщений!
А если проанализировать все сообщения, находящиеся на каждом из этих серверов, и все сообщения на каждом из вновь найденных серверов, подобным рекурсивным спуском можно найти едва ли не все NNTP-сервера, существующие в сети!
Узкое место такой операции - пропускная способность канала, соединяющего ищущего с Интернет. Получать гигабайты сообщений через модемную линию нереально. Поэтому, эту задачу лучше переложить на плечи автономной программки, работающей на узле с быстрым каналом, или различными способами оптимизировать алгоритм (так, например, ни к чему получать от одного и того же адресата более одного сообщения, а количество уникальных отправителей в сети велико, но конечно).
Впрочем, глубокое сканирование сети бессмысленно. Достаточно найти один (ну, с учетом запаса максимум два-три) быстрых и надежных NNTP-сервера, которые ввиду своей распространенности наверняка попадаются оченьпопадутся очень
быстро.
На этом секреты поиска бесплатных NNTP-серверов заканчиваются. Конечно, описанные выше операции вручную выполнять было бы затруднительно, но они легко поддаются автоматизации и уже реализованы в десятках различных программ. Большой популярностью пользуется "News Hunter" (http://www.slip.net/~rain/nh/), который помимо всего прочего генерирует весьма элегантные отчеты и измеряет скорость соединения с каждым узлом, что помогает выбрать наибыстрейший лучший из них.
К сожалению, даже последняя на момент написания книги, четвертая версия News Hunter'a, не снабжена сканером IP-адресов и хотя бы один NTTP-сервер пользователь должен найти самостоятельно.
Для этого пригодиться методика, описанная в начале главы. Достаточно найти любой сервер, предоставляющий доступ хотя бы на чтение к одной-двум конференциям. Анализируя заголовки сообщений, "News Hunter" найдет все остальные.

Рисунок 36 Рисунок 14 Результат работы News Hunter
Используя бесплатный сервер, приходится всегда быть готовым к тому, что в любой момент политика администрирования может измениться, вследствие чего свободный доступ на некоторое время (или навсегда) закроют. Единственный способ этого избежать - пользоваться платными, надежными ресурсами.
Родственные вопросы:
Разное à.
Что такое telnet и как с ним работать?
Интернет. Общие вопросы à Можно ли увидеть карту всего Internet, связи, каналы, структура?
Как объединить компьютеры в сеть без сетевых карт?
Для объединения нескольких (см. "Сколько компьютеров можно связать прямым кабельным соединением?") компьютеров в сеть совсем не обязательно иметь сетевые карты. Можно вполне обойтись и прямым кабельным соединением, связав оба компьютера через COM- или LPT-порт. Это медленнее (см. "Какова максимальная скорость кабельного соединения?"), но зато и дешевле! Всего-навсего требуется докупить LPT ßà LPT или COM ßà COM кабель или спаять его самостоятельно (см. так же "Как установить прямое кабельное соединение через USB-порт?").Внимание: в момент подключения кабеля оба компьютера должны быть отключены! Иначе порт с высокой степенью вероятности выйдет из строя. Настоятельно рекомендуется прикрутить кабель к шасси компьютера, в противном случае соединение будет нестабильным.
Кабельное соединение обеспечивает все необходимые коммуникационные возможности: позволяет обмениваться файлами, совместно использовать один принтер на двоих, выходить в Интернет через другой компьютер и т.д., словом, оно ничем не отличается от "настоящей" локальной сети.
При соединении компьютеров штатными средствами операционной системы они будут неравноправны – один из них, называемый ведомым, будет ожидать подключений и предоставлять доступ к своим ресурсам, а другой – ведущий, станет устанавливать соединение и пользоваться ресурсами ведомого компьютера, но не наоборот! Фактически ведомый компьютер играет роль сервера, а ведущий – клиента.
Как обеспечить совместный доступ к одному Интернет - соединению?
После объединения компьютеров в локальную сеть многие сталкиваются с проблемой: как разделить один Интернет – канал на двоих. Покупать каждому компьютеру модем – слишком накладно, а постоянно перетыкать его между ними – утомительно. К тому же телефонная линия-тов большинстве случаев одна!
Как обойтись без сервера исходящей почты?
Многие бесплатные почтовые службы запрещают рассылку корреспонденции или же накладывают жесткие ограничение на количество отправляемых писем в единицу времени и\или размер письма. Как, не обращаясь к платным почтовым службам, выкрутиться из такой ситуации?Очень просто – достаточно в качестве сервера исходящей почты указать адрес почтового ящика самого получателя письма! (см. "Как ускорить доставку письма?")
Родственные вопросы:
Как ускорить доставку письма?
Как определить полный путь (прохождение) при скачивании файла Сергей Иванов
Точный маршрут пакетов неопределим в силу своего непостоянства – пакеты движутся по очень сложной кривой, избегая перегруженных маршрутизаторов и огибая поврежденные участки. Вовсе не факт, что два одновременно посланных пакета дойдут по получателя одним и тем же путем: вот случится посреди дороги сбой – один пакет успеет проскочить, а второй будет вынужден идти в обход.??? Рисунок "карикатура" Дорога через лес, падает дерево, один человек, символизирующий пакет, успевает под ним проскочить, а второй идет по узкой тропике в обход.
"Мгновенный маршрут" может быть определен утилитой tracert, входящий в штатную поставку Windows.
Принцип ее работы в общих чертах выглядит так: она отправляет серию дейтаграмм на несуществующий порт по адресу, указанному в командной строке. Значение поля TTL (Time To Live – см. "Оптимизация соединения с Интернет") первой тройки дейтаграмм равно одному. Все три дейтаграммы "прибиваются" первым же маршрутизатором, поскольку он, уменьшив содержимое поля TTL на единицу, обнаруживает, что оно равно нулю, т.е. срок жизни пакета истек и пакет надлежит уничтожить, уведомив об этом отправителя. А, посылая отправителю "похоронку", маршрутизатор тем самым раскрывает свой IP-адрес!
Затем tracert посылает вторую серию дейтаграмм со значением TTL равным двум и их "прибивает" второй маршрутизатор в цепочке… так, поле TTL продолжает увеличиваться до тех пор, пока пакет не достигнет точки назначения.
А как tracert узнает, что пакет достиг точки назначения? Очень просто – конечный узел сам уведомляет об этом, посылая уведомление о невозможности принятия дейтаграммы на несуществующий порт.
Техника трассировки не свободна от ограничений. Вот некоторые из них
– достаточно часто уведомление об уничтожении пакета идет к отправителю совсем другим путем, нежели исходный пакет. Поэтому, определить точное время пересылки пакета невозможно – оно не всегда равно половине времени задержки с момента отправки дейтаграммы до момента получения уведомления. На практике расхождение составляет 300%-400%, если не больше!
– некоторые маршрутизаторы молчаливо "прибивают" мертвые пакеты, не посылая никакого уведомления или, даже если посылают, эти уведомления могут быть блокированы межсетевыми экранами, владельцы которых справедливо полагают: чем меньше всякие личности знают о топологии их сети, тем безопаснее работа и здоровее сон. (см. "Почему tracert умирает на полпути к узлу").
В простейшем случае tracert вызывается с указанием IP-адреса или доменного имени узла назначения, например, так:
C:\>tracert www.aha.ru
Трассировка маршрута к www.aha.ru [195.2.70.38]
1 140 ms 130 ms 140 ms nas.itech.ru [195.151.210.36]
2 151 ms 140 ms 150 ms ns.itech.ru [195.151.210.33]
3 171 ms 160 ms 170 ms gw.itech.ru [195.151.210.29]
4 161 ms 160 ms 180 ms 195.151.200.90
5 260 ms 231 ms 300 ms krd-gw.mtt.ru [195.151.52.41]
6 391 ms 340 ms 371 ms Moscow18-S3-7-0.RoSprint.net [194.84.251.246]
7 340 ms 451 ms 410 ms Moscow41-F1-0.RoSprint.net [193.232.88.23]
8 360 ms 501 ms 330 ms m9-3-fa4-1-0.zenon.net [193.232.244.48]
9 821 ms 901 ms 2164 ms jam-l3sw-2-giga1-2.msk.zenon.net [213.189.198.25]
10 441 ms 320 ms 341 ms jam-slb-1.msk.zenon.net [195.2.70.38]
Отчет tracert состоит из следующих частей: крайняя слева колонка содержит номер маршрутизатора в цепочке, считая от отправителя (узел самого отправителя в этот список не входит); три следующие колонки содержат время задержки с момента посылки дейтаграммы до получения уведомления. В силу непостоянства скорости передачи пакетов, особенно заметной на перегруженных каналах, однократный замер времени задержки не позволяет судить о средней скорости, вот поэтому-то и используются три последовательные посылки, позволяющие вычислить моду {>>>>> сноска мода
– это наиболее часто встречающиеся значение скорости, например, для ряда замеров 1,6,6,6,7 мода равна 6, а среднее арифметическое –5} скорости.
Большинство руководств утверждает, что, анализируя приращение задержки на каждом последующем маршрутизаторе, можно определить скорость пересылки пакетов между маршрутизаторами. Это неверно! Непостоянство временных задержек в несколько раз превышает скорость доставки пакетов от одного маршрутизатора к другому, к тому же как бы это ни казалось парадоксально, но уведомления от дальних маршрутизаторов могут идти более коротким путем, чем от ближних, и результаты вычисления дадут отрицательные значения. Судите сами (см. табл. 1):
|
1й замер |
Dt |
2й замер |
Dt |
3й замер |
Dt |
Dt средне |
откл % |
|
|
1 |
140 |
+140 |
130 |
+130 |
140 |
+140 |
+137 |
7% |
|
2 |
151 |
+11 |
140 |
+10 |
150 |
+10 |
+10 |
10% |
|
3 |
171 |
+20 |
160 |
+10 |
170 |
+20 |
+17 |
6% |
|
4 |
161 |
-10 |
160 |
0 |
180 |
+10 |
0 |
--- |
|
5 |
260 |
+99 |
231 |
+71 |
300 |
+120 |
+97 |
70% |
|
6 |
391 |
+131 |
340 |
+109 |
371 |
+71 |
+104 |
50% |
|
7 |
340 |
-51 |
451 |
+111 |
410 |
+39 |
+99 |
112% |
|
8 |
360 |
+20 |
501 |
+50 |
330 |
-80 |
-3 |
--- |
|
9 |
821 |
+461 |
901 |
+400 |
2164 |
– |
+140 |
57% |
|
10 |
441 |
-380 |
320 |
-581 |
341 |
– |
-480 |
20% |
Время задержки по мере продвижения по цепочке маршрутизаторов нарастает отнюдь не линейно, а хаотично, испещряясь отрицательными значениями, а погрешность в своей массе залазит за 50%, местами доходя до 100% и выше. Не очень-то точные измерения получаются!
Родственные вопросы:
Провайдер и удаленный доступ à Оптимизация соединения с Интернет
Почему tracert умирает на полпути к узлу
Как опубликовать рекламную статью бесплатно?
Редакторы – народ строгий. На рекламу у них глаз наметан. Только появится рекламный подтекст, как сразу – публикация на правах рекламы, см. расценки. Недостаточно опытных редакторов легко обмануть, написав откровенно-рекламную статью в критической форме. Например, о программе с интуитивно-понятным интерфейсом, можно высказываться как о программе "для дурака", не забыв, конечно, привести все копии экрана. Клиент пропустит "дурака" мимо ушей, а вот описание интерфейса ему может понравиться!Вообще же, основной признак рекламных статей – отсутствие информации о предмете рекламы. Зато отношения к этому предмету – хоть отбавляй. Например, "неотразимый дизайн". Простите, какой-какой? Угловатый, обтекаемый, тошнотворно-прозрачный? Оставьте же человеку права на собственный вкус! А "неотразимый" лучше вообще заменить на какое ни будь другое не броское прилагательное с частицей "не". Скажем: "недурной, выполненный в классическом угловатом стиле".
Никогда не стоит в рекламе бояться говорить о недостатках продукта – это не отвернет покупателя, зато крепче уверит его в беспристрастность описания достоинств. Ну, как такое горячее доверие не обмануть?! Так, где тут у нас лапша, пока он растопырил уши…
Как подобрать правильную строку инициализации или что делать, если модем не работает?
В идеале каждый модем должен уметь самостоятельно адаптироваться под телефонную линию, не требуя от пользователя шаманских танцев с бубном вокруг себя. Но жизнь далека от идеала – порой модем ведет себя как дикий зверь: то не хочет устанавливать соединение, то бросает трубку. Возможно, лучший выход из ситуации – купить другой модем, более подходящий к таким условиям, но зачастую проблему удается решить грамотной настройкой.Гибкость настройки различных модемов не одинакова и сильно разнится от модели к модели. Многие дешевые поделки вообще не поддаются настройке, профессиональные же модемы (и близкие к ним модели бытовых) допускают ручную регулировку большинства своих узлов и – что самое главное – умеют измерять основные характеристики линии и величину искажений. Надо ли говорить насколько это облегчает настройку? Ведь, действуя вслепую, недалеко уедешь…
Операционные системы семейства Windows поддерживают ручное конфигурирование модема, позволяя передать все требуемые параметры через строку инициализации. ("Панель управления" à "Модемы")"Панель управления" à Модемы à Свойства à Подключение à Дополнительно и в открывшемся диалоговом окне найдите поле "Строка инициализации" (Windows 9x) или "Панель управления" à Модемы à Свойства à Дополнительные параметры связи à Дополнительные параметры инициализации (Windows 2000). Строка инициализации состоит из AT-команд модема, передаваемых ему перед каждым обращением.
Команды делятся на базовые, общие для всех модемов, и расширенные
– специфичные для каждой модели. Базовый набор AT-команд весьма аскетичен и позволяет манипулировать лишь основными настройками, а такие операции как изменение уровня выходного сигнала или коррекция чувствительности не стандартизированы и каждым производителем реализуются по-своему (если вообще реализуются). В результате все модемы требует индивидуального подхода и общих рекомендаций по настройке, приемлемым ко всем моделям, дать просто невозможно.
Ниже описана настройка трех популярных моделей: ACORP 56K, 3Com US Robotics Courier V. Everything и ZyXEL OMNI 56K Pro. Владельцем модем других типов придется обратиться к их документации на предмет выяснения какими командами осуществляется управление теми или иными опциями и предусмотрено ли оно вообще.
???? Рисунок "Карикатура" Модем разогнанный до такой степени, что летит как самолет по взлетной полосе
Как послать анонимное сообщение?
Независимо от способа отправки почты – через web-интерфейс или с помощью своего любимого почтового клиента, в заголовке письма вы оставляете свой IP-адрес, что не есть хорошо. Получатель (или любое лицо, перехватившее письмо), без особого труда сможет узнать вашего провайдера, т.к. сами провайдеры берут IP-адреса отнюдь не с неба, а покупают их и каждая такая сделка в определенном порядке регистрируется. Причем информация кому какой IP принадлежит чаще всего свободно предоставляется всем желающим. Знание провайдера позволяет выявить ваше географическое местоположение, а звонок к нему (или вторжение на его машину без ведома и согласия) – узнать ваши регистрационные данные (имя, фамилию, часто адрес и номер телефона).Как сохранить свою анонимность? Вариант первый – найти такой почтовый сервер, который бы не запоминал ваш IP-адрес и помещал в заголовок только ту информацию, которую вы сами пожелали сообщить о себе. Чтобы найти такой сервер необходимо, методично перебирая бесплатные (платные) почтовые службы одну из одной, посылать самому себе письма и анализировать их заголовок – определяется ли адрес отправителя или нет (см. "Как установить подлинный адрес отправителя письма?").
Вариант номер два – подключитесь к почтовому ящику через анонимный Proxy-сервер (см. "Интернет. Общие вопросы à
Что такое Proxy-сервер и как с ним работать?" и " Интернет. Общие вопросы à
Как заставить работать такое-то приложение через Proxy-сервер?"). В этом случае в заголовок попадет IP-адрес Proxy, а не ваш.
Родственные вопросы:
Как установить подлинный адрес отправителя письма?
Интернет. Общие вопросы à Что такое Proxy-сервер и как с ним работать?
Интернет. Общие вопросы à Как заставить работать такое-то приложение через Proxy-сервер?
Как предотвратить похищение моего Интернет пароля?
Ничто так не отбивает желание поохотиться за чужими Интернет - паролями, как проверка провайдером номера звонящего абонента и сравнение его с номером телефона, "закрепленным" за обладателем данного пароля.Провайдеры, реально отслеживающие своих клиентов аппаратурой АОН, многократно снижают актуальность похищения пароля – ведь в этом случае злоумышленнику потребуется не только похитить пароль, но и подключиться к чужой телефонной линии, что довольно проблематично (разумеется, если "злоумышленником" не является никто из домашних).
Определение номера звонившего не то чтобы очень хлопотная забота (многие модемы имеют встроенную систему АОН), но провайдеры в своей массе под предлогом нежелания ограничивать свободу клиентов
позволяют входить в сеть с любого телефонного номера! Истинная же причина в том, что провайдеры не хотят наживать себе лишнюю головную боль. Только представьте себе толпу разъяренных клиентов, у которых из-за старости АТС или помех на линии не определяется номер и АОН провайдера дает от ворот поворот, не пуская в сеть, да и лишняя возня с поддержкой телефонной базы пользователей провайдерам ни к чему.
Попадаются и такие провайдеры (к числу которых принадлежит и krintel), которые в договоре оговаривают возможность входа в сеть только с заранее оговоренного телефонного номера, но на практике никак его не проверяют – выходи откуда хочешь!
Определить, как обстоят дела в таком-то конкретном случае, можно лишь экспериментально – попыткой захода в Интернет со своим логином с чужого телефона (но только не с чужого компьютера – этим вы раскрываете свой пароль его владельцу!).
Если провайдер не контролирует номер звонившего (как часто и происходит) злоумышленник сможет бесплатно войти в сеть угадав
или похитив
чужой пароль.
угадывание: если пароль представляет собой осмысленное слово наподобие "McLaren" или "Disney", упорядоченную последовательность типа "QWERTY" или полностью состоит из цифр – он может быть легко угадан! Лексикон большинства людей ограничен несколькими десятками тысяч слов, а самые полные русские и английские словари насчитывают сотни тысяч, ну пускай, миллионы слов. При скорости подбора в десять-двадцать тысяч паролей в секунду (средняя скорость младших моделей Pentium) – перебрать все словарные слова, пускай даже слегка видоизмененные (типа "Арбуз" à
"Арбусис"), удастся менее чем за час, в крайнем случае, за сутки-другие. В то же время, бессмысленных сочетаний даже из пяти букв латинского алфавита (включая цифры и знаки препинания) – свыше миллиарда, а из восьми символов и того больше– порядка миллиарда миллиардов! На бытовых компьютерах их перебор займет все оставшееся до конца света время! (Если, конечно, забыть о неуклонном увеличении производительности компьютеров).
похищение: отчаявшись подобрать пароль "в лоб", злоумышленники начинают прибегать ко всевозможным ухищрениям. Например, связываются с намеченной (или выбранной наугад) жертвой и от имени службы технической поддержки (варианты - администратора, фининспектора, президента, господа бога) требуют назвать пароль. Это рискованный ход, т.к. звонившего можно отследить (с помощью АОН, например) и на суде (если до него дойдет) опознать по голосу (одни лишь показания АОН для суда не аргумент). Продвинутые злоумышленники поступают хитрее, предлагая всем желающим зарегистрироваться на своем сайте, указав собственное имя и пароль (например, для доступа к редактированию собственной анкеты или возможности подписки на почтовую рассылку). Разумеется, никем не требуется введение именно Интернет – пароля, но многие люди склонны выбирать одинаковые (или похожие) пароли на все случаи жизни.
Никогда, нигде и ни при каких обстоятельствах никому не сообщайте свой Интернет – пароль! Так же не записывайте его ни на бумажке, приклеенной к монитору (столу, клавиатуре), ни в записной книжке, ни где-либо еще. Эти "тайники" легко доступны вашим гостям и знакомым, а можно ли быть уверенным, что все они добропорядочные граждане? По обыкновению пароль записывается в договоре, заключенном с провайдером, а сам договор хранится (точнее, должен храниться) среди других ценных бумаг и документов – вне пределов досягаемости знакомых и друзей. (см. "Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?").
Пароль может похитить и программа-шпион, засланная с диверсионной целью на чужой компьютер. Техника засылки диверсантов весьма разнообразна:
а) замаскировав такую программу под нечто полезное, злоумышленник может отослать ее намеченной жертве по электронной почте ("Какие почтовые вложения безопасны?"), выложить на общедоступный "софтверный" сервер, наподобие download.ru, "закинуть" в телеконференцию и т.д. Антивирусы обнаружат такую программу лишь при условии, что она уже была ранее кем-то использована и успела попасть в руки вирусологов. Но шпиона, написанного самим злоумышленником специально для этой атаки антивирусы распознать не в силах! Нить надежды дает эвристический анализатор – грубо говоря "искусственный интеллект" антивируса – в некоторых случаях распознающий неизвестные ему зловредные программы по их "запаху", т.е. характерным последовательностям машинных команд, но в силу своего несовершенства эвристические анализаторы зачастую не срабатывают и хитрый злоумышленник может без труда обойти их. Антивирусы – антивирусами, а запускать полученные из Интернета файлы сомнительного происхождения (см. "Какие ресурсы Интернет наиболее безопасны") не стоит, даже если антивирусы – какими бы они свежими ни были – не нашли в них ничего подозрительного (см. "Как защитится от вирусов").
???? Рисунок "карикатура" собака в повязке с красным крестом нюхает дискету, по которой ползают вирусы
б) файлы документов могут содержать вредоносные макросы, автоматически запускающиеся при открытии документа и похищающие сохраненный пароль (или устанавливающие шпиона, отслеживающего нажатие клавиш) - см. "Как защитится от вирусов";
с) "дырки" в операционных системах и приложениях приводят к возможности хищения пароля без каких-либо активных действий со стороны жертвы – достаточно ей войти в Интернет (см. "Как гарантированно защититься от атак из Интернет").
Родственные вопросы:
Как защитится от вирусов
Какие почтовые вложения безопасны?
Какие ресурсы Интернет наиболее безопасны
Какие почтовые вложения безопасны? (следующий)
Как гарантированно защититься от атак из Интернет
Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?
Как привлечь к себе внимание?
О! Привлечь к себе внимание очень просто – стоит ляпнуть какую-нибудь глупость или затронуть национальное или какое-нибудь другое достоинство. Ну, например, объявить, что в будущем при регистрации вашей копии программы потребуется указывать номер паспорта или, скажем, расписываться в лицензионном соглашении, заверять его у нотариуса, отсылать ценным письмом на фирму и только после этого ожидать регистрационного ключа, "отпирающего" программу.Поднимется буря! Все журналисты встанут на уши и начнут смаковать, дескать, какой же идиот-клиент на это пойдет?! Да в новой программе нет никаких сногсшибательных возможностей, так, косметическая доводка по мелочам – стоит ли переходить на нее ценой такой головной боли?
Но, нет, фирма не потеряет своих клиентов – она их приобретет! Спустя некоторое время будет объявлено: мол, идя на встречу общественности, отменяем все эти нововведения, возвращая все на круги своя. Но, пока длится скандал, потребитель узнает и о самой программе, и о новых возможностях и, вполне вероятно, что приобретет!
Такую тактику применяют практически все "отцы-основатели" компьютерной индустрии: и Intel, и Microsoft, и многие другие копании.
Несколько видоизмененный вариант на ту же тему – публично заявить, что конкуренты украли такую-то "фенечку" и подать на них в суд. Исход разбирательства не важен. Главное – привлечение внимания общественности к собственной персоне. Пример: компания Sun, в стремлении донести до потребителя для чего вообще нужна эта Java (что это за серверный олень такой?), затеяла долгое препирательство с Microsoft. И это притом, что реализация VM Java от Microsoft была едва ли не самой лучшей, а Sun и сама не знала на какую ногу встать – то ли вопить о несовместимости с Java, то ли обвинять в незаконном распространении фрагментов исходных текстов в составе SDK.
Мотив этого и многих других судебных разборок один – широкомасштабная бесплатная реклама. И только потом – щелчок по носу конкурента.
Как разместить скрипт на сервере?
В большинстве случаев "заливка" скрипта на сервер осуществляется по протоколу ftp. Для этого потребуется ftp-клиент, поддерживающий закачку. Например, всем известный FAR.Запустите его и в панели дисков выберете пункт "FTP"

Рисунок 49 Рис image10 Панель дисков FAR
Теперь нажмите <Shift-F4> и в появившемся диалоговом окне введите ваш логин, пароль и адрес сервера.
Например, это может выглядеть как:

Рисунок 50 Рис Image12 Подключение к серверу
Обратите внимание: имя хоста по ftp может не совпадать с www, – подробнее читайте об этом подробнее в инструкции на сервере!
Дважды нажмите на <Enter> и дождитесь установки соединения. Если при этом появится сообщение об ошибкиошибке, то, значит, что-то сделано неправильно, а может, аккаунт еще не зарегистрирован. Подождите и попробуйте снова…
Соединились? Вот и замечательно. Попробуйте скопировать несколько файлов на сервер, - не правда ли, это ничуть не сложнее, чем работать с привычным "Norton Commander"?
Единственная проблема – определить в какую именно директорию "заливать" скрипты, – дело в том, что если директория не имеет атрибута "исполняемый" выполнение файлов, содержащихся в ней, запрещено. Обычно такая директория именуетя "cgi-bin", но случаются и исключения. Так, например, у "HuperMart" это корневая директория Вашего аккаунта, а у "Virualave" – public_html. При возникновении проблем обратитесь к администратору сервера или внимательно изучите faq по пользованию вашим аккаунтом.
Еще одна тонкость связана с набором исходного текста скриптов – при попытке исполнить скрипт, набранный в обычном DOS\Windows редакторе, скорее всего, появится сообщение об ошибке и выполнение будет прервано. Дело в том, что большинство www-серверов работает под управлением UNIX, а ей "не нравиться" досовское завершение строки. Поэтому, текст скрипта следует набирать в редакторе, учитывающим особенности UNIX. Одним из таких редакторов встроен в знаменитый DOS NAVIGATOR (www.ritlabls.com).
Для его настройки выберите в меню "Опции" пункт "Тип Текста" à
"ЮНИКС", а затем либо откройте и заново сохраните ранее набранный файл или наберите его заново.

Рисунок 51 Рис. Image14 – выбор типа текста
И последнее - после заливки скрипта на свере присвойте ему атрибут "исполняемый", иначе он исполняться "не захочет". Переместим маркер к только что закаченному файлу, нажмите <Ctrl-A>, взведите все три галочки <X> (от executable – то есть исполняемый) и нажмите
Как работать с UNIX?")

Рисунок 52 Рис image16 – установка атрибутов
Родственные вопросы:
Разное à Как работать с UNIX?
Какие сервера бесплатно предоставляют право исполнения cgi?
Исходные тексты скриптов в "Приложении"
Как соединить компьютеры через инфракрасный порт?
Инфракрасным портом уже оснащаются многие Notebook-и, но настольные компьютеры подавляющим большинством пока что продаются без "глазков" и докупать ИК - адаптер приходится самостоятельно.Чтобы не мучаться с драйверами и прочей программной поддержкой, разумно остановить свой выбор на моделях, поддерживаемых непосредственно BIOS. Большинство BIOS позволяют работать с ИК - адаптером как с обычным последовательным портом. Это позволит устанавливать прямое кабельное соединение тем же стариком Norton Commander-ом или любой терминальной программой. Правда, скорость будет ограничена какой-то сотней килобит в секунду, что затруднит перенос больших объемов данных – дистрибьютив Windows2000 будет перекачиваться несколько часов. За это время можно не только чай попить, но и детей завести! Но более короткого пути, по-видимому, не существует.


Рисунок 27 Рис 1ir, 2ir Подключение инфракрасного адаптера через последовательный порт

Рисунок 28 Рис. IrdaWave Инфракрасный порт IrDa IRwave IR320SA
Как соединить Windows 9x с Windows 2000?
Если на одном из компьютеров установлена Windows2000, а на другом – Windows 9x, то соединить их может оказаться совсем не просто – при попытке установки соединения будет выдаваться сообщение о неправильном пароле и все тут! Причина в том, что Windows 9x использует уязвимые протоколы аутентификации, по умолчанию запрещенные в Windows 2000.Если ведущий компьютер работает под управлением Windows 2000, а ведомый – Windows 9x, для их "примирения" выполните следующие действия: щелкнув правой мышкой по иконе прямого кабельного соединения, выберете "Свойства" и перейдете к вкладке "Безопасность". Переместите радио кнопку "Параметры безопасности" в положение "Дополнительные (особые параметры)" и нажмите "Настройка". Теперь в "Шифровании данных" выберите "необязательное (подключаться без шифрования)"; в "Безопасном входе" снимите все галочки кроме "Протокол проверки пароля Microsoft (MS-CHAP)" и "Разрешать старый протокол MS-CHAP для Windows 95". Все! Нажмите "ОК" и повторите попытку соединения. На предупреждения Windows 2000 о небезопасности подключений без шифрования не обращайте внимания – перехватить пароль, передаваемый по LPT- или COM- кабелю, не имея к нему физического доступа невозможно!

Рисунок 20 Рис 0х008 Разрешение протокола аутентификации, используемого Windows 9x
Если ведущий компьютер работает под управлением Windows 9х, а ведомый – Windows 2000, то, кликнув правой клавишей по иконке "Входящие подключения", в открывшемся контекстном меню выберете пункт "Свойства" и перейдите к закладке "Пользователи". Теперь необходимо поставить галочки напротив всех пользователей, которым разрешен удаленный вход в систему, – разумеется, из тех пользователей, которые зарегистрированы на ведущем компьютере (если на ведущем компьютере не зарегистрировано ни одного пользователя – его надо создать, кликнув по иконке "Пользователи" в "Панели управления").
Галочка "Все пользователи должны держать в секрете свои пароли и данные" должна быть сброшена, а "Всегда разрешать подключение без пароля устройствам с прямым соединениям, таким как карманные компьютеры (palmtop PC)" – установлена, независимо от того с какого компьютера осуществляется заход – с карманного или настольного.

Рисунок 21 0х009 Создание списка зарегистрированных пользователей
Как сохранить WEB-страницу на диск для ее просмотра в Off-Line?
Вообще-то, Исторически сложилось так, что web рассчитан именно на on-line просмотра с сервера, ноане локального диска. С сохранением дела обстоят очень туго, тем более что такое действие потенциально способно нарушить авторские права владельцев сайта и ведущие производители очень осторожно подходят к этому вопросу, сильно ограничивая свободу пользователя.
Как создать иллюзию устойчивости, когда делать идут хуже некуда?
Отличительная черта крупных, устойчиво стоящих на ногах компаний, – потребностьв критике. Объективная критика позволяет выявить свои слабые стороны и приносит неоценимую пользу (это не аналитиков нанимать, которые требуют много денег, но все равно ничего путного не делают). Необъективная критика – лучшая похвала. Раз оппонент ни за что конструктивное ухватиться не может – значит, и ухватываться-то не за что (ну, во всяком случае, на его, - критика, - умственном уровне развития). Похвала, напротив, внушает чувство неуверенности и ее информационная ценность равна нулю. Мало ли, что кому понравилось? А, может быть, 99% остальным – это как раз и не нравится?
Мелкие, готовые вот-вот развалиться, компании ведут себя диаметрально противоположно. Они очень болезненно реагируют на критику, хватают критикующих их журналистов за грудки и с воплями "клевета, клевета", устраивают чуть ли не судебные разборки, дескать, сейчас же напечатайте опровержение!
Народ же обиженных любит! Товар фирмы-великомученика могут брать охотнее только за ее "мученичества" ("поможем братьям нашим китайцам завалить паразитов Янок!"). Словом, обильная порция грязи, критики и клеветы никогда не повредит. Напротив, чем больше критики, тем сильнее уверенность потребителя, что истинная причина критики не в действительных недостатках товара, а опасениях конкурентов, что этот самый товар может пошатнуть их позицию на рынке.
Чем плоха идея лить грязь на самих себя? Причем грязь откровенно сумасбродную, типа "эту программу писали сатанисты". Клиенту до того, кто ее писал, никакого дела нет. Но, не зная кем инсценирована эта критика, он может склониться к такому продукту, здраво рассуждая – если никаких других недостатков у него нет – он идеален.
Как связаться с автором этой книги?
Присылайте свои отзывы, пожелания, замечания и свежие вопросы (особенно приветствуются вопросы) по адресу kk@sendmail.ru. Авторы оригинальных вопросов в обязательном порядке будут награждены экземпляром следующего издания этой книги с автографом.Как удалить чужое сообщение из телеконференции?
Для начала маленькое лирическое отступление… В далекие доисторические времена, когда сеть была доступна ограниченному кругу лиц, и еще никто всерьез не задумывался о безопасности, для управления NNTP-серверами предложили использовать управляющие сообщения, – если в послании содержалось некое специальное ключевое слово, сервер интерпретировал следующий за ним текст как команды.Эта методика завоевала большую популярность в виду привлекающей простоты реализации и дожила в неизменном виде до наших дней. Большинство NNTP?серверов и сегодня допускают удаленное администрирование, не требуя для этого никаких прав.
Управляющие сообщения отличаются от всех остальных наличием поля "Control" в заголовке или ключевого слова "cmsg" в поле "Subject", оставшаяся часть которого интерпретируется как команды. Поэтому, для администрирования сервера нет нужды в специализированном программном обеспечении, вполне сойдет ваш любимый клиент
(например, Outlook Express) .
Порой управляющими считаются поля "Subject", в сообщениях, адресованных группе "all.all.ctl". Забавно, что в попытках защитить свой сервер и установить фильтры для управляющих сообщений некоторые, между прочим достаточно многие, администраторы забывают об этой маленькой документированной
(плохо, но документированной) особенности, оставляя лазейку открытой.
Полностью запретить управляющие сообщения администратор не может, поскольку они используются для организации взаимодействия между NNTP?серверами. Однако ничего не стоит можно настроить систему безопасности так, чтобы потенциально опасные команды требовали аутентификации и были доступны лишь лицам соответствующих привилегий. Впрочем, в большинстве случаев установленную защиту удается можно с легкостью обойти, используя простейшие приемы подделки полей заголовка.
Для удаления сообщения можно воспользоваться командой "cancel", указав уникальный идентификатор ("Message-Id") удаляемого сообщения. Отправлять такую команду может только администратор сервера или автор сообщения, то есть поля "From" в удаляемом и управляющем посланиях должны совпадать.
Для того Чтобы узнать идентификатор сообщения, достаточно просмотреть его заголовок. В Outlook Express это делается нажатием комбинации клавиш <Alt-Enter>
220 3031 <8cn934$f3r$2@news.medlux.ru> article
Path: news.medlux.ru!not-for-mail
From: kpnc@id.ru
Newsgroups: medlux.doc.rus
Subject: Test
Date: 8 Apr 2000 12:35:48 GMT
Organization: Medlux InterNetNews site, Moscow, Russia
Lines: 1
Approved: kpnc@aport.ru
Message-ID: <8cn934$f3r$2@news.medlux.ru>
NNTP-Posting-Host: ppp-18.krintel.ru
Xref: news.medlux.ru medlux.doc.rus:3031
Значение Message-Id в приведенном выше примере выделено жирным шрифтом. Для удаления этого сообщения достаточно лишь послать на сервер, в ту же самую группу управляющее сообщение, содержащее в поле "Subject" (тем сообщения) следующие строки: "cmsg cancel <8cn934$f3r$2@news.medlux.ru>". Для проверки – удалилось оно или нет – обновите список сообщений или попробуте загрузить удаленное сообщение, если оно еще не было загружено ранее. Опля! Получилось! (Ну, во всяком случае, автор на это надеется)
Впрочем, на локальных дисках подписчиков не произошло никаких изменений, точно как и на всех серверах, уже успевших получить это сообщение.
Внимание: пользоваться управляющими сообщениями следует крайне осторожно!.
При возникновении ошибок обработки, сообщение об ошибке возвращается не отправителю, а администратору системы, последующие действия которого предугадать нетрудно.
Как удалить сообщение из почтового ящика, не принимая его на свой компьютер?
Большинство почтовых программ, в том числе и Outlook Express, удаляют сообщения только после их получения с сервера, но не позволяют сделать это непосредственно (впрочем, можно настроить фильтр см. "Какие существуют способы заблокировать получение корреспонденции по электронной почте от нежелательных абонентов (закрыть им доступ к использованию конкретного почтового ящика)?"). Неудобства такого подхода очевидны – прежде, чем принимать длинное письмо, неплохо бы сначала убедиться в том, что его действительно следует принимать (может, это спам какой). Особенно неприятно дожидаться загрузки длинного, порой в несколько мегабайт, письма, гадая: кто же его послал, и что в нем содержится?Для предварительного просмотра и удаления корреспонденции с сервера можно воспользоваться утилитой "telnet.exe", входящей в штатную поставку Windows. (см. "Разное à
Что такое telnet и как с ним работать?") Запустите ее, указав адрес почтового сервера и название почтового протокола в командной строке, например: "telnet.exe mail.ru POP3".
Установив соединение, сервер выдаст приглашение, типа "+OK mPOP POP3 server ready <91648.954065917@mail.ru>", впрочем, содержание приглашения может быть и другим, но это неважно.
Теперь, воспользовавшись командами "USER" и "PASS", сообщите серверу свое имя и пароль соответственно. Например, так:
USER K.Kaspersky
PASS acs2000wM$
Если имя и пароль введены правильно, сервер сообщит нечто наподобие "+OK Password OK" и откроет доступ к почтовому ящику.
Список всех имеющихся сообщений можно просмотреть командой LIST, результат работы которой должен выглядеть приблизительно так:
>LIST
+OK 4 messages (25626 octets)
1 6078
2 4933
3 4644
4 9971
.
Сервер сообщает количество сообщений в почтовом ящике (в данном случае – 4), их суммарный размер в октетах {>>>> сноска упрощенно один октет можно принять равным одному байту} (25.626) и размер каждого из сообщений по отдельности (6.078, 4.933, 4.644, 9.971).
Получить все сообщение целиком позволяет команда RETR Номер сообщения, а его фрагмент – TOP Номер сообщения Количество строк. Например:
> TOP 4 10
top 4 10
+OK
Return-Path: gluck@citycat.ru
Received: from citycat.ru by mail.ru for mail.ru, au.ru, aport.ru,
inbox.ru, land.ru with CCQDP. For more info hac@citycat.ru
Message-Id: <20000306051857_Hk_1100.20000303142308.promo_@funny.anec>
Precedence: special-delivery
Comments: Subscribe.Ru/Citycat E-mail Service. http://subscribe.ru
Date: Mon, 6 Mar 2000 05:18:54 +0300 (MSK)
From: CityCat
To: "funny.anec"
Subject: =?koi8-r?Q?=E1=CE=C5=CB=C4=CF=D4=D9=20?=
=?koi8-r?Q?=E7=CF=D2=CF=C4=D3=CB=CF=C7=CF=20?=
=?koi8-r?Q?=EB=CF=D4=C1?=
MIME-Version: 1.0
Content-Type: text/html; charset=koi8-r
Content-Transfer-Encoding: 8bit
Поле "From" заголовка письма (в тексте оно выделено жирным шрифтом) позволяет узнать обратный адрес отправителя (внимание: обратный адрес отправителя может быть поддельным! подробнее об этом см. "Как установить подлинный адрес отправителя письма?"), а тема сообщения содержится в поле "Subject". Следом за заголовком расположено тело письма, отделенное от него пустой строкой.
Все символы кириллицы закодированы специальным образом, и непосредственно чтение их невозможно. Но в этом может помочь ваш почтовый клиент, например, "Outlook Express". Выполните следующую последовательность действий:
а) в меню "Терминал" приложения "telnet" выберете пункт "Начать протоколирование" и введите имя файла, в который вы желаете сохранить сообщение, принудительно задав расширение ".eml" (в противном случае файл получит расширение ".log"), например, "MyFile.eml";
б) повторно введите команду "TOP Номер сообщения Количество строк" и дождитесь завершения вывода сообщения на экран;
в) в меню "Терминал" приложения "telnet" выберете пункт "Закончить протоколирование";
г) дважды кликните по только что созданному файлу.
Если все сделано правильно, автоматически запустится Outlook Express, отображая это сообщение в удобно читаемом виде (возможно при этом придется вручную выбрать подходящую кодировку в меню "Вид à
Вид кодировки".
Прочитав сообщение, определите – имеет ли смысл его принимать, если нет – вернитесь в окно telnet и отдайте команду "DELE Номер сообщения" для его удаления.
Удалив все ненужные сообщения, завершите сеанс работы с сервером командой "QUIT". Внимание: если этого не сделать, сервер автоматически восстановит все соединения, удаленные в течение последнего сеанса!
Родственные вопросы:
Разное à Что такое telnet и как с ним работать?
Как установить подлинный адрес отправителя письма?
Какие существуют способы заблокировать получение корреспонденции по электронной почте от нежелательных абонентов (закрыть им доступ к использованию конкретного почтового ящика)?
Как удержать клиента в своих руках?
Клиента мало завоевать, его необходимо еще и удержать. Самая прочная сеть – закрытые и постоянно меняющиеся стандарты. Взять, к примеру, ICQ или Microsoft Office. Чтобы написать своего ICQ-клиента или свой редактор документов Office необходимо знать их формат. А он – секрет фирмы. Выяснить его можно только утомительным и трудоемким дизассемблированием, но весь труд полетит впустую, если этот формат будет хотя бы незначительно изменен в новой версии программы.В результате – монополизация рынка: хочешь работать с нашими файлами? – Пользуйся нашими приложениями! Любопытно, что Билл Гейтс, во всю критикуя этот прием в своей книге "Дорога в будущее", сам является его горячим поклонником!
Как ускорить доставку письма?
Надежность и скорость работы многих почтовых серверов оставляет желать лучшего, - порой письма теряются, застревают на промежуточных узлах и т.д. Между тем, существует возможность доставить письмо напрямую, непосредственно опустив его в почтовый ящик получателя.Первым делом извлеките из e-mail адреса доменное имя сервера, расположенное справа от символа "собаки". Например, доменное имя сервера адресата "K.Kaspersky@mail.org" – "mail.org". Затем, в настройках почтового клиента укажите это имя в качестве сервера исходящей почты. В "Outlook Express" для этого необходимо в меню "Сервис" выбрать пункт "Учетные записи", щелкнуть по кнопке "Добавить", "Почта" и нажать два раза "Далее". Теперь в качестве сервера входящей почты введите любой адрес, а в качестве сервера исходящей почты – доменное имя сервера получателя (в данном примере mail.org); нажмите два раза "Далее" и, наконец, "Готово".
Для ускоренной доставки корреспонденции достаточно выбрать соответствующую учетную запись (учетная запись выбирается при создании письма в поле "От"). Одна учетная запись может обслуживать только пользователей с одного сервера.
Родственные вопросы:
Как обойтись без сервера исходящей почты?
(следующий)
Как установить подлинный адрес отправителя письма?
Обратный адрес заполняется самим отправителем письма и может содержать все, что угодно, или и вовсе не содержать ничего. Часто этим пользуются спаммеры, подставляя в качестве своего адреса адрес ни в чем неповинного человека; конкуренты, отвечающие от имени вашего партнера о разрыве отношений или просто шутники.??? Рисунок "карикатура" Чел. рассматривает полученное письмо – обратный адрес Америка, тттттт…. Далее он смотрит на штемпель и видит – Россия, Сибирь, деревня Большие Гырыбы
Определить подлинный адрес отправителя в некоторых случаях принципиально невозможно (например, если письмо было послано через анонимайзер), но чаще всего анализ заголовка позволяет пролить свет на его происхождение его отправителя.
Для просмотра содержимого заголовка в программе "Outlook Express" подведите курсор к исследуемому сообщению, и в меню "Файл" выберите пункт "Свойства" (или же нажмите <Alt+Enter>) и на экране появится диалог с приблизительно следующим содержимым:
Return-Path:
Delivered-To: aport-kpnc@aport.ru
Received: (qmail 69428 invoked from network); 3 Apr 2001 19:22:17 -0000
Received: from relay1.aport.ru ([194.67.18.127]) (envelope-sender <>)
by relay2.aport.ru
for <>; 3 Apr 2001 19:22:17 -0000
Delivered-To: CLUSTERHOST relay1.aport.ru aport-kpnc@aport.ru
Received: from unknown (HELO adm.sci-nnov.ru) ([195.122.226.2]) (envelope-sender
by mail.aport.ru
Received: (from majordom@localhost) by adm.sci-nnov.ru (8.9.3/Dmiter-4.1-AGK-0.5) id WAA36309; Tue, 3 Apr 2001 22:09:13 +0400 (MSD)
Received: from [195.122.226.40] by adm.sci-nnov.ru (8.9.3/Dmiter-4.1-AGK-0.5) with SMTP id WAA36304 for
Date: Tue, 3 Apr 2001 22:09:12 +0400 (MSD)
From: "SECURITY.NNOV"
Organization: http://www.security.nnov.ru
X-Mailer: 3APA3A news generator 1.0
X-Priority: 3 (Normal)
Message-ID: <10.9.22.03.04.01.general@security.nnov.ru>
To: General List
Comments: This message sent to list, send message to list-serv@security.nnov.ru
with 'unsubscribe general' command to unsubscribe.
Send 'Help' command for additional information.
Mime-Version: 1.0
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 8bit
Subject: оПЧПУФЙ 3 БРТЕМС 2001 З.
Sender: listserv@security.nnov.ru
Precedence: bulk
Reply-To: "SECURITY.NNOV"
Moreinfo: e-mail list-serv@security.nnov.ru with HELP command
Поля "Received" (в тексте они выделены жирным шрифтом) оставлены промежуточными узлами, через которые прошло письмо, причем самое верхнее их них принадлежит последнему серверу в цепочке, а самое нижнее, как правило, первому (подробнее это объяснено ниже).
Стандарт не оговаривает формат поля "Received" и различные сервера заполняют его по-своему. В общем случае оно должно содержать:
а) адрес самого сервера, получившего письмо;
б) адрес узла, передавшего письмо серверу;
в) дату и время.
Например, содержимое первого сверху поля "Received": "from unknown (HELO adm.sci-nnov.ru) ([195.122.226.2]) (envelope-sender
mail.aport.ru" обозначает следующее: сообщение было получено от (from) неизвестного (unknown) узла, идентифицировавшего себя как adm.sci-nnov.ru (но эта информация может быть поддельной) и обладающего IP-адресом 195.122.226.2 (а вот этому можно поверить – т.к. свой IP адрес подделать нелегко); сообщение принял (by) узел mail.aport.ru
(этому тоже можно верить).
Спускаясь вниз по цепочке полей "Received" можно восстановить маршрут доставки письма, в конце - концов узнав IP адрес его отправителя. Однако отправитель мог различными способами замаскировать свой адрес. Например, добавить несколько собственных полей "Received", заполненных им самостоятельно, выдавая тем самым себя за транзитный узел. В таком случае, последнее поле "Received" будет указывать на ни в чем не повинный сервер, не имеющий никого отношения к пересылке.
Гарантированно отличить подложные поля от настоящих невозможно, но, с другой стороны, далеко не всякий злоумышленник способен грамотно подделывать заголовки. Грубая подделка заголовка облегчает выявление фальсифицированных полей. Основные ошибки, по которым узнается подлог, следующие:
а) указанных злоумышленником имен (IP-адресов) серверов вообще не существует в природе;
б) стиль заполнения сервером поля “Received” отличается от используемого злоумышленником;
в) реальное время пересылки писем сервером на порядок ниже (или выше), чем это следует из заголовка письма.
Если отправитель вошел в сеть через модем (как часто и бывает), то, скорее всего, он обладает динамическим IP-адресом и на его компьютере не установлен почтовый сервер. Перебрав все IP-адреса, указанные в полях Received, необходимо найти тот, с которым невозможно установить соединение по протоколу SMTP. Такую проверку можно осуществить с помощью утилиты telnet, вызывая ее следующим образом: "telnet.exe Адрес узла SMTP".
Чаще всего модемные пользователи получают имена в начале которых строит либо их логин (например, kris.krintel.ru), либо "ppp" (например, ppp32.krintel.ru) – сокращение от Point to Point Protocol – протокол, подключения к сети через модем, либо же они вовсе не получают никаких имен. Правая часть имени (krintel.ru) содержит домен провайдера, а большинство провайдеров имеют свои web-странички (www.krintel.ru), посетив которые можно узнать их контактные телефоны или адреса электронной почты для связи. Остается всего лишь связаться и пожаловаться провайдеру на хулиганские выходы его клиента.
Родственные вопросы:
Как послать анонимное сообщение?
(следующий)
Как установить прямое кабельное соединение через USB-порт?
Перенести пару сотен мегабайт с настольного компьютера на Notebook – задача непростая, а если под рукой нет ни сети, ни пишущего CD-ROM, ни ZIP-драйва, ни даже захудалого стримера, – практически невыполнимая! Правда, самые смелые, не долго думая, развинчивают Notebook, вытаскивают винчестер и напрямую подключают его к настольному компьютеру. Как говорится – дешево и сердито, но рано или поздно такая операция заканчивается плачевно – или жесткий диск стукнут, припечатав головки к поверхности, или выведут его из строя неправильным подключением, или коснутся чувствительной микросхемы, забыв о статическом электричестве… наэлектризованной лапой… К тому же компьютеры могут быть на гарантии или просто владелец строго-настрого запретит их разбирать.Впрочем, существует такая штука как Direct Cable Connections – прямое кабельное соединение по параллельному или последовательному порту. Шнурок Direct Parallel ® {НЕПРАВИЛЬНОЕ НАЧЕРТАНИЕ R} Universal Fast Cable от Parallel Technology (www.lpt.com) развивает скорость до 3-6 мегабит в секунду (только не для впрочем, это не относится к кабельному соединению через Norton Commander – этот товарищ работает с портами через BIOS в стандартном режиме, и работает, надобно сказать, до жути тормозно), что вполне приемлемо для передачи больших объемов информации. Только, вот беда, – некоторые, между прочим, достаточно многие, современные Notebook-и из всех портов имеют один лишь порт USB. Эдакий образец слепого следования моде вопреки разуму – чем же так плох LPT и за что ему такая немилость?
А почему бы ни установить прямое кабельное соединение по USB-порту? Хорошо бы! Но как? Просто воткнуть кабель в оба компьютера не получится: тот USB, что засобачен в материнскую плату ("USB A"), неравноценен тому, что встроено в подключаемое устройство ("USB B"). Грубо – это как папа и мама, или, если угодно, – как клиент и сервер. Для соединения "папы" с "папой" необходим двухсторонний контроллер порта – мостовой адаптер, берущий на себя обязанности по заведующий идентификацииидентификацией
устройства ( каждое устройство, подключаемое по USB, должно сообщать компьютеру определенную информацию о себе) и содержащий некоторое количество оперативной памяти для буферизации передаваемых данных.
Подобные адаптеры кабельного соединения через USB-порт предлагаются многими несколькими фирмами и стоят от тридцати до семидесяти долларов. На удивление высокая цена для пары разъемов, куска провода и одной микросхемы. Не иначе как отсутствие конкуренции дает о себе знать!
На мой взгляд, самые совершенные (и самые дорогие!) адаптеры выпускает фирма Parallel Technology, известная в России своими интерфейсными кабелями
(см. "Какова максимальная скорость кабельного соединения?"). Весь программно–аппаратный комплекс для связи по USB распространяется по цене семьдесят баксов за штуку и состоит из трехметрового шнурка, гордо именуемого "Net-LinQ USB Connection Cable", и драйвера USB-Bridge адаптера, выдающего себя за сетевую карту, что обеспечивает полноценное сетевое соединение по любому протоколу на выбор: NetBEUI, TCP/IP, IPX/SPX и т.д. >>>>> Сноска 1 {Убрать см. сноску 1) (см. http://www.lpt.com/Products/NetLinqCable/netlinqcable.htm)
К слову сказать, OEM-версию "Net-LinQ USB Connection Cable" в отечественном магазине мне удалось приобрести всего за полста баксов, но без драйверов и следов присутствия документации. Ну, документацию заменил метод "тыка", а драйвера удалось скачать с сайта самой Parallel Technology – до недавнего времени к счастью они распространяются бесплатнораспространялись бесплатно, однако теперь политика фирмы изменились и бесплатно раздаются лишь обновления, а за драйвера приходится платить..
Скорость передачи (от ведущего компьютера – к ведомому) составляет 4 мегабита в секунду, а приема (от ведомого компьютера к ведущему) – целых 8 мегабит в секунду, что лишь чуть-чуть уступает десяти мегабитному Ethernet – красота!
Штатной длины кабеля – три метра – вполне достаточно для большинства случаев, но при необходимости она может быть увеличена до пятидесяти и более метров. К сожалению, таких шнурков в отечественных магазинах мне до сих пор не попадалось и, видимо, единственный путь их приобретения – заказ в самой Parallel Technology. Впрочем, нехитрым движением паяльника удлинить кабель можно и самостоятельно – во сто крат быстрее и за гораздо меньшую цену. Вопреки всем предупреждениям фирмы о возможном несогласовании сопротивления, затухании сигнала и т.д. и т.п. все работает благополучно, хотя скорость действительно упала процентов на 20%.


Рисунок 25 Рисунок . USB1.bmp USB2.bmp Net-LinQ USB Connection Cable. "Мыльница" посередине и есть USB Bridge адаптер. Картинка взята с сайта www.lpt.com
Адаптер "Smart Link" неизвестного мне производителя стоит в районе пятидесяти долларов, но не обеспечивает полноценного сетевого соединения, а позволяет лишь копировать файлы собственным менеджером {убрать "?"} до боли напоминающим "кастрированный" Windows Commander. Ни тебе совместного доступа к принтеру, ни возможности выхода в Интернет или локальную сеть через настольный компьютер, да и удобство работы с самим Link - менеджером оставляет желать лучшего.

Рисунок 26 Рисунок 0хE. Smart Link model DUT-2301 Картинка взята с сайта www.ixbt.ru
Итак, будем считать, что кабели и прилагаемая к ним дискета приобретены и лежат перед вами. Прежде чем их подключить необходимо на обоих компьютерах установить: клиента для сетей Microsoft ("Панель управления" à
"Сеть" à
"Добавить" à "Клиент" à "Microsoft" à
"Клиент для сетей Microsoft"), контроллер удаленного доступа ("Панель управления" à
"Сеть" à
"Добавить" à "Сетевая плата", "Microsoft", "Контролер удаленного доступа"), протоколы TCP/IP (автоматически добавляется после установки контроллера удаленного доступа) и NetBEUI
("Панель управления" à
"Сеть" à
"Добавить" à
"Протокол" à "NetBEUI"). Впрочем, как будет показано ниже, протокол NetBEUI совсем необязателен.
Теперь определитесь: какой из компьютеров будет играть роль ведомого, а какой – ведущего. В-принципе, компьютеры, соеденные по TCP/IP, полностью равноправны и могут свободно передавать пакеты в обе стороны. На любом
из них (а то и на оба сразу) можно установить любое серверное приложение (например, Personal Web Server), и работать с ним с другой стороны. Разница заключается лишь в том, что ведомый компьютер ожидает подключения, а ведущий устанавливает его, но не наоборот! Самостоятельно подключиться к ведущему компьютеру ведомый не может! Так же, ведомому компьютеру потребуется "Служба доступа к файлам и принтерам сетей Microsoft", содержащаяся в категории "Службы". На ведущий компьютер ее устанавливать не
надотребуется.
После того как необходимые компоненты установлены и роли между компьютерами распределены следует, как и предлагает Windows, перезагрузиться и запустить программу "setup.exe" с диска, прилагаемого к "Net-LinQ USB Connection Cable"-кабелю. Спустя секунду-другую под натужный скрежет головок на экране возникнет окно Мастера, требующего указать путь для копирования файлов, имя данного компьютера (хм, странно, - не уж-то так трудно определить его автоматически?), название рабочей группы (если она есть), и, наконец, подтверждения на установку сетевого USB-Bridge адаптера и USB-USB Bridge протокола. Ответив на все вопросы положительно (да ставь уж, чего ж тебя запускали?), по завершении установки еще один раз перезагрузитесь.
После перезагрузки воткните шнурки в компьютер: их автоматически опознает Plug and Pray и сконфигурирует USB Bridge соответствующим образом. После очередной перезагрузки (да сколько же можно?!) при старте системы появится окно Microsoft Network с требованием пароля на вход в систему. Введите пароль и откройте "Сетевое окружение" – если все работает правильно, там должен видеться соседний компьютер.
Если же там его нет, причина, скорее всего в том, что ведомый компьютер работает под управлением Windows 9x, а ведущий – Windows NT (Windows 2000). А "подружить" их не так-то просто! С точки зрения Windows 2000 ее младшая сестра, Windows 9x, использует уязвимый протокол аутентификации, который Windows 2000 по умолчанию запрещает. О том, как его разрешить, рассказывает совет "Как соединить Windows 9x с Windows 2000". Если это не поможет, то либо что-то неладно с настройками BIOS – проверите: действительно ли USB-порт enabled и Plug and Play allowed, либо имеет место конфликт с сетевой картой, – в очень редких случаях приходится ее отключать в конфигурации оборудования. Еще одна возможная причина – образование изгибов, барашков и узлов на USB-кабеле – к этому он очень чувствителен.
Работает? Вот и хорошо! Запустите FAR и скомандуйте ему – "CD \\ИмяКомпьютера\\ИмяЗашаренногоРесурса" – содержимое ресурса должно немедленно появиться в текущей панели. Разумеется, с удаленным компьютером можно работать и с помощью "Проводника" Windows – это кому как удобно. Хорошая мысль – поставить на ведомый компьютер какой-нибудь простенький ftp-сервер. Работая на TCP, он освобождает от необходимости использования протокола NetBEUI и "зашаривания" ресурсов. (Ляпы реализации NetBEUI и техника атак на зашаренные ресурсы – тема другого разговора, здесь же достаточно сказать, что отказ от NetBEUI – лучше средство от головной боли и отличная превентивная мера защиты).
Как бы ни было хорошо прямое кабельное USB-соединение, у него, по сравнению с соединением через параллельный порт, есть один существенный недостаток: оно работает исключительно под Microsoft Windows и несильно выручает, если на девственно-чистом диске Notebook-а стоит одна лишь MS-DOS (как часто и бывает). Что же делать?!
Вариант первый: ждать-с! Фирма Parallel Technology в скором будущем обещает выложить полную спецификации USB-USB Bridge протокола. Тогда независимые программисты смогут разрабатывать свои собственные драйвера, работающие в том числе и под управлением MS-DOS. В том, что такие появятся, сомневаться не приходится, – слишком уж многим приходится сталкиваться с проблемой кабельного соединения через USB-порт под голой MS-DOS. Вот только ждать у моря погоды – как-то некузяво. Когда такие драйвера появятся – неизвестно. Может быть не один год пройдет, а информацию на Notebook необходимо перекачать именно сейчас! Тогда…
…вариант второй: перенесите на Notebook Windows 95 OSR 2.1 в минимальной конфигурации с помощью дискет. Выкидывая все ненужное, можно втиснуть минимально работающий "остов" всего в десяток-полтора мегабайт, на что уйдет меньше пачки дискет. Много, конечно, но в принципе терпимо. Обратите внимание: это должна быть именно Windows 95 OSR 2.1! Более ранние версии еще не поддерживали USB, а более поздние занимают слишком много места и с трудом поддаются урезанию.
За сим все. Если в процессе связывания компьютеров возникнут вопросы, посетите сайт http://www.helmig.com/, довольно подробно описывающий коммуникационные возможности Windows, в том числе и творения сторонних разработчиков, или обратитесь к самой Parallel Technology, проживающей на www.lpt.com.
Родственные вопросы:
Как соединить Windows 9x с Windows 2000
Как соединить компьютеры через инфракрасный порт?
(следующий)
Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?
Провайдеры, заботящиеся о своих пользователях, предоставляют им доступ к серверу статистики – зайдя на который можно оперативно посмотреть сколько вы пробыли в сети и когда именно – с указанием времени и продолжительности захода. Изучив этот протокол, остается только сверить его с реальным положением дел – конечно, если вы помните все свои заходы в сеть. А не помните – не беда! (см. "Интернет общие вопросы à Какой программой можно вести учет времени, проведенного в Интернет")."Горящий" признак похищения пароля – внушительная величина счета, выставленного провайдером (если, кончено, злоумышленник, похитивший пароль, потерял всякую совесть), а так же – невозможность входа в сеть (многие, но не все, провайдеры запрещают использование одного логина двумя и более пользователями одновременно). Это хороший повод для тщательной сверки логов!
Если расхождение подтвердится (проверьте еще раз – не выходил ли в сеть кто-нибудь из ваших домашних не поставив вас в известность, и не выходили ли вы сами, напрочь потом забыв об этом!) сообщите провайдеру и попросите помочь. Платить по счету, скорее всего, все-таки придется (хотя, добрые провайдеры иногда идут навстречу своим клиентам), но провайдер может с помощью АОН или, связавшись с работниками АТС, отследить последующие выходы злоумышленника в сеть, а после – послать для нравоучительной беседы бригаду каратистов быстрого реагирования или же передать вора соответствующим органам. Иногда провайдеры отдают злоумышленника на растерзание самим же пострадавшим пользователям. Говорят, что разъяренных пользователей злоумышленники боятся больше, чем сотрудников милиции.
Родственные вопросы:
Интернет общие вопросы à Какой программой можно вести учет времени, проведенного в Интернет
Как восстановить письмо, испорченное двойной перекодировкой без помощи подручных средств?
Иногда приходят письма с бессмысленной абракадаброй, некорректно отображающейся во всех кодировках. Что-то наподобие "оПХБЕР, лХП!" в Windows-1251 и "Ноуаеп, Куо!" в KOI?8R. Похоже, сообщение подверглось двойной перекодировке. Как это могло произойти?Исходный текст был набран в кодировке Windows-1251 и выглядел так: "Привет, Мир!", но сервер по причине своей кривизны ошибочно принял его за KOI-8R и перекодировал в Windows-1251. Получилось "оПХБЕР, лХП!" и в таком виде письмо и было доставлено получателю.
Если в почтовом клиенте сменить кодировку на KOI-8R, то текст исказиться еще больше - "Ноуаеп, Куо!", что неудивительно, т.к. необходимо, наоборот, перекодировать полученное письмо обратно на Windows-1251, но оно уже в Windows-1251, и перекодировать кодировку саму в себя почтовый клиент не может! Для выполнения такой операции существуют специальные программы, но по закону "бутерброда" в нужный момент их может не оказаться под рукой. Что делать?
На помощь приходит сам почтовый клиент. Создаем новое сообщение, выбираем кодировку "KOI-8R", копируем в него исходный текст испорченного письма и… отправляем сообщение самому себе! (В Outlook Express его достаточно поместить в папку "Черновики", что можно сделать нажатием <Ctrl-S> во время редактирования письма). Затем открываем его и выбираем кодировку – "Windows-1251". Если все сделано правильно, должно получиться следующее: "Привет, Мир!"
На практике некоторые письма, в ходе их доставки, могут оказаться перекодированными более двух раз! Соответственно, операцию восстановления придется выполнять столько же раз. Единственная проблема – распознать последовательность кодировок при преобразовании. Опытные пользователи могут распознать ее на глаз, а новичкам, скорее всего, придется довериться методу перебора.
Как заставить клиента купить лицензионную копию ПО?
Законов, по которым было бы можно привлечь к ответственности физическое лицо, использующее нелегальное программное обеспечение в нашей стране не существует. С юридическими лицами в этом плане несколько легче, но удовлетворенные судебные иски все же очень редки. Разработчикам остается полагаться лишь на стойкость защитных механизмов, препятствующих несанкционированному копированию, да совесть пользователей, понимающих, что пиратство, в конечном счете, оборачивается против них. Но нет такой защиты, которую нельзя было бы взломать, а своя рубашка всегда ближе к телу – программное обеспечение воровали, воруют и будут воровать!Придется идти на хитрость. Защита должна быть полностью интегрирована с программой, как бы "размазана" по ней и иметь, по крайней мере, два уровня обороны: на первом – блокирование работы, а на втором – искажение результата, выдаваемого программой. Взломщик легко нейтрализует блокировку, но вот дальше его будет ждать сюрприз – придется тщательно проанализировать весь код программы, полностью
разобраться с логикой ее работы, но даже тогда нельзя быть уверенным, что в какой-то момент программа не сделает из чисел "винегрет". В результате, у пользователя взломанная программа будет работать нестабильно, например, выводить на экран один цифры, а на принтер – другие. Вероятнее всего, большинство не будут искать хороший "кряк", а приобретут лицензионную копию.
На всякий случай можно затруднить поиски хорошего "кряка", наводнив хакерские сайты специально изготовленными низкокачественными "ломками", написанными самим же автором программы. Такая тактика особенно характерна для разработчиков бухгалтерских пакетов, т.к. рядовой хакер не слишком осведомлен в тонкостях дебита и кредита, а, потому, проверить корректность работы такой программы не может.
Как заставить клиента купить новую версию ПО?
Не секрет: чаще всего свежие версии ПО устанавливаются не ради новых функциональных особенностей, а в надежде, что большинство (или хотя бы основные) ошибки старых версий были устранены.Так сделаем же превосходный маркетинговый ход! Допускаем (не обязательно умышленно) в каждой версии некоторое количество не смертельных ошибок; исправляем их в следующей версии, попутно внося свежие ляпы, и… потребитель приобретет такой продукт без конца.
Эту тактику, даже не стараясь замаскировать, взяли на вооружение практически все крупные и мелкие компании. И не безуспешно! Например, скажите: какое основное качество Windows 98? Правильно, не считая красивых бирюлек и мелких несущественных доделок ядра (о которых не всякий рядовой пользователь и знает), основное отличие от Windows 95 – надежность. А какое основное качество Windows Me? Вот, вот, - аналогично!
Наивно думать, что ошибки в ПО приносят убыток компании. Напротив, они оборачиваются выгодой, порой весьма значительной. Тщательное же "вылизывание" продукта чрезвычайно невыгодно. Это не только лишние затраты на beta-тестеров, но и отсрочка выхода программы на рынок – прямая угроза его захвата конкурентами.
Попутно – пусть новая версия сохраняет документы в формате, не поддерживаемом прежними версиями программы. Если хотя бы один – два процента пользователей установят новый продукт на свои компьютеры, начнется цепная реакция – всем остальным придется переходить на нее не в силу каких-то особенных достоинств, а из-за необходимости читать документы, созданные другими пользователями.
Именно так и поступила Microsoft со своим Word 7.0, документы которого не читались младшими версиями. Официальная тому причина – переход на UNICODE-кодировку с целью обеспечения многоязыковой поддержки. Но неужто ради этого стоило отказываться от совместимости? Разработчики предлагали встраивать в документ макрос, который, будучи запущен на Word 6.0, автоматически бы конвертировал текст. Так ведь нет! Выпустили отдельный конвертор, о существовании которого до сих пор знают не все пользователи. Сдается, что причина такого решения ни в чем ином, как в принудительном навязывании пользователям нового Word 7.0
Как заставить Personal WEB Server запускать Perl-скрипты?
При установке Personal WEB-Server многие сталкиваются со следующей проблемой: Perl-скрипты не запускаются, а "вываливают" в окно браузера свое содержимое! Как быть?Вызовете "Редактор реестра" и найдите ветвь "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parametrs\ScriptMap". Теперь добавьте параметр (не раздел) ".pl" типа "строка" и присвойте ей значение "Полный путь к исполняемому файлу web-сервера %s %s".
Перезапустите WEB-сервер. Теперь все должно заработать!
Как заставить работать ICQ через Proxy или firewall?
Нажмите кнопку "ICQ" и в появившемся меню выберите пункт "Preferences" (предпочтения), затем в открывшемся диалоговом окне перейдите к закладке "Connection" (подключение). В секции "Internet connection Type" (тип соединения с Интернет) нажмите кнопку "Firewall Settings" ("Настройки Firewall и Proxy-сервера" – о Proxy ничего не говорится, видимо, разработчики полагали, что пользователи, не обделенные даром ясновидения, об этом догадаются самостоятельно). Если же она заблокирована – проделайте следующие шаманские манипуляции: переместите радио кнопку в положение "I'm using a permanent internet connection (LAN)" (Я использую постоянное соединение с Интернет типа локальной сети) даже в том случае, если выходите в сеть через модем. Это необходимо для того, чтобы разблокировать два следующих пункта, указывающие выходите ли вы в сеть через Proxy (Firewall) или соединены напрямую, минуя оные. Переместите радио кнопку в положение "I am behind a firewall or proxy" ("Моя сидеть за Firewall или Proxy" – явно чувствуется иностранный акцент разработчиков) – это разблокирует кнопку "Firewall Setting". Теперь можно вернуть тип Интернет - соединения на подключение через модем (если вы действительно выходите через модем), переместив радио кнопку в положение "I'm using a modem (or any other dial-up device)" ("Я использую модем или другое диалапное устройство") – пункты выбора "Firewall или не Firewall" тут же поблекнут, но кнопка "Firewall Setting" останется гореть ярким пламенем – нажмите ее! (Руки разработчиков растут из того места, которым они думают).Появится диалог "ICQ Firewall Setting Wizard" – мастера настройки подключения через Firewall или Proxy-сервер. Текст, выведенный мастером, в переводе гласит следующее: "Пожалуйста, проконсультируйтесь у вашего сетевого администратора касательно настроек Firewall-а/Proxy-сервера". А именно – установлен ли Proxy-сервер и если да то какой: SOCKS 4, SOCKS 5 или какой-то другой? Каково доменное имя (IP-адрес) Proxy-сервера, номер порта, требуется ли авторизация и если да, то попросите сообщить вам имя и пароль. Спросите так же установлен ли Firewall? Если да, попросите уточнить какие порты на нем открыты и какие протоколы разрешены: (UDP, TCP)? Уф… сколько всего!
Только не удивляйтесь, если лицо администратора примет выражение тигра под хвост которому залетел шмель и будьте готовы принять на себя все громы и молнии, а так же землетрясение, потоп, ураган и цунами – все сразу. Ой, как не любят администраторы ICQ! И на то есть веские причины! Программа с закрытой спецификацией протокола, множеством ошибок и дыр, да к тому же наследующая все привилегии запустившего его пользователя – "золотой ключ" любого хакера, вознамерившегося проникнуть в локальную сеть сквозь крепостную стену Firewall-а. Разрешать использование ICQ может либо бестолковый, либо наплевательски относящийся к безопасности администратор. Впрочем, кто не рискует…
Итак, будем считать, администратор не препятствует использованию "Яськи" и сообщает вам все необходимые сведения о настройке Firewall (Proxy-сервера). Указываем тип Proxy сервера – SOCKS 4 или SOCKS 5, переводя радио кнопку в соответствующее положение – "I am using a SOCKS 5 proxy server" или "I am using a SOCKS 5 proxy server" соответственно. Положение "I don’t use a SOCKS Proxy server on my firewall or I am using another Proxy server" ("Моя не использует SOCKS Proxy сервер на моем firewall или моя использует другой – надо полагать тип – Proxy сервера") следует выбрать если ваша локальная сеть ограждена по периметру Firewall-ом или выход в Интернет осуществляется через Proxy-сервер другого типа (интересно бы знать какого? Через типовой шлюз уровня приложений ICQ работать явно не будет – ей подавай нечто специфичное).
Настройка Firewall-а. Пейджер ICQ использует для своих нужд оба транспортных протокола – и TCP (транспортный протокол с постоянной установкой соединений), и UDP (транспортный протокол без установки соединения поддерживающий лишь посылку и получение дейтаграмм). На Firewall-е должны быть открыты следующие порты: UDP порт номер 4000 для исходящих дейтаграмм и по возможности все TCP-порты для входящих пакетов (хорошая идея – запечатлеть лицо администратора в том момент, когда его просят открыть все порты для входящих соединений – это все равно что в подъемном мосту, защищающим вход в крепость, поделать отверстие размером с сам мост). Впрочем, потребности в диапазоне портов можно и ограничить – чтобы умерить "Аськин" аппетит необходимо в графе "TCP Prot Allocation" ("Выделение TCP-портов") переместить радио копку с положения "Use dynamically allocated port numbers" ("Использовать динамическое выделение номеров портов") в котором она находилась по умолчанию, в положение "Use the following TCP listen ports for incoming event" ("Использовать следующие номера TCP-портов для установки сервера, ожидающего приема входящих сообщений") – это приведет к разблокированию двух окон ввода, задающих наименьший ("From") и наибольший ("to") номера допустимых портов – по умолчанию 2000 и 4000 соответственно. Диапазон портов следует выбирать согласно величине вашего контактного списка – для каждого абонента, с которым установлено соединение (то есть, попросту говоря, идет обмен сообщениями) необходим один порт. Т.е. в большинстве случаев пары десятков портов с лихвой хватит. При желании можно вообще избежать открытия портов на Firewall – вместо этого администратор может сделать mapping (см. "subQ:Что такое TCP/UDP mapping?") – впрочем, такой трюк не сильно повышает безопасность…
Настройка SOCKS 4 Proxy сервера: в строке "SOCKS 4 Host" ("узел SOCKS 4") графы "SOCKS 4 Server" ("SOCKS 4 Сервер") укажите адрес своего Proxy-сервера, а строчкой ниже – номер порта (по умолчанию 1080). Если значение по умолчанию не действует, уточните номер порта у администратора сети. Это лучше сделать сразу, поскольку, все равно к администратору придется обращаться с просьбой установки mapping-а (см. "subQ:Что такое TCP/UDP mapping?") – SOCKS 4 Proxy сервер не может "проксить" UDP-протокол, который необходим ICQ для работы, и его mapping приходится настраивать самостоятельно, переправляя все обращения на сервер mirablis.com по 4000 порту. Номер внутреннего порта администратор назначает самостоятельно и он может быть любым – не обязательно 4000.
Настройка SOCK 5 Proxy сервера: в строке "SOCKS 5 Host" ("узел SOCKS 5") графы "SOCKS 5 Server" ("SOCKS 5 Сервер") укажите адрес своего Proxy-сервера, а строчкой ниже – номер порта (по умолчанию 1080). Если сервер требует обязательной авторизации (это можно уточнить у администратора сети) взведите галочку "Use RFC 1929 (Cleartext) authentication for SOCKS" (Использовать открытый пароль для SOCKS аутентификации, согласно спецификации RFC 1929) – это приведет к разблокированию полей "SOCKS 5 Username" ("Имя пользователя для входа на SOCKS сервер") и "SOCKS 5 Password" ("Пароль для входа на SOCKS 5 сервер") в которые следует занести имя пользователя и пароль соответственно. Вполне возможно, придется бежать в ближайший магазин за пол-литрой для умасливания администратора – те страсть как не любят разрешать открытую передачу пароля по сети, а более изощренные способы аутентификации с зашифрованным паролем ICQ не понимает.
Родственные вопросы:
subQ:Что такое TCP/UDP mapping?
Как заставить работать такое-то приложение через Proxy-сервер?
Работа через SOCKS Proxy-сервер (см. "Что такое Proxy-сервер и как с ним работать?") не требует никаких особенных настроек за исключением установки SOCKS Proxy-клиента, – специальной программы, выдаваемой провайдером (администратором) вместе с подробными инструкциями по установке.Однако Proxy не поддерживает входящие соединения (попросту говоря, не разрешает серверу соединится с клиентом), и все приложения, нуждающиеся во входящих подключениях, отказываются функционировать. К их числу относятся: клиенты ftp (см. "Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?"), Интернет-пейджер ICQ и другие программы (см. "Как заставить работать ICQ через Proxy или firewall?")
Со шлюзами уровня приложений все гораздо сложнее: через http- или ftp-Proxy могут работать лишь приложения, явно предусматривающие такую возможность. Ряд программ, например, почтовые клиенты, вообще не могут работать через шлюзы уровня приложений и пользователи вынуждены отказываться от их использования, выбирая альтернативный сервис, доступный через web, а, если по каким-то причинам это невозможно, – сушите весла лаптями в сторону.
Ниже будет показано как настроить три популярных приложения ReGet, Internet Explorer и Teleport Pro для работы через http Proxy сервер. О настройке других приложений можно узнать из прилагаемой к ним документации
Какая операционная система самая надежная?
Из всех операционных систем семейства Windows, наиболее защищенной на сегодняшний день считается Windows 2000 со всеми установленными заплатками (см. "В чем преимущества Windows 2000 по сравнению с 9x\Me?"). Она основана на коде Windows NT – системы, во главу угла которой изначально ставились именно безопасность, надежность и отказоустойчивость, а потом уже все остальное, включая быстродействие и требование к аппаратуре.С большим отрывом за NT следуют Windows Me и Windows 98, основанные на коде Windows 3.0 – сильно перелопаченном, конечно, но так и не избавившегося от своих родимых пятен и природной кривизны. Эти системы изначально ориентированы на массового непривередливого пользователя, идущего под знаменем "скорость, скорость, скорость, пускай и в ущерб надежности". Впрочем, по некоторым оценкам, именно Windows 98 SE (вторая редакция) – самая надежная на сегодняшний день система, а вовсе не Windows 2000.
Автор внимательно исследовал обе и должен сказать – дыры, баги и ошибки в изобилии присутствуют и в той, и в другой. Надежность Windows 2000 все же ощутимо выше, но только с установленными обновлениями – по крайней мере требуется Service Pack 1, автоматически загружаемый с сайта Microsoft нажатием "Пуск" à
"Windows Update". Это много-много мегабайтовый файл, но его перекачка стоит потраченных средств – девственно чистая инсталляция Windows 2000 с дистрибьютивного диска дырявее, чем ведро без дна и может быть атакована даже начинающими хакерами!
Куда плачевнее обстоит дело с Windows 95 (если кто-то на ней до сих пор работает) – эта операционная система представляет собой сплошную дыру и удивительно как она вообще ухитряется работать!
Бытует мнение, что клоны UNIX (в частности LINUX) защищены очень хорошо и непреступны для злоумышленников какой бы высокой ни была их квалификация. Да, LINUX кое в чем лучше наспех тестированной продукции Microsoft, но и у нее есть свои проблемы. Миф о безглючности LINUX – это только всего лишь миф. Даже с учетом его малой распространенности, значительно уступающей системам от Microsoft, LINUX ломают не реже, а ошибки в ней всплывают даже чаще, чем в Windows – вот такие тут дела!
"Защищенность" операционных систем понятие эфемерное – это как надежность банка: банк остается надежным пока не лопнет.
Родственные вопросы:
В чем преимущества Windows 2000 по сравнению с 9x\Me?
Какие почтовые вложения безопасны?
Гарантировать безопасность вложения, даже если оно представляет обычный текстовой файл, не возьмется ни один специалист. Во всяком случае, голову на отсечение не даст – ну разве что палец (см. "Можно ли чувствовать себя в безопасности, если не запускать никаких файлов, полученных их сети?").Скажем так: если вложение не опасно, то оно безопасно. Это вовсе не шутка и не дурацкий каламбур! Существует ряд формальных признаков по которым можно распознать опасность вложения (и не только его), но обратных признаков не существует. Можно провести следующую аналогию – преступника, пойманного с поличным, отличить от честного человека очень легко, а вот попробуй-ка определить честен человек или нет, если он еще не "засветился"! Вот точно так и с компьютерами…
Ниже приведен краткий перечень потенциально опасных типов вложений (перечисленных в порядке убывания опасности) открывать которые можно только в случае абсолютного доверия приславшему их лицу (и считаясь с возможностью фальсификации адреса отправился "Секреты почты à Как установить подлинный адрес отправителя письма?"):
– исполняемые:
файлы приложений (расширение *.exe, *.com);
командные файлы (расширение *.bat, *.cmd);
информационные файлы оболочек (расширение *.lnk, *.pif).
– сценарии:
Java-скрипты (расширение *.js или *.jse);
Visual Basic-скрипты (расширение *.vbs или *.vbe);
Perl-скрипты (расширение *.pls {>>>>> сноска не путать с Perl-приложениями, имеющими расширение *.pl и требующими наличие интерпретатора Perl для запуска; Perl-скрипты поддерживаются самим браузером};
Windows – скрипты ( расширение *.sct или *.wsc);
– импорт реестра (расширение *.reg или *.key);
– настройки удаленного доступа (расширение *.dun или *.rnk);
– chm-файлы помощи Windows (расширение *.chm);
– задания планировщика - (расширение *.job);
– файлы групп (расширение *.grp);
– компоненты панели управления (расширение *.cpl);
– хранители экрана (расширение *.scr);
– документы:
файлы Word (расширения *.doc или *dot или *.wbk или *.dothtml или …);
файлы Excel (расширение *.xls или *.xlw);
…и многие-многие другие – всех перечислить невозможно!
На рисунке 14 показано как по умолчанию выглядят иконки наиболее опасных типов файлов. Однако многие из них могут содержать в себе свои собственные иконки, перекрывающие изображения по умолчанию – никогда не забывайте проверить расширение! (Чтобы заставить "Проводника" Windows всегда отображать расширения файлов сбросьте галочку "Скрывать расширения для зарегистрированных типов файлов" в свойствах папки, доступных через меню "Сервис à
Свойства папки à Вид")

{К РИСУНКУ: убрать серый фон рисунка}
Рисунок 14 Рисунок 0x001 Типовые иконки некоторых потенциально опасных вложений
При определении типа вложения следует учитывать, что почтовые программы могут не полностью отображать слишком длинные имена файлов вложений и имя "моя фотография.jpg (много пробелов).exe" будет выглядеть "невинной овечкой". Распознать обман очень просто – достаточно сохранить файл на диск и подвести к нему курсор – "Проводник" Windows покажет его подлинное имя. Более короткие пути, упоминающиеся в некоторых руководствах, не столь универсальны и не всегда дают ожидаемый результат.
Родственные вопросы:
Секреты почты à Как установить подлинный адрес отправителя письма?
Можно ли чувствовать себя в безопасности, если не запускать никаких файлов, полученных их сети?
Какие ресурсы Интернет наиболее безопасны?
Откуда бы ни был получен файл – никаких гарантий его безопасности нет – даже если он был "слит" с сервера компании Microsoft или аналогичного ей гиганта компьютерной индустрии. Сервер компании вполне мог быть атакован и "честный" файл заменен зловредной программой; мог быть атакован и один из промежуточных Интернет-узлов для перенаправления запросов к www.microsoft.com на заранее подделанный сайт, с вирусной начинкой; да и в самой компании мог завесить вредитель – обиженный на свое начальство сотрудник…Впрочем, подцепить заразу с сервера Microsoft и подобных ей корпораций так же невероятно, как оказаться под некстати упавшим сверху балконом. Содержимое серверов фирм среднего звена еще безопаснее – т.к. такие фирмы заботятся о незапятности собственной репутации куда ревностнее транс корпораций, которым все ни по чем. К тому же, чем крупнее корпорация, тем ей труднее уследить за всеми своими сотрудниками.
В общем, скачивать продукцию непосредственно с серверов фирм-производителей вполне безопасно. Другое дело "софтверные" сервера (типа www.download.ru), распространяющие чужую продукцию – они, за редкими исключениями, не могут поручиться за чистоту программного обеспечения, предоставленного им третьими лицами. В лучшем случае – проверяют все программы на вирусы, но эта мера спасает лишь от старых, уже известных вирусов, но совершенно бессильна против новых "насекомых" и "закладок" – секретных функций программы, заложенных ее разработчиком для причинения ущерба пользователям оной. Еще рискованнее качать софт кустарного производства с чьих-то домашних страничек – даже если его создатель и в мыслях не держал ничего дурного кривизна его рук, обильно сдобренная непрофессионализмом, могут запортить систему почище любого вируса.
Волков бояться – в лес не ходить, но как же трудно провести грань между вирусофобией и разумной осторожностью!
Какие сервера бесплатно предоставляют право исполнения cgi?
Вообще-то, за право выполнить cgi нужно платить, да еще и зарегистрироваться так, чтобы в случае чего администратор мог вас найти и надавать по ушам. Ведь, имея такой доступ к системе, можно сделать очень и очень много плохого. Кому это понравится?Но, тем не менее, в Интернете есть все! И даже "добрые" администраторы, щедро раздающие такой доступ на халяву! Что бы их найти, достаточно набить в любом поисковике запрос типа “CGI+Free+Perl” или использовать один серверов, предложенных ниже.
| Сервер | Комментарий | ||
| VirtualAve. | Дает под страничку 20 mb, доступ к cgi-bin, и разрешает выполнять Perl-скрипты. Предоставляет домен третьего уровня, то есть вы получите что-то наподобие: http://yourname.virtualave.net. Разрешает закачку по ftp, однако имя ftp-сервера выглядит иначе. Внимательно читайте инструкцию! По мнению автора – пока лучший из всей категории. Реклама – выпрыгивающий баннер. Недостатки: мучительно долгая регистрация в системе. Необходимо ждать целые сутки, прежде чем вам откроют аккаунт. К тому же скорость не самая лучшая из возможных. | ||
| Hypermart{<<<вырвавнять по вертикали} | Дает под страничку 10 мегабайт, право исполнения Perl скриптов и разрешает почтовую рассылку. Очень надоедает своими баннерами, зато это один из старейших сервисов и его скоро не прикроют. Предоставляет возможность создания собственной ньюс-конференции. Дает домен третьего уровня типа http://yourname.hypermart.net. Впрочем, домен регистрируется в течение нескольких часов, но доступ типа http://server26.hypermart.net/yourname появляется тут же. Заливка сайта – по ftp. Правда есть одно, но: чтобы получить доступ, необходимо ввести код подтверждения, высылаемый вам на е-майл. Вот тут вся и загвоздка – все бесплатные и часть платных российских е-майлы, таких как zmail.ru и telemednet.ru – начисто отметаются сервером! Поэтому придется извращаться и где-то искать платный ящик или иметь договоренность с его автором, на изыску писем. | ||
| Webjump. {<<<вырвавнять по вертикали} | Обещает 25 мегабайт и доступ к cgi-bin, но очень часто его (доступ) вырубает на случайное время, да и Perl какой-то кривой стоит, часто проблемы с исполнением скриптов. Дает домен третьего уровня но зато чрезмерно злоупотребляет банерами. | ||
| Prohosting{<<<вырвавнять по вертикали} | Довольно неплохой сервер, быстрый и приятный. Регистрирует ваш домен в течение четырех часов. Но никаких дополнительных сервисов тут нет. | ||
| http://www.justfree.com{<<<вырвавнять по вертикали} | Дает доступ к cgi-bin и Шеллу (об этом подробнее см "Разное à Что такое telnet и как с ним работать?"). Очень тормозит, но это один из очень немногих серверов, дающий бесплатный Шелл, так что придется с этим примириться. |
Таблица 5 популярные сервера, предоставляющие право бесплатного исполнения cgi
Родственные вопросы:
Как разместить скрипт на сервере?
http://sesna.kharkiv.org/freeall/page/old.shtml
Разное à
Что такое telnet и как с ним работать?
Какие существуют способы ускорения
Все способы ускорения загрузки информации из Интернета можно разделить на три категории – кэшируюшие Proxy-сервера, оптимизаторы TCP/IP-соединений, и способы, специфичные для конкретных приложений.::Proxy-сервера -
скорость обмена со многими серверами заметно ниже скорости модемного соединения с провайдером, а то и вовсе близка к нулю. Порой огонек модема едва мигает, полумертвый индикатор прогресса почти не шевелится, а время – идет! А вместе с ним уходят и деньги. Кто виноват? – Какой-то из узлов перегружен и не успевает обслужить всех клиентов одновременно. В результате – каждый из них вынужден какое-то время бездействовать, томительно ожидая своей очереди.
Для борьбы с этим провайдеры устанавливают собственные Proxy-сервера, перехватывающие запрос клиента и обращающиеся к удаленному узлу самостоятельно. Поскольку Proxy-сервера соединены с Интернетом "толстыми" каналами, их производительность многократно превосходит скорость модемного подключения, за счет чего происходит сглаживание простоев удаленного сервера.
Однако если удаленный сервер подсоединен к Интернету через низкоскоростное соединение (так, множество некоммерческих узлов для подключения к сети используют модем на жалкие 28-33 килобитод), то никакой Proxy не спасет положение, - удаленный сервер просто не обеспечит надлежащей скорости, особенно если на него наваляится толпа пользователей. Бесполезен Proxy-сервер и в том случае, если он перегружен или скорость соединения с ним не намного выше скорости соединения с остальными узлами Интернет. С серверами провайдера такое случается редко (на то провайдеры и ставят Proxy, чтобы они увеличивали скорость), но часто наблюдается при использовании бесплатных Proxy-серверов.
Впрочем, и такие сервера в некоторых ситуациях оказываются полезными, - большинство провайдеров (или провайдеров провайдера) не всегда обеспечивают оптимальное соединение между двумя узлами, и пакеты движутся обходным, порой очень длинным, путем, надолго застревая в узких проходах. Например, один из провайдеров автора, – krintel, – крайне паршиво соединяется с американскими серверами, но при подключении к некоторым японским и бельгийским сайтам демонстрирует чудеса производительности ("чудеса" – это порядка шестисот – восьмисот байт в секунду, что для пользователей krintel-а очень круто). Используя быстрый японский (или бельгийский) Proxy можно значительно увеличить скорость обмена и всеми остальными серверами мира, причем бесплатно! (см. "Интернет. Общие вопросы à Как заставить работать такое-то приложение через Proxy-сервер?")
Грамотный выбор Proxy- сервера способен повысить производительность Интернет – соединения в несколько раз!
::оптимизаторы TCP/IP соединений – "всего лишь" подгоняют сетевые настройки компьютера клиента под конкретного провайдера. Значения, прописанные в Windows по умолчанию, рассчитаны на быстрых провайдеров, и не оптимальны в условиях российских глубинок. Подробнее об этом см. "Оптимизация соединения с Интернет", "Описание утилиты MTUSpeed".
В зависимости от ситуации, оптимизация TCP/IP соединения дает прирост от 60% до 200%.
::способы, специфичные для конкретных приложений –
помимо этого существует множество способ увеличения скорости, специфичных для конкретных приложений, например, для WEB актуальны "баннерорезки", блокирующие загрузку баннеров, для форумов и групп новостей – упаковка содержимого конференции перед отправкой и так далее – всего не перечислишь!
Родственные вопросы:
Описание утилиты MTUSpeed
Оптимизация соединения с Интернет
Интернет. Общие вопросы à Что такое Proxy-сервер и как с ним работать?
Интернет. Общие вопросы à Как заставить работать такое-то приложение через Proxy-сервер?
Какие существуют способы заблокировать
Все существующие способы блокировки корреспонденции от нежелательных абонентов делятся на две категории: серверные решения и клиентские.Какое сжатие данных лучше – программное или аппаратное?
Однозначно ответить на этот вопрос невозможно – все зависит от алгоритмов сжатия и рода передаваемых данных. Так, уже упакованные файлы (zip, arj), повторно сжимать бесполезно и аппаратное, и программное сжатие будет одинаково неэффективны.В общем случае программное сжатие в той или иной степени лучше аппаратного за счет возможности использования буфера большего размера и более быстрого процессора. Однако разработчики модемов не дремлют – наращивают объемы памяти и совершенствуют алгоритмы. Поэтому, выяснить какое сжатие лучше – программное или аппаратное можно только экспериментально.
Причем, использование обоих типов сжатия одновременно обычно дает худший результат, чем самое плохое из них по отдельности!
Какой антивирус лучше всех?
Изобилие антивирусов ставит пользователя в позу Буриданова осла (по легенде был такой осел, который, стоя на одинаковом расстоянии от двух равных кучек сена, умер с голоду, так и не успев выбрать с какой же из них следует начать трапезу). Пользователю, конечно, голодная смерть не грозит. Однако приобретение широко разрекламированного, но никудышного по качеству антивируса – ничуть не лучше.Помогать читателю в выборе антивируса – занятие неблагодарное и очень рискованное. Фактически автор берет на себя ответственность за сам антивирус и его разработчиков. Случись вдруг что – автор будет первым виноват. Нет уж! Пускай каждый делает свой выбор самостоятельно! А вот дать несколько советов – дело другое…
В первую очередь следует обращать внимание не на количество распознаваемых вирусов (которое вообще ни о чем не говорит), а на оперативность обновления антивирусных баз и качество детектирования.
В оперативности (или ее отсутствии) убедиться не сложно, а как определить качество детектирования? Для этого достаточно скачать по сети или приобрести на компакт-диске коллекцию живых вирусов (такие диски сейчас продаются буквально на каждом углу) и "натравить" на нее антивирус. Процент верных "попаданий" и определит верхнюю границу качества тестирования.
К слову сказать, вовсе не обязательно приобретать полный антивирусный пакет – большинство производителей бесплатно распространяют усеченную версию, отличающуюся от коммерческой всего лишь отсутствием функции лечения зараженных файлов. Но так ли необходимо лечение, если есть резервная копия? (А она должна быть всегда, т.к. далеко не во всех случаях лечение проходит корректно).
Сложнее протестировать антивирусы-ревизоры. Тут уж без "карантинного" диска не обойтись – следует поселить на него живых вирусов, позволить им спокойно размножаться некоторое время, а затем запустить ревизор – сможет ли он обнаружить изменения?
Другая важная характеристика – устойчивость антивируса к заражению. По логике антивирус должен обладать иммунной системой и уметь удалять заразу из собственного тела. Кому понравится, если антивирус, обнаружив факт своего заражения, просто прекращает работу? А ведь такое поведение – не редкость!
Родственные вопросы:
Подари врагу антивирус!
Вирусы - кибернетический Минотавр или Мания?
Как защитится от вирусов, полученных из Интернет?
Какой программой можно вести учет времени, проведенного в Интернет
Программ, ведущих учет времени, проведенного в Интернет, – несметное множество и их легко найти на любом подходящем сервере, например, www.download.ru. Но, можно обойтись и подручными средствами штатной поставки Windows. К тому же, многие провайдеры предоставляют доступ к серверам статистики, содержащим информацию о текущем счете пользователя, времени проведенном в сети и т.д. Узнать если такой сервер или нет можно непосредственно у самого провайдера.Какова максимальная скорость кабельного соединения?
Этот вопрос, как никакой другой, встречает наибольшее непонимание, вызывая непрекращающиеся споры, подогреваемые гипотетическими заключениями, большей частью неверными.Теоретическая пропускная способность LPT-порта в ECP режиме составляет 2.5 мегабит в секунду (и эта цифра часто приводится в инструкциях на материнские платы), а COM – 125 (250) килобит. Но практическая скорость передачи данных существенно меньше. Насколько именно она меньше заранее сказать невозможно. Это зависит от скорости процессора, объема оперативной памяти, типа кабеля, выбранного транспортного протокола, степени сжимаемости передаваемых данных и т.д.
Кабельное соединение очень сильно загружает процессор ведомого компьютера, и мощности младших моделей Pentium может попросту не хватить. Для быстрой работы требуется по меньшей мере Pentium-II или Celeron с таковой частотой 300 – 500 мегагерц. Владельцы старших моделей Pentium могут увеличить скорость соединения, установив в свойствах протокола TCP/IP галочки "Использовать программное сжатие данных" и "Использовать сжатие заголовков IP".,
а так же отключив все остальные протоколы: NetBEUI, IPX/SPX. Заметьте, что На "тормозных" же процессорах, установка программного сжатия уменьшает скорость! – поскольку процессор не успевает одновременно сжимать данные параллельно одновременно с их передачей.
С учетом вышесказанного прямое кабельное соединение через стандартный последовательный порт обеспечит скорость порядка двадцати – двадцати пяти килобит в секунду, а если контроллеры COM-портов обеих машин выполнены на базе микросхемы 16550A (или совместимой с ней), скорость передачи возрастет до ста и более килобит в секунду. Однако в Windows 9x скорость последовательного порта по умолчанию составляет всего лишь 19.200 бит в секунду, а в Windows 2000 и того меньше – 9.600! Чтобы ее увеличить вызовите диалог свойств последовательного порта "Панель управления" à
"Система" à
"Оборудование" à
"Диспетчер устройств" à
"Порты LPT и COM" и в поле "Скорость" установите максимальное значение.
Прямое соединение через параллельный ECP-порт посредством кабеля типа "LapLink" обеспечивает скорость передачи данных до 0.5 мегабит в секунду, а приема вдвое меньше – в пределах 0.3 – 0.35 мегабит в секунду.
Продвинутые кабели типа "DirectParallel® Universal Fast Cable" со встроенными чипами задействуют оба фронта волны, за счет чего ухитряются передавать до 6 мегабит каждую секунду, и принимать за это же время от 3 мегабит и выше! То есть, они в два с лишним раза превосходят теоретическую скорость, практически сравниваясь в производительности с 10 мегабитными сетевыми картами!

Рисунок 22 Рис 0x00A Внешний вид кабеля DirectParallel® Universal Fast Cable
Каково назначение ключей tracert?
Чаще всего утилита tracert вызывается без ключей, с одним лишь указанием IP-адреса или доменного имени трассируемого узла, но в некоторых случаях этого оказывается недостаточно и приходится прибегать к дополнительным ухищрениям.Ключ –d запрещает определение доменных имен промежуточных узлов. Это несколько ускоряет трассировку и порою бывает полезно. Тем более что имена узлов в любое время можно определить и самостоятельно по их IP-адресам с помощью утилиты nslookup.
Ключ –h задает максимальное количество трассируемых узлов (по умолчанию 30), – это предотвращает возможные зацикливания, что полезно при автономном пакетном запуске. При интерактивной же работе с программой ее всегда можно прервать нажатием <Ctrl-Break>. В некоторых, очень экзотических случаях, тридцати переходов для достижения узла назначения не хватает и их количество приходится увеличивать, например, так: "tracert www.overfar.ch -h 121".
Ключ –w задает предельный интервал ожидания отклика от каждого узла в миллисекундах. Если ответ от узла не будет получен в течение указанного времени, в соответствующей колонке интервала задержки появится "звездочка", а потеря всех трех дейтаграмм кряду вызовет "ругательство" "Превышен интервал ожидания для запроса". В таком случае следует воспользоваться ключом -w и увеличить интервал ожидания до нескольких секунд, например, до десяти: "tracert www.overlazy.fu -w 10000". Стоит отметить – увеличение времени ожидания не помогает, если маршрутизатор не посылает уведомлений или их уничтожает межсетевой экран (см. "Почему трассировка умирает на полпути к серверу назначения").
Ключ –j задает список узлов для свободной маршрутизации от клиента. "Свобода" маршрутизации подразумевает, что дейтаграмма посетит все перечисленные узлы в указанном порядке, но соседние в списке узлы могут воспользоваться для передачи дейтаграммы услугами любых других промежуточных узлов. Эта возможность бывает полезна если между клиентом и сервером существует неединственный маршрут и пользователь хочет принудительно направить пакеты по выбранному им пути. На выбор пути наложено множество ограничений, в частности, промежуточные маршрутизаторы могут отказаться пересылать пакет по насильно навязанному адресу, особенно если этот узел вне пределов видимости данного маршрутизатора. Например:
C:\>tracert -j 195.161.42.222 {>>>> сноска IP-адрес узла freeproxy.com} www.aha.ru
Трассировка маршрута к www.aha.ru [195.2.70.38] с максимальным числом прыжков 30:
1 901 ms 861 ms 952 ms cisco03-s0.krintel.ru [195.161.42.210]
2 1061 ms 1042 ms 1442 ms ns.krintel.ru [195.161.42.222]
3 * * * Превышен интервал ожидания для запроса.
4 * * * Превышен интервал ожидания для запроса.
Трассировка быстро "умирает", поскольку, узел ns.krintel.ru не может сообразить как ему передать пакет на freeproxy.com, и уничтожает его от безысходности. Поэтому, использование ключа –j – прерогатива администраторов и высококвалифицированных пользователей.
Родственные вопросы:
Почему трассировка умирает на полпути к серверу назначения
Каково назначение ключей утилиты ping?
Несмотря на свою простоту, утилита ping из штатной поставки Windows, принимает достаточно большое количество ключей командной строки, более чем поверхностно описанных в прилагаемой документации. Неудивительно, что многие возможности ping ускользают не только от начинающих, но и умудренных жизнью пользователей!Ключ –w используется для задания интервала ожидания эхо – ответа в миллисекундах (по умолчанию 20 секунд). Если отклик от сервера не будет получен в течение указанного времени, утилита ping сообщит "Превышен интервал ожидания для запроса", намекая на неработоспособность сервера или повреждение сети. На загруженных каналах медленных провайдеров ответ может прийти и через 30, и даже через 60 секунд, поэтому, интервал ожидания приходится увеличивать, например, так:
C:\>ping www.nastyhost.fu
Обмен пакетами с www.nastyhost.fu [195.2.70.38] по 32 байт:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Статистика Ping для 195.2.70.38:
Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь),
Приблизительное время передачи и приема:
наименьшее = 0мс, наибольшее = 0мс, среднее = 0мс
C:\>ping www.nastyhost.fu -w 60000
Обмен пакетами с www.nastyhost.fu [195.2.70.38] по 32 байт:
Ответ от 195.2.70.38: число байт=32 время=34100мс TTL=117
Ответ от 195.2.70.38: число байт=32 время=38310мс TTL=117
Ответ от 195.2.70.38: число байт=32 время=39001мс TTL=117
Ответ от 195.2.70.38: число байт=32 время=10220мс TTL=117
Статистика Ping для 195.2.70.38:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время передачи и приема:
наименьшее = 10220мс, наибольшее = 39001мс, среднее = 30408мс
Ключ –n задает количество отправляемых эхо – запросов (по умолчанию 4). Увеличение количества запросов бывает необходимо для контроля надежности и устойчивости работы сервера. Чем выше качество канала, тем меньше разброс по времени ответов.
Ключ –t заставляет утилиту ping посылать запросы в бесконечном цикле до ее прерывания нажатием комбинации клавиш <Ctrl-C>. Внимание: <Ctrl-Break> не прерывает процесс, а выводит текущую статистику! Этот ключ очень удобен для ожидания момента пробуждения некстати зависшего сервера – запустил "ping www.hover-server.fu -t" и жди появления сообщения "Host Alive" или что-то в этом роде.
Ключ –l задает размер дейтаграммы без учета длины заголовка (28 байт), посылаемой в эхо – запросе. Допустимыми являются значения от 0 до 65.500 включительно. По умолчанию размер дейтаграммы составляет 32 байта. Манипулируя этим значением можно выяснить зависимость скорость доставки – размер дейтаграммы. Если размер дейтаграммы превысит некоторую критическую величину (определяемую каждым промежуточным узлом самостоятельно), дейтаграмма разрезается на несколько пакетов подходящего размера, каждый из которых добирается до конечной точки маршрута самостоятельно, а на узле назначения они вновь собираются в исходную дейтаграмму.
Ключ –f устанавливает на дейтаграмме специальную пометку, запрещающую ее разрезание (то есть, говоря техническим языком, фрагментацию). Если хотя бы один из промежуточных узлов не может обрабатывать пакеты таких размеров, он прибивает дейтаграмму и посылает отправителю уведомление, объясняя причину смерти тем, что требуется фрагментация, но установлена пометка, ее запрещающая. Впрочем, некоторые узлы не посылают такого уведомления, молчаливо отправляя пакет на тот свет или же разрезают дейтаграмму вопреки запрету (впрочем, последнее встречается редко). Вкупе с ключом –l, задающим длину дейтаграммы, запрет фрагментации ключом –f, позволяет определить максимальный размер не фрагментируемых пакетов. (см. "Оптимизация соединения с Интернет" и "Описание утилиты MTUSpeed").
Ключ –i задает время жизни (сокращенно TTL – Time To Live) пакета посылаемых дейтаграмм, измеряемое количеством узлов, которые может посетить пакет (по умолчанию 128). Каждый промежуточный узел уменьшает значение TTL на единицу и когда оно достигает нуля, пакет уничтожается с посылкой отправителю соответствующего уведомления. Это обстоятельство позволяет отслеживать маршрут путешествия пакетов, используя ping вместо утилиты tracert, что будет нелишним в тех ситуациях, когда tracert нет под рукой. (см. "Как определить полный путь (прохождение) при скачивании файла").
Для контроля выясним маршрут к некоторому узлу с помощью tracert, входящей в штатную поставку Windows:
Трассировка маршрута к aport.ru [194.67.18.8]
с максимальным числом прыжков 30:
C:\>tracert www.aport.ru
1 150 ms 130 ms 131 ms nas.itech.ru [195.151.210.36]
2 140 ms 141 ms 150 ms ns.itech.ru [195.151.210.33]
3 221 ms 180 ms 220 ms gw.itech.ru [195.151.210.29]
4 310 ms 401 ms 330 ms 195.151.200.90
5 300 ms 341 ms 270 ms krd-gw.mtt.ru [195.151.52.41]
А теперь вызовем ping, задав значение TTL равное одному. Первый же маршрутизатор, уменьшив его на единицу, обнаружит, что оно равно нулю и пошлет нам соответствующее уведомление. Итак…
C:\>ping www.aport.ru -i 1
Обмен пакетами с aport.ru [194.67.18.8] по 32 байт:
Ответ от 195.151.210.36: Превышен срок жизни (TTL) при передаче пакета.
И в самом деле, получен ответ от узла 195.151.210.36 – первого маршрутизатора в цепочке, как это видно по протоколу работы tracert.
Теперь увеличим значение TTL до двух и повторим процедуру:
C:\>ping www.aport.ru -i 2
Обмен пакетами с aport.ru [194.67.18.8] по 32 байт:
Ответ от 195.151.210.33: Превышен срок жизни (TTL) при передаче пакета.
Действительно, теперь найдет второй маршрутизатор в цепочке! Увеличиваем значение TTL еще на единицу…
C:\>ping www.aport.ru -i 3
Обмен пакетами с aport.ru [194.67.18.8] по 32 байт:
Ответ от 195.151.210.29: Превышен срок жизни (TTL) при передаче пакета.
В самом деле, этот прием работает! Правда, уж очень утомительно перебирать пакеты вручную. Но работу легко оптимизировать командным файлом следующего содержания {>>>> сноска Работает только под Windows 2000 или выше} FOR /L (%%I) IN (1,1,30) DO ping %1 -i %%I, вызываемого с аргументом – доменным именем или IP-адресом трассируемого узла, и он самостоятельно начнет перебирать все значения TTL от 1 до 30.
Ключ –v задает значения поля типа службы (TOS - Type Of Service). Тип сервиса с помощью некоторых абстрактных параметров указывает предпочтительный вид обслуживания – минимальная задержка, максимальная пропускная способность, максимальная надежность, минимальные издержки на пересылку или обычная, неприоритетная, пересылка. Предпочтение может быть отдано только одному типу приоритета – нельзя одновременно требовать молниеносной скорости пересылки пакета в купе с соломоновой надежностью его доставки. Выбирайте уж что-то одно!
Тип сервиса задается одним из следующих десятичных чисел (См. таблицу 3). Как легко видеть, каждому значению соответствует свой бит:
|
Код сервиса |
Пояснение |
|
2 |
минимальные издержки на пересылку |
|
4 |
максимальная надежность доставки |
|
8 |
максимальная пропускная способность |
|
16 |
минимальная задержка |
Не все маршрутизаторы анализируют поле TOS, - многие из них его напрочь игнорируют, что и подтверждает следующий эксперимент.
C:\>ping www.itech.ru -v 0x2
Обмен пакетами с ns1.itech.ru [195.151.210.34] по 32 байт:
Ответ от 195.151.210.34: число байт=32 время=130мс TTL=254
C:\>ping www.itech.ru -v 0x4 -n 1
Обмен пакетами с ns1.itech.ru [195.151.210.34] по 32 байт:
Ответ от 195.151.210.34: число байт=32 время=130мс TTL=254
C:\>ping www.itech.ru -v 0x8 -n 1
Обмен пакетами с ns1.itech.ru [195.151.210.34] по 32 байт:
Ответ от 195.151.210.34: число байт=32 время=130мс TTL=254
C:\>ping www.itech.ru -v 16
Обмен пакетами с ns1.itech.ru [195.151.210.34] по 32 байт:
Ответ от 195.151.210.34: число байт=32 время=130мс TTL=254
Независимо от типа сервиса время отклика всегда составляло ровно 130 мс, и быстроты пересылки при TOS равном 16 не наблюдалось. А вот пример сети, поддерживающей TOS.
C:\>ping www.krintel.ru -v 2
Обмен пакетами с www.krintel.ru [195.161.42.218] по 32 байт:
Ответ от 195.161.42.218: число байт=32 время=2143мс TTL=127
C:\>ping www.krintel.ru -w 10000 -v 4
Обмен пакетами с www.krintel.ru [195.161.42.218] по 32 байт:
Ответ от 195.161.42.218: число байт=32 время=1763мс TTL=127
C:\>ping www.krintel.ru -v 8
Обмен пакетами с www.krintel.ru [195.161.42.218] по 32 байт:
Превышен интервал ожидания для запроса.
Ответ от 195.161.42.218: число байт=32 время=1332мс TTL=127
C:\>ping www.krintel.ru -v 16
Обмен пакетами с www.krintel.ru [195.161.42.218] по 32 байт:
Ответ от 195.161.42.218: число байт=32 время=1092мс TTL=127
Наибольшая задержка наблюдалась при TOS равном 2 (минимальные издержки на пересылку), а наименьшая – при TOS равным 16 (минимальная задержка), и чуть менее быстрой оказались посылки с TOS равным 8.
Какую пользу из этого можно извлечь? А вот какую – прикладные программы могут манипулировать полем TOS по своему усмотрению, выбирая значение, соответствующее специфике своей работы. Например, telnet-клиенты, ICQ и чаты очень чувствительны к задержкам, ftp клиентам задержки не страшны – была бы хорошей пропускная способность, и т.д. Разумеется, если промежуточные узлы игнорируют содержимое поля TOS, никакого выигрыша не получается и высокоприоритетные пакеты (например, от ICQ) обрабатываются с той же скоростью, что и пакеты, скажем, от почтового сервера, не критичные к скорости доставки. Использование ping с ключом –v позволяет выяснить поддерживается ли TOS на данном маршруте и если имеется несколько альтернативных маршрутов – выбрать из них наиболее подходящий {>>>>> сноска К слову сказать, далеко не все приложения устанавливают поле TOS в соответствующее значение, оставляя его по умолчанию}
Ключ –r заставляет промежуточные узлы записывать в заголовок отправляемых эхо – запросов свои IP-адреса (см. "Можно ли обойти защиту от трассировки?"). Не все маршртузаторы поддерживают такую возможность, но очень многие. Ping, вызванная с ключом –r, позволяет отслеживать маршрут пересылки пакетов и могла бы полностью заменить собой утилиту tracert (см. "Как определить полный путь (прохождение) при скачивании файла") если бы не ограничения, налагаемые размером IP-заголовка на максимальное количество запоминаемых адресов, – их умещается всего девять, и более длинные пути отслеживать этим способом невозможно.
Ключ –s похож на ключ –r, но заставляет промежуточные узлы вносить в заголовок не свои адреса, а временную метку (или "штамп времени" в плохом русском переходе). По общепринятым соглашениям временная метка представляет собой четырехбайтовое поле, содержащее число миллисекунд, истекших с начала полуночи всеобщего скоординированного времени, однако, на практике это соглашение мало кто соблюдает и многие маршрутизаторы заполняют это поле всякой отсебятиной, интерпретируемой только одним им известным способом.
На количество запоминаемых временных меток наложены те же самые ограничения, что и на количество запоминаемых IP-адресов, за одним небольшим исключением – временная метка, вставленная неизвестно каким маршрутизатором, бесполезна (разве что маршрут путешествия пакетов заведомо не меняется с течением времени и может быть предварительно выявлен трассировкой). По умолчанию утилита ping автоматически запоминает IP-адреса узлов при записи временных меток – таких пар в заголовок пакета может вместиться только четыре.
Временная метка выгодно отличается тем, что позволяет вычислять точную скорость пересылки пакета, поскольку содержит в себе не общий интервал задержки (от пересылки в оба конца), а время пересылки на заданный узел. По непонятным причинам штатная (да и большинство остальных) реализация утилиты ping не позволяет задавать запись временной метки для произвольного узла в цепочке (хотя, в принципе это возможно), чем полностью обесценивает ключ –s, ну, право же, редкий сервер отделен от клиента менее чем четырьмя промежуточными узлами!
Пример вызова ping с ключом –s приведен ниже. Обратите внимание на временную метку – похоже она представляет собой ни что иное, как случайное число.
C:\>ping www.itech.ru -s 2
Обмен пакетами с ns1.itech.ru [195.151.210.34] по 32 байт:
Ответ от 195.151.210.34: число байт=32 время=151мс TTL=254
Штамп времени: 195.151.210.36 : 3658968578 ->
195.151.210.34 : 2275040770
Ответ от 195.151.210.34: число байт=32 время=140мс TTL=254
Штамп времени: 195.151.210.36 : 3357240834 ->
195.151.210.34 : 1956535810
Ответ от 195.151.210.34: число байт=32 время=141мс TTL=254
Штамп времени: 195.151.210.36 : 3122621954 ->
195.151.210.34 : 1738694146
Ответ от 195.151.210.34: число байт=32 время=140мс TTL=254
Штамп времени: 195.151.210.36 : 2888003074 ->
195.151.210.34 : 1504075266
Статистика Ping для 195.151.210.34:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время передачи и приема:
наименьшее = 140мс, наибольшее = 151мс, среднее = 143мс
Ключ –j задает список узлов для свободной маршрутизации от клиента и аналогичен одноименному ключу утилиты tracert (см. "Каково назначение ключей tracert?").
Ключ –k похож на ключ –j, но задает список узлов для жесткой маршрутизации, т.е. пакет передается из рук в руки строго по перечню перечисленных узлов и ни один их них не может позволить себе воспользоваться услугами "собственного" маршрутизатора для передачи пакета следующему узлу. Если узел не может передать пакет напрямую, он уничтожает его и посылает отправителю соответствующее уведомление, дескать, такая маршрутизация от источника невозможна. Существует очень мало причин, требующих применения свободной, а тем более жесткой маршрутизации. Все это пережиток старых времен, – современные сети самостоятельно решают проблемы маршрутиазции пакетов и пытаться помочь им, право, не стоит – они и без того справляются со своей задачей слишком хорошо.
Ключ –-a задает определение имен узлов по их IP-адресам. Так, во всяком случае, сказано в документации. Смысл этого неясен – такое определение и без того происходит автоматически независимо от наличия (отсутствия) ключа "-a".
Родственные вопросы:
Провайдер и удаленный доступ à Оптимизация соединения с Интернет
Провайдер и удаленный доступ à Описание утилиты MTUSpeed
Как определить полный путь (прохождение) при скачивании файла
Можно ли обойти защиту от трассировки?
Каково назначение ключей tracert?
Каково назначение полей DUN-файла?
Ниже приведен пример содержимого такого файла с краткими комментариями.[Entry]
Entry_Name=Соединение ; название ключа реестра, хранящего имя и пароль пользвателя
; для входа в сеть. см. HKEY_CURRENT_USER\RemoteAccess\Addresses
Import_Name=Соединение ; название соединения – оно будет отображаться в заголовке
; диалогового окна звонилки
Multilink=no ; многоканальные подключения запрещены
[Phone]
Dial_As_Is=yes ; если "no" то использовать код страны и параметры связи
Phone_Number=56806 ; номер телефона для дозвона
[Device]
Type=modem ; устройство, использующееся для удаленного доступа
Name=Rockwell 33.6 DPF Ext ; название модема (как его определила Windows)
Settings_Size=108 ; количество байт строки установок
Settings=6C000xxxxxx0C : установки модема в бинарном виде
[Server]
Type=PPP ; протокол, использующийся для связи с провайдером
SW_Compress=yes ; даешь программное сжатие данных!
{В макете книги тут лишний перенос!!! Строка не соответствует комментарию!}
PW_Encrypt=no ; не требуется шифровать пароль
Network_Logon=yes ; да, входить в сеть
SW_Encrypt=no ; нет, трафик шифровать не надо
Negotiate_NetBEUI=no ; протоколу NetBEUI (связь между системами Windows) – нет!
Negotiate_IPX/SPX=no ; протоколу IPX/SPX (Novell Netware) – нет!
Negotiate_TCP/IP=yes ; протоколу TCP/IP (Internet Protocol) – да!
[TCP/IP] ; настройки протокола TCP/IP
Specify_IP_Address=no ; IP-адреса выдаются сервером, а не назначаются вручную
Specify_Server_Address=no ; адреса DNS выдаются сервером, а не назначаются вручную
IP_Header_Compress=yes ; сжатию заголовков IP-пакетов – да!
Gateway_On_Remote=yes ; использовать удаленный шлюз по умолчанию
Клиентские решения
Большинство почтовых клиентов оснащено специальными фильтрами, избавляющими пользователя от нежелательной (с его точки зрения) корреспонденции. В зависимости от гибкости фильтра критерием нежелательности может быть и размер письма (вложения), и адрес отправителя, и его домен, и тема сообщения, и ключевое слово, содержащиеся в его теле, – да все что угодно!Судьба такого нежеланного сообщения опять-таки зависит от гибкости фильтра и пожеланий пользователя – оно может быть удалено прямо на сервере (актуально для писем неприлично большого размера), помещено в папку "удаленные" или любую другую, назначенную пользователем (актуально для писем от надоедливых собеседников – с одной стороны их послания сохраняются "на всякий пожарный случай", а с другой – не мозолят глаза).
???? Рисунок "карикатура" сидит охотник в засаде и стреляет из двустволки по письмам, летящим в виде уток
Достаточно эффективной мерой против надоедливой рекламы о заработке будет удаление всех сообщений, содержащих в поле "тема" слова "free", "money" и т.д., впрочем, тут самое главное – не переусердствовать! К выбору критерия следует подходить со всей ответственностью и осторожностью: фильтр – оружие слепое, он и полезные сообщения удалит – стоит им случайно попасть под соответствие критерию. Особенно внимательным следует быть при задании шаблона сообщений, автоматически удаляемых с сервера, – ведь в случае ошибки восстановить их уже не удастся. Перемещать нежелательную корреспонденцию в папку "Удаленные" намного безопаснее, но безопасность эта достается дорогой ценой – ведь в этом случае их приходится загружать с сервера, теряя драгоценное (и порой поминутно оплачиваемое) время, и все достоинство фильтра сводится лишь к тому, что нежелательные сообщения не мозолят глаза.
С поиском ключевых слов в теле сообщения связана своя тонкость. Популярный протокол POP3 не поддерживает функции поиска на сервере и эту операцию приходится выполнять на компьютере клиента уже после загрузки сообщения, а загрузка это – время. Поэтому, если возникает такая необходимость, лучше воспользоваться почтовым ящиком, поддерживающим протокол IMAP4, позволяющий искать ключевые слова в сообщении без его загрузки с сервера.
Маленькие секреты издательсткой
Лет десять назад изданием своей книжки было можно гордиться. Типографии тогда были маленькие и медленные, а редакторы ворчливые и строгие, так и норовящие загубить все творчество на корню.Сейчас же все изменилось, но до сих пор по массовому мнению – издание своей книжки дело не простое, за которое "простому смертному" и браться не стоит. Но, нет, стоит! Стоит только попробовать, войти во вкус, как потом просто невозможно остановиться!
Весь вопрос в том, как начать? И стоит ли начинать вообще? Где же взять "руководство начинающего писателя", чтобы сделать первые шаги? К сожалению, ничего подобного на рынке не наблюдается. Да и в личном общении далеко не каждый автор с готовностью поделится своим опытом. Действительно, зачем ему лишняя конкуренция?
Кстати, на счет конкуренции. Россыпи книг на лотках часто отпугивают молодых писателей от мысли издать что-то свое. Кажется, что все темы, которые только существуют в мире, исчерпаны и вылизаны дочиста, и ничего нового добавить не получится.
На самом деле ситуация вовсе не так безнадежна. Скорее наоборот. Хорошие книги можно пересчитать по пальцам одной руки. Во всяком случае, на рынке технической литературы все обстоит именно так.
Особенно это стало хорошо заметно на фоне бурного развития информационных технологий. Большинство авторов в погоне за скоростью приносят в жертву качество. Практически все изданные за последнее время книги едва ли покрывают технические руководства описываемых программных продуктов и большей частью бесполезны для рядового пользователя.
Откроем любую книгу, посвященную такому популярному продукту, как Microsoft Word. Эдакий "кирпич" под тысячу страниц. Но, увы, часто это просто подробное описание пунктов меню, большая часть из которых никакого описания и вовсе не требует!
Можно ли научиться работать с помощью этой книги? Сомнительно. Ведь техника работы c Word-ом не ограничивается одним лишь умением тискать мышь и клавиатуру. Необходимы навыки и приемы работы. И постигать их придется методом проб и ошибок самому.
Почему же покупаются такие книги? Вероятно, по инерции, да и лучшего все равно ничего нет. А если попробовать самим написать что-нибудь на эту тему? Утолить свой и чужой информационный голод?
И такая ситуация не только с одним Word-ом. Буквально про любое приложение можно сказать то же самое. Особенно в области программирования и разработки приложений. Насыщенность рынка книжной продукцией это только иллюзия. На самом деле новые издания расходятся моментально.
Итак… будем считать, я склонил вас к мысли, что издать собственную книжку вовсе не бредовая идея, и попробовать все же стоит. Но для начала лучше потренироваться на публикациях в периодических изданиях.
Это не только даст некоторые навыки, но и облегчит дальнейшее общение с издателями, которым будет по чему судить о вашем профессионализме.
Но прежде, чем засесть за написание статьи, неплохо бы сначала выбрать журнал, для публикации, и писать в принятом для него стиле. Ведь у каждого журнала свой круг читателей. Это могут быть деловые люди, инженеры, программисты, студенты, подростки. И для каждого из них нужен свой подход. Иначе, прочитав первые несколько строчек, они просто закроют журнал или просто перилистнут пару страниц.
Предположим, журнал выбран. Каковы дальнейшие действия? Находим электронный адрес главного редактора и вежливо просим его сообщить условия публикации. Вообще-то по логике вещей следовало бы обратится к ведущему одного из разделов, близкого по тематике к вашей статье, но… Из личного опыта могу вас заверить, что главный редактор обычно отвечает на порядок быстрее и подробнее.
Из условий публикации в первую очередь необходимо узнать следующие:
-- максимальный допустимый объем публикации (обычно от 10 до 30-40 килобайт
-- стоимость одного килобайта печатного текста (колеблется от 1$ до 15$, обычно 5$-8$)
Правила оформления текста могут сильно разниться от журнала к журналу, но это не настолько критичный фактор, что бы всерьез брать его во внимание. Тем более, что если в вас заинтересованы, то примут даже рукопись на газетной бумаге, - все равно приведение текста в "божеский" вид - задача верстальщика.
Это, кстати, многие упускают из виду и пытаются форматировать текст самостоятельно. Так вот, ни в коем случае этого делать не надо! Этим вы только усложняете жизнь другим людям. Ваше форматирование до верстки все равно не дойдет, поэтому пишите "сплошным" тестом, выделяя лишь заголовки и абзацы.
Таблицы и рисунки настоятельно рекомендуется поставлять в отдельных файлах, а в тексте лишь давать на них ссылку, формат которой либо описать перед текстом, либо спросить у редактора.
Кстати, комментарии и просьбы к редакторам и верстальщикам, беспорядочно разбросанные по тексту - это самое худшее, что может быть в их работе. Строго говоря, верстальщик вообще не читает текст. Он его верстает. И "выкусывать" комментарии для него занятие не из приятных.
Все необходимое пишите в одном месте до или после текста статьи. Но в любом случае не увлекайтесь таким занятием. Верстальщику самому лучше знать, как оформить текст. И не нужно пояснять редактору, что в такой-то строке "карова доет малако" вовсе не опечатка, а ваш тонкий авторский замысел. Просто избегайте таких ситуаций вот и все.
Кстати, часто можно услышать жаркие споры на счет редакторской правки. Насколько она правомерна и так далее. Вообще-то после внесения любых изменений, редактор обязан отправить их автору на утверждение. Но практически это медленно, неудобно и даже бессмысленно. Поэтому часто правка осуществляется "задним числом" и автор порой узнает о ней, только увидев свою публикацию в журнале.
Случается, что редактор урезает статью вдвое, а то и втрое или делает из двух одну. А некоторые позволяют вписывать "отсебятину", которая не только уродует текст, но еще и портит вашу репутацию.
Можно ли этого избежать? Конечно. Просто оговаривайте необходимость предварительного просмотра отредактированного текста. А лучше, – пожелайте такому редактору удачи и отправитесь к другому, благо, что сегодня есть куда.
Действительно, с хорошими редакторами проблем не возникает, тогда как с плохими вы будете больше заняты "разборками", чем работой.
Частый вопрос начинающих, – что делать, если редакторская правка вас не устраивает? Разумеется, отвергнуть ее и вернуться к вашему варианту. Схема тут простоя. Автор этого произведения вы, следовательно, и владелец вы и никто другой. Вы вправе отказать редактору. Правда, редактор вправе в свою очередь отказать вам в публикации, но… тогда можно пойти к другому редактору или попытаться найти компромиссный вариант.
Однако, к словам хорошего редактора практически всегда следует прислушиваться, поскольку его цель улучшить текст, даже если на первый взгляд это не очевидно (из практики автора – бывает, получишь рецензию на свою статью и такое возмущение охватывает: "да что это за редактор такой?! что он себе позволяет?!", а потом, подумав хорошенько, понимаешь – "а ведь он прав!").
От сотрудничества с таким редактором можно только выиграть, и поднять свой профессиональный уровень, что не раз потом поможет в будущем. Теоретически редактор должен присылать нечто вроде рецензии на ваше произведение, но практически ни у кого из них на это не находится времени (редактура, кстати, одна из самых низкооплачиваемых работ в издательском бизнесе). Имеет смысл попросить редактора да дополнительное вознаграждение прислать максимально подробную рецензию, чтобы не совершать в дальнейшем одни и те же ошибки.
Кстати, необходимо уточнить, о каком же мы редакторе говорим. Ведь он не один в издательстве! Обычно этим занято, по крайней мере, два человека – ведущий раздела и главный редактор.
Но вот отношения между ними могут очень сильно разниться от издательства к издательству.
Так, в одном случае, ведущий раздела может и вовсе не иметь ни каких прав, и как бы он не одобрял вашу статью все равно конечное решение остается за главным редактором.
В другом случае, у редакторов разделов "своя вотчина", на которую главный без особой нужды предпочитает не залезать.
Поэтому ориентируйтесь по обстановке с кем вам окажется удобнее сотрудничать. Ищите человека, который реально отвечает за публикацию, и отсылайте все статьи ему. Это сократит много нервов и времени.
Когда статья отредактирована, и редактор дал добро, она помещается в "актив" и через какое-то время может быть опубликована. Весь вопрос – через какое. К сожалению, разброс здесь бывает очень большим. Может быть в ближайшем номере, а может быть и через полгода. Поэтому если хотите публиковаться регулярно, то пишите не одну статью и сотрудничайте не с одним журналом. Только ни в коем случае не посылайте одну и ту же статью в два и более журналов. Случись такое, и с вами, скорее всего, навсегда распрощаются. Впрочем, некоторые, очень немногие, журналы на это смотрят "сквозь пальцы", но все равно повторная публикация чести вам это не добавляет.
Часто после нескольких удачных статей вам могут выделить немного журнального пространства в каждом номере, для постоянных публикаций. А в будущем могут сделать и редактором раздела.
На первое можно соглашаться с удовольствуем, а вот польза от второго очень сомнительна. Быть редактором – это добровольно возлагать на себя ответственность и множество обязанностей часто за смешную плату. Впрочем, для некоторых и этого оказывается достаточно.
Раз уж мы коснулись финансовых вопросов, обсудим заодно и сроки выплат гонораров. Чаще всего выплата происходит спустя какое-то время после выхода тиража из типографии и его распространения. Или же издательство выплачивает деньги за прошлый номер (учитывая, что подавать материалы для публикации приходится заблаговременно, как правило, за месяц, то выходит, что гонорар вряд ли будет выплачен ранее, чем два - три месяца, спустя начала работы над статьей).
Но иногда, в качестве исключения, вам могут выплатить деньги немедленно после подачи материала или даже дать аванс до начала работы над статьей! Разумеется, только в том случае, если в вас будет заинтересованы.
То же относится и к размеру гонораров. Разберемся, откуда вообще получаются объявленные цифры? Все очень просто – на каждый номер главному редактору отпускается некоторая сумма, которой он будет расплачиваться с всеми-всеми авторами (а иногда и редакторами, верстальщиками, – хотя обычно они оплачиваются отдельно).
Выходить за пределы оговоренной суммы редактору крайне не рекомендуется. Однако распределение денег между отдельными авторами – исключительно его забота. Ваш гонорар зависит только от интереса редактора к вашим материалам.
Таким образом, вполне может случиться, что вам заплатят вдвое или даже втрое больше "средней" суммы. Кстати, "средняя сумма" – понятие растяжимое. Если редактор сообщает, что гонорары у них от 3 до 6 долларов за килобайт, то это означает лишь то, что таковы выплаты большинству авторов. То есть, если вдруг все авторы сразу подадут чертовски хорошие статьи, то вовсе не факт, что каждый из них получит по 6$ - бюджета не хватит. Все равно от кого-то придется "отщипнуть".
Впрочем, это только одна из возможных схем. Бывает и так, что бюджет практически не лимитирован или наоборот, главному редактору приказано строго придерживаться тарифной сетки и не допускать большого разброса.
Наконец, выходит журнал с вашей статьей. Что бы была возможность похвастаться этим перед знакомым, писателям принято дарить авторские экземпляры. Обычно столько, сколько у вас хватает наглости попросить. Приблизительно от трех до пяти штук, но бывает и больше. Впрочем, зачем нам больше? Мариновать их что - ли?
И вот тут молодые авторы с нетерпением ждут отзывов в свой адрес. Увы, часто (даже почти всегда) им отвечает гробовое молчание или резкие, ругательные оскорбления в их адрес. К этому придется привыкнуть как к неизбежному злу.
И чем больше вы будете публиковаться, тем больше у читателей будет желание видеть вас таким, каким они хотят вас видеть, а не таким, какой вы на самом деле есть. И это нормально. Так устроен мир. Читатель всегда хочет "перетянуть одеяло на себя". Но пусть не будет это поводом к действию. Оставайтесь самим собой. У каждого автора есть своя читательская аудитория, – а всем угодить просто невозможно. А идти на поводу отдельно взятых читателей – дурная привычка, которая до добра еще никого не доводила.
Кстати, наивно думать, что даже интенсивные публикации могут существенно помочь в поисках хорошей работы. Вероятность этого достаточно низка, хотя спустя какое-то время, если ваше имя будет постоянно мелькать в десятках популярных изданий, то работодатель может придти к вам сам (разумеется, если статьи будут соответствующего уровня)
Впрочем, о работе. Можно ли заработать себе на жизнь написанием статей? Написание статьи в 30 килобайт у разных людей занимает от вечера до недели. И, во всяком случае, любой способен написать пару статей в месяц. Исходя их среднего гонорара в 6$ получается что-то между трехсот и четырехсот долларов в месяц. А что? Средняя зарплата по Москве приблизительно такая же.
Однако статьи (особенно технические) сами по себе из воздуха не возникают. Чтобы их писать, нужно интенсивно работать и быть в курсе последних событий и технологий. И вот тут возникает неувязка.
Требуется чрезвычайно обширные знания, чтобы каждый месяц выдавать по три- четыре статьи и при этом еще успевать подбирать материал. К тому же ни кто не даст гарантий, что каждая статья будет опубликована. Какой-то процент из них будут "браковать" или откладывать в дальний ящик.
Да еще если вспомнить об урезании материала, "завернутых" темах номера, наплывах статей от других авторов, кризисах, инфляциях… то выходит, что подобный способ заработать себе на жизнь не самый лучший из возможных.
Но зато он позволяет приобрести опыт, который может пригодиться при написании книг, например. Но это уже разговор другого разговора…
Метод локального кэша
Большинство браузеров поддерживают кэширование страниц т.е. сохраняет их содержимое во временных файлах для ускорения последующих обращений. До тех пор пока кэш не будет затерт новыми поступлениями, ранее загруженные страницы можно смотреть и без подключения к Интернету. В Internet Explorer-e для этого достаточно установить галочку напротив пункта "Работать автономно" в меню "Файл". Разумно увеличить размер кэша, чтобы избежать его скорого затирания. Он задается ползунком "Папка временных файлов Интернета: занимать на диске не более" ("Сервис" à "Свойства обозревателя" à"Временные файлы Интернета" à
"Настройка"). Оптимальное значение лежит в пределах 300 – 500 мегабайт, только помните, что в действительности потребуется гораздо больше места, особенно на FAT16, т.к. web-страницы содержат огромное количество мелких файлов, а каждый файл независимо от своего размера занимает, по крайней мере, один кластер диска.
Разумеется, кэш – крайне ненадежное место хранения для ценных web-страниц, кроме того, как быть, если потребуется сохранить страницу на дискету или передать другу, у которого вообще нет Интернет?
Если временные файлы записываются "как есть", без всяких там поползновений, их можно без труда "выдернуть" из кэша и сохранить отдельно (см. "Где Internet Explorer хранит автономные страницы?"). Единственная проблема - определить какие именно файлы среди сотен, а то и тысяч остальных следует сохранять.
Первым делом необходимо найти саму страницу – как правило, ее имя совпадает с именем htm файла в URL. Т.е. если ссылка на страницу выглядела как "http://mysite/nasa/hubble.htm", то в кэше следует искать файл hubble.htm. У Internet Explorer есть одна особенность – во избежание затирания одноименных файлов, к концу имени каждого из них он дописывает порядковый номер, заключенный в угловые скобки (типа nubble[666].htm), поэтому, правильный шаблон для поиска должен выглядеть так: "Имя файла*.расшрение", например, "Hubble*.htm".
Теперь перейдет к соби ранию картинок. Чтобы определить их имена, откройте html-странницу в любом подходящем текстовом редакторе, например, "Блокноте" и задайте поиск тегов "IMG". В общем виде тег должен выглядеть так: "
". Выражение, стоящее права от "SRC", как не трудно догадаться, и содержит искомое имя файла. Ищем его в кэше и "выдираем". Один тонкий момент – куда этот файл сохранить. Если его поместить в одну директорию с самой html-страницей, он отображаться не будет! Ведь "SRC" указывает браузеру, что картина расположена в директории "image"! Значит, необходимо создать директорию "image" в том же каталоге, в котором лежит страница, и поместить в нее злополучный файл. Еще одна тонкость – если путь выглядит как "../image/pic/mimose.fig", это означает, что директория image располагается на один уровень выше чем та, в которой лежит html-страница. Т.е. древо каталогов должно выглядеть так:MyDir
+--dir_for_html
¦ L--hubble.htm
L--image
L--pic
L--mimose.jpg
Если путь "SRC" начинается с указания протокола (например, SRC="http://mysite.com/image/ngc1976.gif"), необходимо текстовым редактором вырезать все лишнее – т.е. все кроме имени файла, иначе браузер будет обращаться не к локальному файлу, а попытаться получить его из Интернета.
Раз уж мы начали резать, то имеет смысл оттяпать от всех картинок полные пути, оставив только имена файлов (например, было "../image/pic/mimose.fig" стало "mimose.fig") – это избавит от необходимости воссоздавать оригинальную структуру каталогов сервера и позволит валить все файлы в одну директорию.
Единственная проблема заключается в том, что не всегда ясно какой из нескольких файлов следует "выдирать" из кэша. Скажем, требуется заполучать pic.jpg, а в кэше содержится добрый десяток файлов с такими именами – pic[1].jpg, pic[2],jpg, pic[3],jpg и т.д. Можно попробовать, поочередно открывая их, попробовать определить какой из них какой – визуально, по смыслу. Однако это удается далеко не всегда. К тому же описанный метод достаточно трудоемок и долог. Может, есть что попроще?
Метод ручной работы
После завершения загрузки страницы выберите в меню "Вид" пункт "Просмотр в виде HTML". Откроется редактор "Блокнот", содержащий исходный HTML-код web-странички. Сохраните его на диск.Однако, HTML-код, это только текст, а картинки, как это ни прискорбно, придется сохранять вручную – щелкая по каждой картинке правым мышем и выбирая в контекстном меню пункт "Сохранить на диск". Возможно, даже скорее всего, при этом придется воссоздавать оригинальную структуру директорий сервера или же вносить изменения непосредственно в сохраненный HTML-код (см. "Метод локального кэша").
Если картинок много, работа рискует затянуться надолго, очень надолго. Это несколько лучше, чем ковыряться в мусорной яме кэша, но ненамного. Причем, если страница разделена на несколько фреймов – т.е. независимо отображаемых областей, – сохранять их придется по отдельности, кликая по экрану в границах каждого фрейма правой клавишей мыша и выбирая пункт "Просмотр в виде HTML".
Метод Save As
Еще ранние версии Internet Explorer имели в меню "Файл" пункт "Сохранить", однако, они сохраняли не все содержимое страницы, а один лишь текст, лишенный графики. Такое положение дел, очевидно, не могло устроить пользователей и в последних версиях разработчики пошли на уступки, научив браузер полностью сохранять страницу на диск.Пятая версия Internet Explorer в диалоговом окне "Сохранить как…" позволяет выбирать следующие типы файлов:
· Web-страница полностью (html)
· Web-архив один файл (mht)
· Web-страница только HTML
· Текстовой файл (*.txt)
Два последних пункта особого интереса не представляют, но вот на первых двух имеет смысл остановиться подробнее. Выбор "Web-страница полностью (html)" приводит к сохранению каждого элемента страницы в отдельном файле, помещаемого в автоматически создаваемую папку, совпадающую по имени с сохраняемой страницей, но имеющую расширение "files". То есть, при сохранении страницы "Тушканчики средней полосы" HTML-текст будет помещен в файл "Тушканчики средней полосы.htm", а все картинки – в папку "Тушканчики средней полосы.files".
Чтобы просмотреть сохраненную страницу необходимо дважды кликнуть по htm-файлу, а чтобы перенести ее на другой компьютер, необходимо скопировать и сам htm-файл, и соответствующую ему папку с расширением files. Неправда ли, довольно неудобно? К тому же множество мелких файлов интенсивно пожирают дисковое пространство.
Поэтому, лучше сохранять страницы в виде одного mht-файла. Он удобен в обращении и не захламляет диск лишними каталогами. Но – требует для своего просмотра наличия Outlook Express 5.x или выше (если передаете такой файл товарищу – убедитесь, что он сможет его прочитать).
После сохранения страницы обязательно проверьте, сохранилась ли в действительности она или нет. Просто запустите новую копию браузера или в меню "Файл" выберите пункт "Создать"à"Окно" и откройте только что записанный на диск HTML- или MHT-файл. По непонятной причине Internet Explorer частенько "скручивает дулю" – не сохраняет страницы, оставляя их пустыми. Причем, повторные попытки сохранения никаких результатов не дают!
Что делать? Попробуйте испытать какой-нибудь другой метод….
Метод Select All
Вероятно, самый универсальный метод всех времен и народов – это буфер обмена. Выберите в меню "Правка" пункт "Выделить все" или нажмите <Ctrl-A>, а затем вставьте скопированный фрагмент в документ Microsoft Word 2000 и сохраните его либо как html- либо как doc-файл – по своему вкусу.Мне пришло письмо: "Если вы просматриваете данное сообщение…."
Получив сообщение a la "Если вы просматривание данное сообщение, то вы поражены злобным вирусом, против которого одно спасение – форматирование жесткого диска с последующим выбрасыванием компьютера из окна" не волнуйтесь – это всего лишь глупая шутка, и никакого вреда от просмотра такого письма нет. Конечно, при условии, что вы не открываете никаких, содержащихся в нем вложений, и не кликаете по ссылкам. Вложения действительно могут содержать вирусы, особенно если они относятся к потенциально опасным типам файлов (см. "Безопасность àКакие почтовые вложения безопасны?"), а нажатие на ссылку способно запустить зловредную программу, в том числе и вирусную, или же передать злоумышленнику ваше имя и пароль под которым вы вошли в систему.
В принципе, теоретически возможно заразиться не только чтением письма, но даже его получением с сервера! Но практически же подавляющее большинство вирусов распространяются с помощью самих пользователей, доверчиво запускающих подсунутую им программу.
Родственные вопросы:
Безопасность à Какие почтовые вложения безопасны?
Модемы – вопросы и ответы
"Ничто не может быть плохим или хорошим само по себе"Френк Херберт "Дюна"
Могут ли хакеры подломать провайдера и похитить мой пароль? Анастасия Isida@greco.org
Заботы по хранению своих сетевых реквизиторов провайдеры обычно возлагают на пользователей. Дескать, никому не сообщайте свой пароль, не записывайте его на бумажке, приклеенной сбоку монитора (варианты – под клавиатурой, под мышиным ковриком), никогда - никогда не запускайте программы неизвестного происхождения и т.д. А что, если хакер атакует провайдера? Сможет ли он "спионерить" пароль пользователей или нет?Большинство провайдеров категорически отрицают такую возможность, делая "пальцы веером" и извергая целый фонтан непонятных простому обывателю слов. Дескать, как это можно не знать, что ни в открытом, ни в зашифрованном виде пароли у них не хранятся и, так называемый "файл паролей" содержит вовсе не сами пароли, а хэши (грубо говоря – контрольные суммы паролей). А знание хэша не позволяет установить оригинальный пароль иначе, чем последовательным перебором. Если клиент не выбрал себе простое словарное слово, наподобие "mafia" или "chongachanga" подобрать его пароль даже на самом крутом Pentium-е удастся не быстрее, чем наступит очередной ледниковый период!
Тем временем, ворованные пароли продаются хакерами едва ли не на каждом углу – ау! ледниковый период. Провайдеры, в пылу своего красноречия, тактично умалчивают, что под Windows NT\2000 оригинальный пароль пользователя для входа на сервер и вовсе не нужен – сервер его и сам не знает! Во время аутентификации клиент передает не пароль, а хэш пароля. Сервер берет этот хэш и сверяет его с эталонной записью, хранящейся в базе. Если хакер проникнет на сервер и получит доступ к базе, он сможет похитить все хэши!
Несколько лучше дела обстоят с UNIX – она шифрует пароли по аналогичной схеме, но требует от пользователя не хэш, а открытый пароль, выполняя вычисление контрольной суммы самостоятельно. Даже если злоумышленники утянут "файл паролей", ничего кроме контрольных сумм паролей они не обнаружат, а обратить контрольную сумму и получить исходный пароль ой как не просто! – Потребуется много времени и много быстрых компьютеров, а у рядового злоумышленника ни того, ни другого в избытке не имеется!
Однако открытость пароля предоставляет возможность его перехвата – если злоумышленник вломится на компьютер провайдера и незаметно установит там "жучок", он сможет подсматривать пароли всех входящих в сеть пользователей со всеми вытекающими отсюда последствиями.
Теоретически взлом провайдера с похищением паролей пользователей вполне реален и ничего мифического в этом нет, причем такие события происходят достаточно часто… К сожалению, рядовой пользователь не может определить надежность защиты провайдера – это по силу только системным администраторам и самим хакерам.
Могут ли злоумышленники подключится
Модемные протоколы основаны на двухстороннем обмене электрическими импульсами, поэтому, подключать параллельный модем к телефонной линии бессмысленно – он не сможет нормально работать в таких условиях.Правда, существует специальное оборудование для "шпионской прослушки", стоящее немерянных денег, но способное осуществить такой перехват. За его неимением некоторые отчаянные головы пытаются декодировать электрические сигналы с помощью Sound Blaster-а, вмонтированного в Notebook. И, говорят, получается!
Можно ли автоматически отвечать
Многие почтовые службы, в том числе и бесплатные, поддерживают услугу "Автоответчик" – возможность автоматического ответа на приходящие письма. Это бывает полезно во многих случаях: представьте, уезжаете вы, скажем, в командировку на пару недель, а тем временем вам идут письма, отправители которых гадают – и куда же это их адресат запропастился? Или вот, предположим, Big-Boss захотел, чтобы на каждое полученное на корпоративный ящик письмо в ответ высылался прайс – лист вашей фирмы (каталог производимых изделий) – ситуация, знакомая, правда? Автоответчик, не напрягая секретаря, быстро и дешево выполнит эту работу, пускай и будет действовать вслепую. Впрочем, придать автоответчику некоторые зачатки интеллектуальности помогают грамотно настроенные фильтры (см. ответ на предыдущий вопрос).Методика управления автоответчиками до сих пор не стандартизирована (и вряд ли будет стандартизирована в обозримом будущем) и каждый из них работает по-своему – за подробностями обращайтесь к администратору вашей почтовой службы.
Рассмотрим для наглядности включение и конфигурирование автоответчика на примере службы mail.ru. Набираем ее адрес в строке браузера – www.mail.ru (управление автоответчиком из почтового клиента не поддерживается), вводим свой логин и пароль, а затем, в открывшейся странице переходим к ссылке "Настройки". Так… ждем-с окончания загрузки страницы… среди прочей нечисти находим ссылку "Автоответчик" и щелкаем по ней. Появляется окно управления автоответчиком – с формой для задания автоматического ответа и полями для указания даты включения и выключения автоответчика. Заполнив форму по своему усмотрению, взводим галочку "Включать автоматический ответ" и нажимаем кнопочку "Сохранить".
Все! С этого момента автоответчик включен и готов к работе. Чтобы убедиться в этом, можно послать несколько писем самому себе. Для внепланового же отключения автоответчика до окончания установленного срока, достаточно снова зайти в "Настройки" à
"Автоответчик" и снять галочку "Включать автоматический ответ", после чего "Сохранить" изменения.

Рисунок 33 Рис. 0х027 Управление автоответчиком службы mail.ru
Внимание: отправка письма самому себе вызывает зацикливание некоторых автоответчиков, поскольку они отправляют ответ на свой же адрес, а потом ответ на свой ответ… и так до бесконечности, пока ящик не переполнится и система встанет. Вообще-то, грамотные разработчики должны предусматривать такую тривиальную ситуацию, но некоторые забывают об этом.
Можно ли обойти защиту от трассировки?
Обойти защиту от трассировки ничуть не легче, чем достать Луну с неба, но если очень-очень хочется, попробуйте обратится за помощью к утилите ping – будучи запущенной с ключом –r, она заставляет промежуточные узлы вносить свои IP-адреса в заголовок дейтаграммы. Не все маршрутизаторы поддерживают такую возможность, но подавляющее большинство из них подчиняется этому требованию.Последний узел в цепочке принимает пакет и возвращает эхо-отклик, содержащий в себе заголовок входящего пакета с адресами промежуточных хостов.
C:\>ping chat.ru -r 9
Обмен пакетами с chat.ru [212.24.32.192] по 32 байт:
Ответ от 212.24.32.192: число байт=32 время=410мс TTL=246
Маршрут: 195.151.210.36 ->
195.151.210.30 ->
195.151.200.89 ->
195.151.52.42 ->
194.84.251.245 ->
193.232.88.18 ->
193.232.244.41 ->
212.24.32.2 ->
212.24.32.192
Весьма существенный камень преткновения – жесткое ограничение на количество запоминаемых узлов – емкость IP-заголовка при всем желании не позволяет вмещать более девяти IP-адресов, что в большинстве случаев оказывается недостаточно. Во время проектирования IP-протокола эта цифра не казалась ограничением, скорее наоборот – запасом на будущее, равно как на заре рассвета микрокомпьютеров 640 килобайт оперативной памяти были пределом мечтаний, и никому бы и в голову не пришло, что наступят времена, когда такого объема может не хватить.
К тому же, ping – не панацея и эхо - отклики могут быть так же запрещены администраторами, как и уведомления об уничтожении пакетов (см. "Почему ping не проходит, а сайт сервера нормально работает и открывается?"). Правда, эхо - отклики администраторы запрещают гораздо реже, чем блокируют трассировку, поэтому, в некоторых случаях такой прием может помочь. Конечно, при условии, что клиента с сервером разделяет не более восьми узлов!
Родственные вопросы:
Почему ping не проходит, а сайт сервера нормально работает и открывается?
Можно ли сделать так, чтобы компьютер
Заставить компьютер связываться с провайдером в определенное время можно с помощью "Планировщика", входящего в штатную поставку Windows98\2000. Кликните по иконке с часами и календарем, расположенной в правом нижнем углу – откроется окно "Назначение задания". Кликните по иконке "Добавить задание", затем укажите путь к ранее созданному командному файлу следующего содержания "start Ярлык Соединения с Интернет" (см. "Можно ли войти в Интернет, используя только командную строку" и "Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?"), а затем выберете необходимый сценарий расписания для запуска (см. рис. 8)Для автоматического запуска почтового клиента добавьте его ярлык в папку "Автозагрузка" или создайте еще один сценарий Планировщика. Необходимо рассчитать время так, чтобы почтовый клиент запустился после того, как будет установлено соединение, на что требуется несколько минут.

Рисунок 8 Рис 0x020 Добавление нового задания Планировщика
{К рисунку – заменить синий фон на белый}
::Альтернативный вариант – заставьте почтового клиента самостоятельно устанавливать соединение с Интернет при запуске. Для этого в меню "Сервис" приложения "Outlook Express" выберите пункт "Параметры" и перейдите к закладке "Подключение". В "Телефонном соединении" сбросьте флажок "Спрашивать перед изменением номера соединения", и взведите "Разрывать связь после получения и отправки сообщений". В графе "Соединение с Интернетом" нажмите кнопку "Изменить" и в открывшемся диалоговом окне перейдите к вкладке "Подключение". В списке "Настройка удаленного доступа" выберите соединение, которое будет использоваться для подключения к сети и назначьте его соединением по умолчанию, нажав одноименную кнопку, расположенную справа внизу. Переместите радио кнопку в положение "Всегда использовать принятые по умолчанию".
Все! Теперь почтовый клиент, будучи запущенным, автоматически войдет в сеть, заберет всю накопившуюся к этому моменту почту и затем разорвет соединение. Запустить же почтового клиента в заданное время можно с помощью Планировщика, о чем было рассказано выше.
Родственные вопросы:
Можно ли войти в Интернет, используя только командную строку
Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?
Можно ли увидеть карту всего Internet, связи, каналы, структура? Сергей Иванов
С "высоты птичьего полета" карту Интернет можно изобразить прямой линией с множеством нанесенных на нее IP адресов, так, чтобы каждый IP-адрес был связан со всеми остальными (см. рис. 10)
Рисунок 10 Рис. 0x014 – Схематическое изображение карты Интернет
Подлетев поближе, мы увидим, что IP-адреса группируются в "стаи", на техническом языке именуемые сетями, а самих сетей существует бесчисленное множество. Члены одной сети, как правило, обслуживаются одним "вожаком", то бишь одним поставщиком сетевых услуг и очень прытко спариваются друг с другом – гораздо легче и быстрее, чем с членами чужих сетей. С другой стороны – если вожак скинет копыта (провайдер зависнет) – парализуется работа всей стаи.
Определить принадлежность узла к той или иной подсети можно по его IP-адресу. Существует несколько различных типов сетей, отличающихся друг от друга максимально возможным количеством входящих в них узлов, – от сетей-малюток в пару сотен абонентов до гигантских мегаполисов из десятков миллионов узлов. Чем же вызвана такая вопиющая несправедливость?
Камень преткновения в ограниченной разрядности IP-адреса – при всем желании в жалкие 32 бита нельзя втиснуть больше, чем четыре миллиарда постоянных узлов. Учитывая все ускоряющие темпы роста Интернет – это совсем немного!
Если откинуть немногочисленные клинические случаи (оговоренные ниже), всякий IP-адрес состоит, по меньшей мере, из адреса сети и адреса узла в этой сети. Адрес сети занимает от одного до трех октетов (октет – это восьмерка бит, в общепринятой нотации представленная десятичным числом от 0 до 255 и отделенная от другого октета символом точки). Из-за переменной длины определить принадлежат ли два IP-адреса одной или различным сетям не так-то просто! Поэтому, ниже приведена таблица 2, облегчающая решение этой задачи.
| Диапазон IP адресов | Класс сети | Макс. кол-во узлов сети | Макс. кол-во сетей | ||||
| 001.ххх.ххх.ххх - 126.ххх.ххх.ххх | А | 16.777.214 | 126 | ||||
| 128.000.ххх.ххх – 191.255.ххх.ххх | B | 65.534 | 16.382 | ||||
| 192.000.000.ххх – 223.255.255.ххх | С | 254 | 2.097.150 |
Таблица 2 Классификация сетей Интернет
Попробуем это таблицей воспользоваться. Например, есть у нас два адреса: 119.013.200.01 и 119.014.22.221 – так, смотрим, старший, т.е. первый слева октет, – 119 – входит в диапазон 1 – 126 и, следовательно, указывает на сеть класса А. Три остальных октета задают адрес узла в этой сети. Таким образом, оба IP-адреса принадлежат одной сети – 119.000.000.000.
Другой пример: возьмем адреса 191.222.067.129 и 191.221.067.129. Так-с, первый октет – 191 – явно не входит в интервал 1 – 126 и не принадлежит сети класса А, но принадлежит сети класса B. Адрес сети класса B задается двумя октетами, следовательно, второй октет слева – это продолжение адреса сети. Но у наших IP-адресов вторые слева октеты разные – 222 против 221. Выходит, эти узлы принадлежат различным сетям.
Чтобы построить карту Интернет остается только разобраться как соединяются узлы одной сети и как сами сети взаимодействуют друг с другом.
При модемном соединении с провайдером все абоненты соединяются друг с другом и с внешним миром через специальный выделенный сервер (см. рис. 11.1). Для локальных Ethernet сетей более характерно "параллельное" подсоединение – с внешним миром узлы общаются через специальный сервер, а друг с другом – напрямую без посредников. Разумеется, это упрощенная модель: сети могут делиться на подсети, связанные между собой маршрутизаторами, а каждый узел локальной сети может принимать входящие звонки с одного или нескольких модемов. Таким образом, схема функционирования типичного провайдера сильно отличается от идеализированных моделей и ближе к рис. 11.2.


Рис 0x015 Типичная схема подключения к провайдеру, Рис 0x016 Типичная локальная Ethernet-сеть

Рисунок 11 Рис 0x017. Комбинированная модель
Сами сети в свою очередь так же соединены меж собой некоторым образом, причем, не всегда напрямую, а зачастую через длинную цепочку промежуточных сетей. Самое интересное, маршрут путешествия пакетов от одной сети к другой в большинстве случаев не единственный и не постоянный. Точно так, из Москвы в Ленинград можно отправиться и на самолете, и на поезде, и на легковой машине, и… да мало ли еще на чем! Аналогично: при соединении с сайтом Microsoft.com, случается, что один пакет направляется по трансатлантическому кабелю, другой – из-за перегрузки маршрутизатора – идет через спутник, а третий доставляется совсем иным путем.
Разумеется, это возможно только в тех случаях, когда сети соединены друг с другом множественным образом, иначе – путь только один, равно как из таежной деревни Большие Грибы в Москву можно добраться лишь одним путем – сначала на санях до вокзала, а оттуда поездом до точки назначения с кучей пересадок. И никаких вам ни самолетов, ни вертолетов, ни спутников…
??? Рисунок "карикатура" – обыграть предыдущий абзац
Чтобы построить любую карту, не обязательно именно Интернет, необходимо отправиться в путешествие в процессе которого наносить на бумагу свой маршрут с указанием географических (или Интернет) координат. В Интернете координатами служат IP-адреса, ну а в роли картографа выступает утилита tracert из штатной поставки Windows, скрупулезно отмечающая все промежуточные узлы, посещенные пакетом. Остается только выбрать маршрут путешествия. Куда бы нам направится? Давайте посетим сайт провайдера www.aha.ru. Итак, набираем в "Сеансе MS-DOS" "tracert.exe www.aha.ru" и ждем-с. Маршрут путешествия автора, пользующегося услугами првайдера krinel, выглядел так:
Трассировка маршрута к www.aha.ru [195.2.70.38]
1 831 ms 871 ms * cisco03-s0.krintel.ru [195.161.42.210]
2 801 ms 771 ms 801 ms ns.krintel.ru [195.161.42.222]
3 841 ms 831 ms 821 ms 195.161.241.1
4 841 ms 831 ms 851 ms 195.161.241.226
5 831 ms 802 ms 841 ms 217.106.16.49
6 811 ms 811 ms 891 ms 217.106.17.69
7 842 ms 811 ms 861 ms bb-pos1-1-0-155m.moscow.rostelecom.ru [213.24.141.185]
8 891 ms * 861 ms bgw2-giga4-0-0.Moscow.Rostelecom.ru [195.161.0.2]
9 1061 ms 751 ms 831 ms m9-2-atm3-0-5.zenon.net [195.161.161.158]
10 932 ms 811 ms 871 ms m9-3-giga5-0-0.msk.zenon.net [195.2.89.13]
11 1001 ms 851 ms 842 ms jam-l3sw-2-giga1-2.msk.zenon.net [213.189.198.22
22 942 ms 871 ms 931 ms jam-slb-1.msk.zenon.net [195.2.70.38]
О чем этот протокол говорит? Сначала пакеты попадают на "сортировочный пункт" – маршрутизатор cisco03.krintel.ru с IP-адресом 195.161.42.210. Обратившись к таблице 2, выясняем, что это сеть класса "С", следовательно, адрес сети задается тремя старшими октетами и выглядит так: 195.161.42.0. Затем пакеты направляются на "сборочный пункт" – ns.krinel.ru, судя по адресу сети, принадлежащий все тому же провайдеру, а затем – в другую сеть 195.161.241.0, затем вновь в другую и, наконец, добираются до крупного провайдера RosTelecom, который и является провайдером провайдера krintel. Погуляв немного по серверам Ростелеком-а, пакетики, наконец, устремляются в локальную сеть провайера zenon – того, что владеет сервером www.aha.ru…
Таким образом, первая линия на карте Интернет проведена. Попробуем теперь другой маршрут – исследуем траекторию путешествия пакетов к серверу NASA, расположенного в далекой Америке.
Трассировка маршрута к foundation.hq.nasa.gov [198.116.142.34]
1 781 ms 982 ms 991 ms cisco03-s0.krintel.ru [195.161.42.210]
2 831 ms 912 ms 901 ms ns.krintel.ru [195.161.42.222]
3 971 ms 832 ms 861 ms 195.161.241.1
4 841 ms 851 ms 841 ms 195.161.241.226
5 841 ms 861 ms 852 ms 217.106.16.49
6 862 ms 861 ms 831 ms aa-bb-s3-2-0.Rostov.Rostelecom.ru [217.106.17.25]
7 851 ms * 861 ms bb-pos1-1-0-155m.moscow.rostelecom.ru [213.24.141.185]
8 * 882 ms 821 ms bgw2-giga4-0-0.moscow.rostelecom.ru [195.161.0.2]
9 1052 ms 1031 ms 1112 ms dar1-serial4-1-0-0.NewYorknyr.cw.net [206.24.206.65]
10 1081 ms 1062 ms 1101 ms acr2-loopback.NewYorknyr.cw.net [206.24.194.62]
11 1062 ms * 1112 ms corerouter2.WestOrange.cw.net [204.70.9.139]
12 1111 ms 1162 ms 1061 ms core4.Washington.cw.net [204.70.4.105]
13 1042 ms 1161 ms 1072 ms cable-and-wireless-peering.Washington.cw.net [204.70.1.18]
14 1081 ms 1102 ms 1232 ms mae-east.nsn.nasa.gov [192.41.177.125]
15 1132 ms 1121 ms 1152 ms 128.161.3.14
16 1231 ms 1242 ms 1312 ms 128.161.1.62
17 1372 ms 1602 ms 1392 ms border.hcn.hq.nasa.gov [198.116.63.34]
Ага, оказывается, начальная часть маршрута совпадает – куда бы мы ни шли, мы все равно попадаем в Ростелеком, на базовый перевалочный путь, т.е. ту железнодорожную станцию Больших Грибов, куда приходится добиться на санях.
Впрочем, не всегда одними и тем же путями – в прошлый раз пакет направлялся на Московский сервер Ростелеком, а сейчас – на Ростовский! Но в целом путь всех пакетов идентичен – жирным шрифтом выделены совпадающие в обоих случаях точки маршрута.
Продолжая действовать в том же духе, поочередно соединясь с различными сетями, в некотором (весьма отдаленном) будущем мы сумеем построить если карту не всего Интернет, то, по крайней мере, некоторой его части. Нельзя ли как-нибудь автоматизировать этот процесс? Увы, нет…
Так надо ли этим заниматься? В общем-то, нет, но знать каким именно образом ваш провайдер соединен с внешним миром и кто провйдер првайдера под час очень полезно. Проследим маршрут пакетов к серверу www.aha.ru, подключившись к другому провайдеру – itech.
Трассировка маршрута к www.aha.ru [195.2.70.38]
1 140 ms 130 ms 140 ms nas.itech.ru [195.151.210.36]
2 151 ms 140 ms 150 ms ns.itech.ru [195.151.210.33]
3 171 ms 160 ms 170 ms gw.itech.ru [195.151.210.29]
4 161 ms 160 ms 180 ms 195.151.200.90
5 260 ms 231 ms 300 ms krd-gw.mtt.ru [195.151.52.41]
6 391 ms 340 ms 371 ms Moscow18-S3-7-0.RoSprint.net [194.84.251.246]
7 340 ms 451 ms 410 ms Moscow41-F1-0.RoSprint.net [193.232.88.23]
8 360 ms 501 ms 330 ms m9-3-fa4-1-0.zenon.net [193.232.244.48]
9 821 ms 901 ms 2164 ms jam-l3sw-2-giga1-2.msk.zenon.net [213.189.198.25]
10 441 ms 320 ms 341 ms jam-slb-1.msk.zenon.net [195.2.70.38]
Заметно, что теперь пакеты доходят втрое быстрее (320 ms задержки против 870) к тому же маршрут вдвое короче, а сам провайдер пользуется услугами Sprint-а, а не Ростелекома. Но самое интересное посмотреть каким образом идут пакты от провайдера itech к провайдеру krintel. Самих провайдеров физически разделяет каких-то двадцать километров, поэтому, думается, маршрут пакетов будет очень коротким…
Трассировка маршрута к krintel.ru [195.161.42.222]
1 * 2984 ms * nas.itech.ru [195.151.210.36]
2 2895 ms 1051 ms 180 ms ns.itech.ru [195.151.210.33]
3 220 ms 491 ms 180 ms gw.itech.ru [195.151.210.29]
4 240 ms 261 ms 220 ms 195.151.200.90
5 621 ms 1162 ms 1872 ms krd-gw.mtt.ru [195.151.52.41]
6 * * * Превышен интервал ожидания для запроса.
7 451 ms 450 ms 311 ms Moscow01-F0-0-0.RoSprint.net [193.232.88.20]
8 360 ms 501 ms 360 ms Petersburg01-A1-0-0-1.RoSprint.net [193.232.90.5]
9 1142 ms 521 ms * Fe1-0-0.STPAR1.St-petersburg.opentransit.net [193.251.248.41]
10 511 ms 611 ms 490 ms A0-0-0.634.STHAR2.Stockholm.opentransit.net [193.251.150.241]
11 631 ms 441 ms 390 ms P1-1.STHBB1.Stockholm.opentransit.net [193.251.150.33]
12 391 ms 561 ms 430 ms P4-0.LONBB1.London.opentransit.net [193.251.154.185]
13 421 ms 540 ms 491 ms P6-0-0.LONAR1.London.opentransit.net [193.251.154.114]
14 501 ms 430 ms 411 ms 195.66.225.48
15 1953 ms 1863 ms 2603 ms ldn-hex-b1-srp5-0.telia.net [193.45.0.129]
16 741 ms 431 ms 441 ms sto-b3-pos3-0.telia.net [193.45.129.37]
17 610 ms 491 ms 591 ms sto-fre-i1-srp1-0.telia.net [193.45.129.4]
18 500 ms 381 ms 461 ms rosstelecom.k.telia.net [193.45.36.202]
19 2925 ms 811 ms 641 ms gsr-giga2-2.Moscow.Rostelecom.ru [195.161.0.7]
20 431 ms 721 ms 441 ms bb-pos5-0-155M.Rostov.Rostelecom.ru [213.24.141.186]
21 420 ms 441 ms 451 ms aa-s1-0.Krasnodar2.Rostelecom.ru [217.106.17.2]
22 751 ms 411 ms 521 ms 217.106.16.50
23 470 ms 421 ms 471 ms 195.161.241.227
24 531 ms 601 ms 550 ms krintel.ru [195.161.42.222]
О-го-го! Двадцать четыре перехода, с заходом в Санкт-Петербург, Стокгольм, Лондон, Москву, Краснодар, Ростов... Вот это "короткая" дорога! Дважды обогнуть Землю, чтобы попасть в исходную точку!
Зная, как провайдер соединен с внешним миром, с другими странами и провайдерами, можно не задумываясь распознавать самый быстрый из нескольких зеркальных серверов, причем осмысленно, а не методом тыка!
Например, входя в сеть через провайдера krintel бессмысленно пользоваться web и ftp Proxy-серверами провайдера itech – это только замедлит соединение. Напротив, зная, что у krintel-а связь с Америкой препаршивейшая, а с Японией даже быстрее, чем по России – имеет смысл найти бесплатный японский Proxy и через него скачивать с сайта любимой фирмы новую beta-версию всем известного браузера.
Можно ли войти в Интернет, используя только командую строку?
Да, можно, но с некоторыми ограничениями. Штатная поставка Windows9x содержит лишь GUI-шную утилиту удаленного доступа. Ее, в принципе, можно вызвать и из командной строки, но работать она будет все равно в графическом режиме. Напротив, поставка Windows NT\2000 включает в себя полноценное консольное приложение для удаленного доступа – rasdial, вообще не использующее графического интерфейса.Можно ли восстановить случайно удаленное сообщение?
Общеизвестно, что при удалении сообщений Outlook Express в действительности их не уничтожает, а перемещает в папку "Удаленные". Но можно восстановить сообщение, удаленное из "Удаленных"?Штатными средствами – нет и автору не известна ни одна, умеющая это делать, утилита. Но, если со времени удаления сжатие папок не выполнялось и фоновое сжатие отключено (см. ответ на предыдущий вопрос), – стоит попытаться сделать это вручную.
В Windows 9x все сообщения хранятся в почтовых файлах "как есть" (см. ответ на вопрос "Где Outlook хранит мои письма?") в одноименных файлах и, открыв их любым подходящим текстовым редактором, можно найти удаленное сообщение, вырезать его и сохранить на диск. В Windows 2000 сообщения так же хранятся "как есть", но имена почтовых файлов по умолчанию не совпадают с именами соответствующих папок – будьте внимательны!
Родственные вопросы:
Где Outlook Express хранит мои письма ?
Я удалил из паки большое количество сообщений, но ее размер не изменился
На какие характеристики модема следует обращать внимание в первую очередь?
Покупая двадцати одно дюймовый монитор, мы абсолютно уверены, что он будет работать именно на двадцать один дюйм, а не всего лишь на семнадцать или того хуже – четырнадцать! С модемами же ситуация совсем иная: на наших телефонных линиях практически ни какой из них не "разгоняется" до 56 килобитодв секунду – наиболее популярной на сегодняшний день скорости, горделиво красующейся на коробках. Реальная производительность модемов весьма разнится от одного изделия к другому, порой отличаясь в десятки раз, но какой бы высокой скорость ни была – модем бесполезен, если постоянно "роняет" трубку или – что хуже – и вовсе не может установить соединение.
В примере с мониторами все ясно – все основные характеристики как-то: диагональ, разрешение, частота, зернистость интуитивно понятны каждому покупателю и не требуют дополнительных разъяснений. А вот на что в первую очередь обращать внимание при покупке модема? Вопрос не имеет однозначного ответа – все зависит от рода и качества телефонной линии, на которой вы собираетесь этот модем эксплуатировать.
Для местных каналов связи в первую очередь актуальны: устойчивость модема к затуханию сигнала, устойчивость к постоянному шуму и импульсным помехам (треску). Для междугородних в дополнение к этому – максимально допустимое расхождение частот, устойчивость к джиттеру (резким скачкам фазы), степень переносимости
нелинейности АЧХ ("завалов" и "подъемов" на некоторых частотах).
Затухание сигнала: вследствие сопротивления кабелей мощность сигнала по мере его продвижения от передатчика к приемнику неуклонно снижается и, если затухание окажется достаточно сильным, приемник может вообще не расслышать сигнал. Минимальная мощность сигнала, уверенно воспринимаемая приемником, называется его чувствительностью. {КОНЕЦ КУРСИВА}Чувствительность модема принято выражать в децибелах относительно мощности в 1 мВт. Попросту говоря, чем больше по модулю, приведенное в паспорте значение, чем лучше модем справляется с затуханием.
Чувствительность большинства модемов лежит в интервале от –40 до – 50 дБм, чего вполне достаточно в большинстве случаев, даже более чем – на линиях с незначительным затуханием модем "глохнет" от "крика" своего собеседника и чувствительность приходится снижать. Для оптимальной настройки на конкретную линию модему необходимы регуляторы уровня приема и передачи. Они могут быть либо ручными (такие ставят на модели среднего класса), либо автоматическими (такие встречаются на дорогих моделях), а на дешевых поделках зачастую по обыкновению никаких регуляторов вообще нет или присутствует только регулятор передачи.
??? Рисунок "карикатура" – один модем, стоящий на ногах как человек, орет что есть силы, а другой затыкает свои уши пальцами
На низкокачественных телефонных линиях затухание зачастую не остается постоянным, а меняется с течением времени по случайному или периодическому закону – в этом случае ручная регулировка дает немного пользы и намного выгоднее применить модем с автоподстройкой уровня сигнала.
Очень важная характеристика – обычно замалчиваемая производителями – скорость приема данных на пределе чувствительности. Она, за исключением клинических случаев, лежит в интервале от 500 до 2.000 байт в секунду. Высокая паспортная чувствительность модема указывает лишь на возможность удержания соединения при снижении сигнала до такого-то данного уровня, но отнюдь не гарантирует стабильность и производительность его работы в таких условиях. На практике высокочувствительные модемы отличаются лишь способностью противостоять временным затуханием сигнала без разрыва связи.
Скоростной показатель по затуханию позволяет приблизительно оценить среднюю скорость передачи в зависимости от степени затухания сигнала. и Выражается он безразмерной величиной, равной площади фигуры, образованной пересечением графика "скорость (степень затухания)" с координатными осями.
Шум: монотонное шипение, так же называемое "белым шумом", описывается тем же законом, что и результат работы генератора случайных чисел. Белый шум, наложенный на полезный сигнал, можно выдать только "с мясом" – самим полезным сигналом. Фактическая амплитуда полезного сигнала равна разности амплитуд сигнала и шума. Отсюда – абсолютная величина амплитуды шума не имеет никакого значения – качество линии определяется отношением уровня сигнала к уровню шума.
Важнейшие шумовые характеристики модема – это: показатель критического отношения сигнала к шуму и скоростной показатель качества по зашумлению. Показатель критического отношения сигнала к шуму определяет максимально возможную степень зашумленности линии, при которой еще возможно поддержание связи, а скоростной показатель качества по затуханию выражается безразмерной величиной, равной площади фигуры, образованной пересечением графика "скорость (степень зашумленности)" с координатными осями.
У различных моделей модемов показатель критического отношения сигнала к шуму неодинаков и колеблется от 2 до 11 дБ, чем эта величина больше, тем более качественная линия требуется модему для работы.
Импульсные помехи: щелчки и трески на линии в режиме блочной передачи как минимум приводят к необходимости повторной посылки кадра, а максимум – перенастройке параметров соединения. Разрыв связи от кратковременных помех случается крайне редко и указывает на неправильную настройку или неисправность модема.
Расхождение частот: высокочастотное уплотнение связи, использующие в основном на междугородних каналах, основано на сдвиге спектра передаваемого сигнала в высокочастотную область – это позволяет, сдвигая спектр каждого абонента на "свое" расстояние, "упаковать" в один высокочастотный канал множество низкочастотных. Разумеется, на принимающей стороне приходится проделывать обратную операцию – сдвигать спектр вниз – в область меньших частот.
В силу конструктивных особенностей синхронизация между приемником и передатчиком отсутствует, что приводит к невозможности точного воспроизведения частоты исходного сигнала – возможен как "недодвиг", так и "передвиг". По нормативам максимально допустимое отклонение составляет ±7 Гц, но на практике приходится сталкиваться и с большими значениями.
Противостоять сдвигам частоты помогают специальные компенсаторы, встроенные в модем – чем совершеннее компенсатор, тем больший сдвиг он может выдержать. Расхождение частот никак не сказывается на скорости обмена данными, но, начиная с некоторой величины, компенсатор не справляется и связь не устанавливается.
Критическое значение сдвига варьируется от одной модели модема к другой и заключено в интервале от ±10 до ±20 Гц – чем оно больше, тем лучше модем.
Джиттер: наводки от источников переменного тока и индукторных вызовов с соседних каналов, проходя через аппаратуру высокочастотного уплотнения, приводят к паразитной модуляции и, как следствие, – дрожанию фазы с частотой порядка 100 Гц. Основная энергия джиттера сосредоточена в узком диапазоне 2-20 Гц и специальные фильтры, встроенные в модем, могут ее подавить.
Разумеется, степень подавления джиттера различными моделями модемов не одинакова – одни рвут связь уже при 20°, в то время как другие спокойно выдерживают 45°. Чем эта величина больше – тем лучше.
Нелинейность АЧХ: вследствие индуктивного сопротивления линии, затухание сигнала быстро растет с частотой, и для преодоления этой беды применяют эквалайзер, позволяющий выборочно усиливать строго определенные частоты, а не весь спектр сигнала целиком.
Пункты переприема – попросту говоря ретрансляторы – вносят в сигнал свои искажения – усилители заваливают АЧХ по краям, причем каждый из них по-своему, отчего после N-ого пункта переприема АЧХ сигнала начинает приобретать очень причудливый вид, напоминая разлапистый горный кряж с многочисленными "пиками" и "провалами". Исправить такие искажения может только очень сложный эквалайзер. К сожалению, общепринятой величины, выражающей "интеллектуальность" эквалайзера не существует, и в отчетах независимых экспертов фигурирует другая величина – максимальное количество станций переприема, которое может "вынести" модем. При условии, что все модемы тестировались на одной аппаратуре, эта величина позволяет сравнивать относительное качество одних моделей с другими.
Эхо: своим появлением дуплексная передача не в последнюю очередь обязана изобретению адаптивных эхо компенсаторов, – без них уровень шумов был бы настолько высок, что о скоростях передачи свыше 2.400 бит в секунду пришлось бы забыть. С ростом скорости допуски на эхо резко ужесточаются, а сами компенсаторы невероятно усложняются, порой приближаясь к сложности самого модема, а то и превосходя его. Производители дешевых моделей экономят в первую очередь на эхо - компенсаторах, и такие модемы крайне неудовлетворительно работают на линях среднего и низкого качества – они либо вообще не могут соединиться на скорости выше 14.400 – 19.200, либо постоянно роняют трубку.
Подавление эха – задача, тесно граничащая с искусственным интеллектом, и общепринятых единиц для ее выражения нет.
{ВСТАВИТЬ ПЕРЕНОС СТРОКИ \n}
Производители модемов с упорством, достойным упрямейших из ослов, всеми силами замалчивают реальные технические характеристики своих изделий, и уж тем более избегают приводить их в паспорте. Поэтому, техническая документация – слабый помощник при выборе конкретной модели модема. Приходится обращаться к независимым источникам и отчетам тестирования модемов различными экспертами. Чаще всего их измерения носят объективный характер и достаточно достоверны, но:
во-первых, как правило, это измерения с настройками по умолчанию – иначе, говорят эксперты, будут сравниваться не сами модемы, а искусство их настройки. Но настройки по умолчанию под час мало чему путному соответствуют, и такие тесты должны быть интересны только покупателям a la "принес – воткнул - работает", не собирающихся "колдовать" над своим модемом;
во-вторых, независимые тестеры редко измеряют все перечисленные выше параметры, а без этого результат тестирования, мягко говоря, ущербленный, неполноценный. Скажем, к чему модему высокая чувствительность, если он не может справиться ни с эхом, ни с шумом – постоянными спутниками тихого сигнала. Это все равно, что скоростная гоночная машина со слабыми тормозами и плохим управлением – крути – не крути, а ездить на полной скорости все равно не придется.
Выбор модема – рулетка! и Здесь очень трудно дать заочно конкретный совет, но автор все-таки
же попробует…
Родственные вопросы:
Выбор модема (следующий)
Как выбрать модем по руке
Как подобрать правильную строку инициализации или что делать, если модем не работает?
Надежнее ли "сохранение пароля" его ручного ввода?
Сравнивать надежность "сохраненного пароля" с его ручным вводом – все равно, что сравнивать тяжесть километров и литров. Это совершенно разные категории каждая со своими достоинствами и недостатками.Недостатки пароля, вводимого вручную, следующие:
а) длинный пароль трудно запомнить, и приходится где-то записывать, что создает угрозу его раскрытия, а короткий или осмысленный пароль злоумышленник сможет легко подобрать;
б) пароль, набираемый на клавиатуре, могут подсмотреть посторонние (гости, коллеги и т.д.);
с) зловредная программа-шпион (вирус, например) может отслеживать нажатие клавиш и отсылать их своему "хозяину";
д) ручной ввод пароля – утомительное занятие, особенно если его приходится вводить помногу раз на день.
Недостатки "сохраненного пароля" следующие:
а) зловредная программа-шпион (вирус, например) может вытащить из компьютера сохраненный пароль и отослать его своему "хозяину";
б) любой человек, сев за компьютер, безо всяких программ сможет получить доступ к защищенному паролем ресурсу, т.к. ручного ввода пароля не требуется.
"Сохранение пароля" ничуть не безопаснее его ручного ввода – если у потенциального похитителя пароля есть доступ к компьютеру или возможность запустить на нем шпионскую программу, он с одинаковой легкостью украдет и "сохраненный", и "ручной" пароль. Но автоматическое сохранение пароля очень удобно и не стоит пренебрегать этой возможностью!
Накрутка – как средство конкурентной борьбы
Баннер мало показать. Надо знать кому его показать! Например, реклама крановых электродвигателей, вывешенная на ботаническом сайте, будет чрезвычайно малоэффективна, хотя - с точки зрения многих баннерных компаний - вполне законна.Причем, сам рекламодатель, купивший столько-то своих показов, зачастую не имеет ни какого представления о том: кому и где они будут показаны (и будут ли показаны вообще)! Конкуренты могут воспользоваться этим фактом для размещения его баннеров на таких страницах, где их увидит совсем другая целевая аудитория. И, хотя все показы будет засчитаны, ожидаемого результата реклама не принесет и деньги, затраченные на нее, окажутся выброшенными впустую.
Впрочем, от этого очень легко защититься. Покупая показы, необходимо всегда обязательно оговариватьоговаривайте
тематику сайтов, на которых они будут расположены. В противном случае эффективность рекламы будет неоправданно низкой даже и без вмешательства конкурентов.
Накрутка на стороне клиента
Качественная имитация пользователя – чрезвычайно сложная задача, требующая для своей реализации достаточно высокого программистского мастерства. Те же, кто обладает такой квалификацией, вряд ли будут связываться с накрутной баннеров. Во всяком случае, в сети не существует ни одной по настоящему добротной программы – "крутилки". Встречаются лишь едва-едва работающие макеты, содержащие множество ошибок и написанные, по-видимому, в процессе освоения языка Си и\или Perl. Ни одна из таких поделок не представляет серьезной угрозы и легко распознается простейшим анализатором.Но зачем имитировать клиента, когда под рукой есть живой экземпляр? Для "ослепления" статистических методов злоумышленники прибегают к накрутке на клиентской стороне. Ниже рассмотрены четыре таких способа и ни от одного из них пока не придумано надежной защиты.
Насколько надежен брендмаузер?
Все брандмаузеры можно разделить на три категории – фильтры пакетов, контекстные фильтры и шлюзы уровня приложений (в обиходе называемые Proxy-серверами). В свою очередь существуют фильтры следующих уровней – прикладного, транспортного, сетевого и канального.Первые три из них могут быть введены в заблуждение злоумышленниками, подделавшими заголовки IP-, TCP- и UDP-пакетов. Канальный уровень, т.е. уровень сопряжения с физической средой, имеет смысл контролировать только в локальной сети. При модемном соединении с провайдером эта операция ничего не дает, т.к. в этом случае все пакеты на канальном уровне приходят только от провайдера, и информации о физическом адресе узла-отправителя в них не содержится.
Контекстные фильтры Контекстные фильтры работают надежнее, но области их применения ограничены, к тому же они не способны к отражению новых атак, разработанных после их появления. Обычно они используются для поиска ключевых слов, наподобие “порно”, “секс”, “наркотики” и всех других, которые строгие родители запрещают читать своим чадам.
Шлюзы Шлюзы удобны в корпоративных сетях, но совершенно ни к чему частному пользователю, правда, если у кого-то есть два компьютера, то, выделив один под Proxy-сервер, можно попытаться обезопасить другой.
Существует множество утилит, которые позволяют посылать пакеты от чужого имени и, тем самым, вводить персональные брандмаузеры в заблуждение. Впрочем, злоумышленники можно действовать и вполне легальными (с точки зрения брандмаузера) средствами. Например: пусть жертва решила посетить некий сайт X. Разумеется, брандмаузер должен пропускать все пакеты, идущие от этого узла. Теперь – предположим, что сервер, на котором расположен сайт, предоставляет бесплатный (платный) хостинг всем желающим. Тогда, атакующий, разместив на этом серевре свою программу, сможет беспрепятственно бомбить жертву пакеты, которые не сможет отфильтровать брандмаузер.
Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?
Специфика работы ftp-сервера такова, что он требует для своей работы установки сразу двух соединений: одного – для обмена командами, другого – для приема или посылки данных. "Командное" соединение всегда устанавливает клиент и Proxy-сервер (firewall) его благополучно "пропускает" (см. "Интернет. Общие вопросы à Что такое Proxy-сервер и как с ним работать?"), а вот соединение для передачи данных может устанавливать либо сам сервер (активный режим) или клиент (пассивный режим).При работе под Proxy-сервером активный режим невозможен, т.к. Proxy допускает установку лишь исходящих соединений – от клиента к серверу, но не наоборот, а Firewall может быть сконфигурирован так, чтобы блокировать входящие соединения (хотя это и не обязательно). Поэтому ftp-клиент должен быть переведен в пассивный режим. Как конкретно это сделать рассказывается в документации, прилагаемой к используемому приложению (во всяком случае, должно рассказываться), если, конечно, данное приложение поддерживает пассивный режим.
Ниже в качестве примера приведена техника конфигурирования двух популярных ftp-клиентов – FAR-менеджера и "качальщика" ReGet. Все остальные конфигурируются приблизительно тем же образом (ищите пункт "Пассивный режим" или "Passive mode" по-английски).
Не пиши мне письмо…
Многие злоумышленники настолько ленивы, что не могут найти сил для создания даже примитивного сайта "я и моя собака". Вместо этого они вставляют баннеры в письма и рассылают их сотням тысяч, а то и миллионам адресатов.Большинство почтовых клиентов поддерживает HTML-формат и просмотр полученного письма равносилен посещению web-страницы. Разница лишь в том, что владелец настоящей web-страницы должен сидеть-дожидаться когда же к нему зайдет пользователь (ну да, жди у моря погоды!), а спамер сам инициирует заход пользователя! Причем не одного, а очень многих сразу!
Не всем спонсорам нравится, когда их рекламируют таким варварским способом, но в общем случае, с точки зрения рекламодателя спам – реклама честная. За исключением, быть может, автоматически открывающихся окон и хитроумно спрятанных страниц (они ничуть не хуже себя чувствуют и в теле письма).
Существует принципиальная, но пока никем не реализованная возможность создания автономного Интернет-червая, который, используя ошибки реализации почтовых серверов и почтовых клиентов, получал бы список пользователей, зарегистрированных на сервере и адресов из "Адресной книги". В кратчайшие сроки удалось бы разослать рекламные письма десяткам миллионов получателей, а это – деньги, большие деньги!
Пользователям, не желающим становится орудием чужого обогащения, можно порекомендовать отключить поддержку скриптов в своем почтовом клиенте. Правда, после этого некоторые письма читать станет невозможно.
Ненадежность переменных окружения
Переменные окружения очень удобны для хранения различных настроек и организации межпроцессорного взаимодействия. Единственный существенный их недостаток – абсолютная незащищенность. Бытует мнение, что удаленный пользователь не может манипулировать переменными окружения на сервере, а потому, их использование вполне безопасно.Но это не так! Протоколы telnet, ftp и некоторые другие разрешают даже анонимному пользователю не только читать, но и изменять любые переменные окружения по своему желанию. Поэтому, полагаться на них, право же, не стоит.
Особенно опасно хранить в них пути к библиотекам или файлам данных, - в этом случае, изменив переменную окружения, злоумышленник сможет "подсунуть" программе свою "троянизированную" библиотеку, последствия использования которой очевидны. Однако, описание подобных атак, выходит за рамки протоколов http и cgi, поэтому, в этой книге подробно не рассматривается.
Необходимо скачать большой файл
Такое часто случается… В сети существует не так уж мало серверов, не поддерживающих докачку, но хранящих файлы в несколько десятков мегабайт размером. Удивительно, о чем только думают их владельцы! На низкоскоростных низкокачественных линиях скачать такие файлы принципиально невозможно, поскольку разрыв наступает раньше, чем удается получить хотя бы половину файла.Очень часто проблема решается поиском того же самого файла на каком-нибудь другом сервере, докачку поддерживающим. В этом помогают поисковые машины или ссылки на зеркала на самом сервере. Но этот примем, к сожалению, срабатывает не всегда – существуют и такие файлы, которые находится в единственном экземпляре на единственном в сети сервере.
Пользователи давно ведут непрекращающуюся "священную войну" по поводу "чья файлокачалка лучше". Некоторым утилитам даже приписывается мифическое (мистическое?) умение докачивать с любого сервера. В действительности же – все это легенды и не более того. В "докачке" ничего загадочного нет. Некоторые серверы поддерживают специальную команду, позволяющую начать передачу файла не с самого начала, а с произвольной позиции. Если же такой команды в "лексиконе" сервера нет, – докачка невозможна в принципе, и при обрыве соединения придется начинать качать все заново. Ну, разве, что файл скэшируется где-нибудь "по дороге".
Иногда выручает перекачка через кэширующий Proxy-сервер. При первом же запросе он получает файл целиком и сохраняет его на своем диске, избавляя клиента от "радости" общения с недокачивающим сервером. Однако сервер может легко запретить кэширование (что часто и происходит) – тогда такой прием не сработает. В частности, ни одна из известных автору качалок не умеет докачивать файлы, выдаваемые cgi-скриптами. А такая потребность возникает и очень часто! Как же быть?!
Проще всего воспользоваться услугами специальных серверов, позволяющих получать файлы с ftp- и web-серверов по электронной почте. Во-первых, соединение с почтовым ящиком провайдера обычно много быстрее, чем с далеким за бугорным сервером, а, во-вторых, в этом случае большой файл автоматически разрезается на несколько частей, что упрощает его получение.
Другой, более универсальный, способ состоит в использовании промежуточного сервера с максимально быстрым каналом. Чем быстрее канал, тем больше шансов на то, что файл будет целиком передан за один раз без разрывов. Затем же, с промежуточного сервера искомый файл может быть без проблем скачен на компьютер пользователя (естественно, промежуточный сервер должен поддерживать докачку, иначе не стоит и затевать весь этот сыр-бор). Альтернативный вариант – если такой сервер территориально близок, можно подъехать к его владельцу и переписать скаченный файл на дискету (CD-ROM, Zip и т.д.), сэкономив изрядное количество времени и денег.
Для скачивания файла через промежуточный сервер можно воспользоваться либо telnet-доступом, запустив на удаленной машине ftp-клиента (см. вопрос "Разное à Что такое telnet и как с ним работать"), либо разместить на web-сервере специальный cgi-скрипт, делающий всю работу за вас (см. "Personal Web Server à Какие сервера бесплатно предоставляют право исполнения cgi?", "Personal Web Server à
Как разместить скрипт на сервере?")
Родственные вопросы:
Разное à
Что такое telnet и как с ним работать
Personal Web Server à
Какие сервера бесплатно предоставляют право исполнения cgi?
Personal Web Server à
Как разместить скрипт на сервере?
Попытка скачать с WEB-сервера файл моим любимым "качальщиком" заканчивается провалом – сервер "ругается" и не "отдает" файл. В то же время, через браузер все работает нормально, но, естественно, без докачки. Почему так? (следующий)
О каких конкретно именно приложениях рассказывается в данной книге?
Хотя данная книга описывает не сами приложения, а общую концепцию работы, применимую к множеству приложений, большинство ответов содержат и готовые решения в стиле "нажми то-то, щелки там-то…" на примере конкретных приложений. Что же это за приложения?В первую очередь те, которые использует сам автор в повседневной работе – Outlook Express 5.0, Internet Explorer 5.0, FAR 1.6, ReGet 1.4, Teleport Pro 1.28 и некоторые другие. В этом списке нет ни The Bat, ни Netscape Navigator, поскольку, во-первых, они не входят в штатную поставку операционной системы, а, во-вторых, функционально очень близки к Outlook Express\Internet Explorer и во избежание дублирования их описание опускается. В, третьих, ни The Bat, ни Netscape Navigator автору не симпатичны (моя селедка, что хочу, то и делаю).
Описаны следующие операционные системы: Windows 98 (Me), Windows NT 4.0 и Windows 2000 – все русские версии.
Об этой книге
::Краткая история …каждодневно отвечая на множество вопросов, приходящих мне по электронной почте и задаваемых лично – моими друзьями и приятелями, я задумался – а что, если собрать все свои ответы, слегка подредактировать, придав им "товарный" вид, и объединить их одной книге? Сказано – сделано, и результат этой работы лежит перед вами.::Изложение
Возможно, даже наверняка, глубина изложения вам покажется непостоянной – от поверхностных объяснений "на пальцах" до дебрей технических подробностей, вмногие из которых с лету разберется не всякий нелегко понять начинающимй.
Да, это так! Настоящая книга не вытесана из цельного куска древесины, а собрана из мозаики различных пород – самостоятельных произведений, написанных в разное время и для разной аудитории.
Минус ли это? Да нет же, скорее наоборот! Каждый читатель, какой бы он ни был квалификации, найдет в книге что-то интересное для себя. Не книга, а прямо кладовая хочемяка!
::Стиль
Книга построена в стиле "вопрос – ответ". Ответы бывают двух видов – краткие и развернутые. Краткие ответы предваряются символом "Q" (от Question – вопрос), а развернутые – "A" (от Article – статья).
Обзор сокетов
Библиотека Winsock поддерживает два вида сокетов – синхронные (блокируемые) и асинхронные (неблокируемые). Синхронные сокеты задерживают управление на время выполнения операции, а асинхронные возвращают его немедленно, продолжая выполнение в фоновом режиме, и, закончив работу, уведомляют об этом вызывающий код.ОС Windows 3.x поддерживает только асинхронные сокеты, поскольку, в среде с корпоративной многозадачностью захват управления одной задачей "подвешивает" все остальные, включая и саму систему. ОС Windows 9x\NT поддерживают оба вида сокетов, однако, в силу того, что синхронные сокеты программируются более простоще, чем асинхронные, последние не получили большого распространения. Эта статья Наш рассказ посвящена исключительно синхронным сокетам (асинхронные – тема отдельного разговора).
Сокеты позволяют работать со множеством протоколов и являются удобным средством межпроцессорного взаимодействия, но мы будет говорить в данной статье речь будет идти только о сокетах семейства протоколов TCP/IP, использующихся для обмена данными между узлами сети Интернет. Все остальные протоколы, такие как IPX/SPX, NetBIOS по причине ограниченности объема журнальной статьи рассматриваться не будут.
Независимо от вида, сокеты делятся на два типа – потоковые и дейтаграммные. Потоковые сокеты работают с установкой соединения, обеспечивая надежную идентификацию обоих сторон и гарантируют целостность и успешность доставки данных. Дейтаграмные сокеты работают без установки соединения и не обеспечивают ни идентификации отправителя, ни контроля успешности доставки данных, зато они заметно быстрее потоковых.
Выбор того или иного типа сокетов определяется транспортным протоколом на котором работает сервер, - клиент не может по своему желанию установить с дейтаграммным сервером потоковое соединение.
Замечание: дейтаграммные сокеты опираются на протокол UDP, а потоковые на TCP.
Описание утилиты MTUSpeed
Когда дзэнского наставника Бо-чжана спросили о том, как он представляет себе поиски природы Будды, он ответил: "Это похоже на то, как если бы кто-то ездил на быке в поисках этого быка.
Неспециалистам тонкую настройку TCP/IP-параметров (см. "Оптимизация соединения с Интернет") удобнее выполнять не "Редактором Реестра", а какой-нибудь специальной утилитой с более дружелюбным интерфейсом.
Одной из таких утилит и является MTUSpeed, бесплатная копия которой может быть скачена со следующего сайта: http://www.mjs.u-net.com/download.htm. Она хорошо себя "чувствует" под всеми операционными системами семейства Microsoft Windows – Windows 95, Windows 98, Windows NT, Windows 2000, Windows Me, исключая лишь архаичную Windows 3.11 и более ранние версии (в них TCP/IP реализован по-другому).
Под Windows NT и Windows 2000 MTUSpeed требует для своего запуска прав администратора, в противном случае сообщает о критической ошибке, отказываясь работать даже в режиме просмотра параметров без их модификации.
Оптимизация соединения с Интернет
Повременная оплата соединения с Интернет горячо любима всеми нерадивыми провайдерами, кривые руки которых не могут как следует отстроить свое хозяйство и обеспечить надлежащую скорость обменабыструю связь. Клиент получает меньшее количество информации за то же время и в результате дольше торчит в Сети. А время – деньги. В самом, что ни на есть прямом смысле этого слова. Вот, если бы оплата шла за каждый скаченный мегабайт – будьте покойны – все бы летало как реактивный бомбардировщик с ракетой класса "Буш – Садам Хусейн", но многие ли провайдеры поддерживают такой тарифный план?Ладно бы, все заключения ограничивались одной скоростью (в смысле полным отсутствуем таковой). Так нет же – соединение может быть нестабильным, часто обрываться, а то и не работать совсем – некоторые сайты могут не грузиться, ругаясь на загадочную ошибку "TTL Bug", закачка по ftp может вообще не "фэтэпить"… да разве ж перечислишь все злоключения, терзающие интернетчика!
Конечно, радикальнее всего – сменить провайдера, но это не всегда возможно. В больших городах счет провайдеров идет на десятки, а в провинциях он, монополист окаянный, нередко бывает в единичном экземпляре, что вдвойне хуже – монополисту незачем заботиться о своих клиентах – все равно они никуда не убегут, каким бы скверным качество обслуживания ни было. Да и куда бежать-то?
???? Рисунок "карикатура" Изобразить провайдера в виде спрута (щупальца – коммуникации), удушающего своими щупальцами пользователей.
Впрочем, в клинических случаях стоит задуматься о поиске провайдера в соседнем городе. Как ни парадоксально, но даже с учетом междугородней оплаты за телефон, иногда это выходит в несколько раз дешевле. Правда-правда! Именно так и приходиться поступать автору этой книги.
Менее радикальная мера – настроить параметры TCP/IP соединения на максимальную производительность, что дает прирост скорости обмена от 30% до 200% и избавляет от большей части разрывов. Остаются лишь фатальные сбои и зависания самого провайдера, побороть которые с клиентской стороны принципиально невозможно.
Существует множество программ, например, MTUSpeed (http://www.mjs.u-net.com/download.htm), (см. "Описание утилиты MTUSpeed") как раз и предназначенных для этой цели. Одна беда – ни одна из них не работает в полностью автоматическом режиме – все они всего лишь оболочки над системным реестром Windows, – так сказать, комфортный инструмент внесения в него изменений. Но легко сказать "вносить"! А как? Множество малопонятных и ничего не говорящих параметров, порой вообще без каких либо пояснений. Попытки же разобраться во всем "методом тыка" скорее еще больше снизят скорость, чем ее увеличат. Тут без хорошего руководства не обойтись!
Первое, чем мы займемся, – попытаемся устранить разрывы TCP-соединений (не путать с разрывами модемных соединений!). Они довольно многочисленны и разнообразны, а причинной их возникновения может быть и провайдер, и один из маршрутизаторов в длинной цепочке передачи пакетов, и сам удаленный сервер, с которым, собственно, и установлено соединение, и… да мало ли еще кто!
Начнем с провайдера. Итак, представим себе следующую картину (маслом по дереву): модем не бросает трубку, но все установленные соединения вдруг обрываются и после этого ни к одному серверу подключиться не удается. Положение спасает лишь реконнект – отключение от Интернет и повторный заход вновь. Мало того, что это медленно, да к тому же есть риск, нарваться на глухую "бизю" – если что освободившийся телефонный номер мгновенно в это время займет другой клиент (особенно если у провайдера острый недостаток входных номеров). В зависимости от кривости и нагрузки сервера такие разрывы могут происходить и эпизодически, и по несколько раз в час, а то и в даже каждую минуту, представляя собой настоящую превращая работу с Интернетом в настоящую пытку.
Причина их возникновенияПричина разрывов, скорее всего в том, что у провайдера неправильно настроен DHCP-сервер. Тот самый, что выдает пользователям IP-адреса. Как и любой собственник, он выдает отдает их не на совсем, а на некоторое, под час весьма непродолжительное, время. Если клиент (точнее его операционная система) по каким-то там причинам (сеть тормознула, крыша поехала, пакет кто-то прибил) не успеет продлить срок аренды, его IP-адрес будет безжалостно отнят. А?
когда же наконец,
клиент наконец "проснется" и пошлет петицию DHCP-серверу, тот смилостивится и отпустит с барского плеча еще один IP-адрес, типа, на, пользуйся на здоровье! И вроде бы все ничего, да вот не понимает "народная" Windows 95\98 таких извращений! Она ожидает получения IP-адреса всего лишь один раз – на стадии подключения к провайдеру.
Вернее, Получить-то IP-адрес она получает, но вот включить его в таблицу маршрутизации "забывает" и ни один отправляемый пакет не может уйти дальше своего компьютера. Приходится, взяв инициативу в свои руки, исправлять положение самостоятельно.
Прежде необходимо в сеансе MS-DOS запустить утилиту ipconfig
(входит в штатную поставку Windows) и посмотреть какой у нас IP-адрес. Если он выглядит как "0.0.0.0" – значит, DHCP-сервер флиртует с операционной системой (в смысле – висит глухо). Если же IP равен "127.0.0.1", – сети напрочь нет и тут что-то серьезное. А вот любое другое значение указывает на верный IP-адрес который необходимо добавить в голову таблицы маршрутизации, передав его утилите route из штатной поставки Windows следующим образом: "route.exe ADD 0.0.0.0 MASK 0.0.0.0 Ваш IP METRIC 1". Попробуйте установить соединение с каким-нибудь сервером – теперь все должно заработать.
Работает? Вот и славненько! Однако восстановить соединение без реконнекта – это только полдела. Хорошо бы устранить и причину этих разрывов – ведь не все же сервера поддерживают докачку и частые разрывы создают большие проблемы (см. "Получение файлов à
Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"…").
В идеальном случае следовало бы взять провайдера за ухо и с помощь дяди прокурора ткнуть носом в DCHP-сервер, объясняя ему, что клиент не должен оплачивать некомпетентность инженерного персонала поставщика сетевых услуг за свой счет. Да только в нашей стране такой прием вряд ли возымеет действие… Приходится выкручиваться самостоятельно, но на клиентской стороне очень мало что можно сделать, да и то только программистам. Единственное, доступное "простым смертным" решение, – перейти на Windows 2000 - с этой проблемой она справляется на раз!
??? Рисунок "карикатура" Милиционер держит провайдера за ухо одной рукой, а другой рукой показывает на сервер. Вокруг стоят пользователи, по лицам которых видно, что одобряют такое развитие событий.
Второй по счету источник неприятностей – эта пресловутая ошибка "TTL bug", приводящая к невозможности установки соединения. Дело в том, что во избежание засорения сети "Летучими Голландцами", то есть, попросту говоря, зацикленными пакетами, каждый из них имеет ограниченный срок существования, указанный в заголовке и измеряемый количеством промежуточных узлов, которые может посетить пакет. Если пакет не будет доставлен за это время, он "прибивается" очередным маршрутизатором c посылкой отправителю соответствующего "похоронного" уведомления.
Чем больше транзитных узлов расположено между отправителем и получателем, тем дольше пакеты добираются из одного конца в другой. К счастью, время жизни пакета (аббревиатура TTL так и расшифровывается Time To Live
– время жизни) очень легко изменить, – запустите Редактор Реестра, предварительно зарезервировав сам реестр, и откройте ветвь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultTTL для ОС Windows NT\2000 и HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\DefaultTTL для Windows 9x - она-то и управляет сроком жизни пакетов. По умолчанию он равен 32 узлам, но, как показывает практика, в некоторых случаях этого явно недостаточно и стоит увеличить его по крайней мере вдвое. (Можно и больше – но от этого лучше не станет, хотя и хуже – тоже). После внесения изменений в реестр следует перезагрузится, заново войти в сеть и проверить – возымело ли это какое-то действие.
Возымело? Так… соединение с ftp-сервером установить удается, но вот закачка не работает, хоть убей – сколько ни жди, а индикатор прогресса издевательски остается на нуле процентов. Абыдно, понимаешь! Что ж, будем лечить! Попробуйте для начала включить опцию с интригующим названием Распознавание Черной Дыры – "Black Hole Detect".
Зачем она нужна? А вот зачем – хитрая Windows, стремясь увеличить скорость передачи данных, пытается вычислить максимальный размер пакета, который бы обрабатывался пересылающими его маршрутизаторами без разрезания. Разрезание (или, говоря профессиональным языком, фрагментация) ощутимо снижает скорость соединения, особенно если пакет дробится на две неравные половины. Например, путь компьютер клиента пытается передать пакет размером в 576 байт, но один из маршрутизаторов в цепочке "умеет считать" только до 512, и разрезает пакет на два, причем во второй попадает "хвостик" из 64 байт, плюс… заголовок, занимающий от 40 и более байт. В итоге – КПД второго пакета составит всего лишь 50%, что очень нехорошо!
Если Windows видит, что избежать фрагментации не удастся, она уменьшает размер пакета так, чтобы он без проблем прошел сквозь все маршрутизаторы одним куском. Но не проще было бы сразу задать минимальный размер? Нет, и вот почему – чем меньше пакет, тем выше накладные расходы на его пересылку (заголовок тоже ведь занимает место) и тем больше пакетов требуется переслать для передачи того же объема информации.
Умение Windows подбирать максимальный размер не фрагментируемого пакета всем хорошо, да вот беда – не всегда это работает. Некоторые, не слишком демократичные маршрутизаторы, получив слишком длинный (по их мнению) пакет с пометкой "не фрагментировать", прибивают его на месте безо всяких уведомлений! Windows же, не подозревая, что посланный ею пакет погиб, ждет отклика от сервера. Долго ждет… А затем, там и не дождавшись, вновь посылает тот же самый пакет. И все повторяется! Вот этот-то недемократичный маршрутизатор и называется "Черной дырой"!
Включение опции "Black Hole Detect" активирует хитроумный алгоритм распознания "Черных Дыр" для обхода их стороной. Но за все приходится платить, и такое детектирование несколько снижает общую производительность. Несильно – но все ж таки! Поэтому прибегать к нему следует только в крайних случаях – когда действительно что-то не работает – соединение есть, а трансфер (передача данных) на нуле.
Запустите "Редактор Реестра" и откройте ветвь HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP для Windows 95\98 и HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters для Windows NT\2000. Найдите или при необходимости создайте двоичный параметр PMTUBlackHoleDetect для Windows 95\98 и EnablePMTUBHDetect для Windows NT\2000. Теперь присвойте ему значение "1" и перезагрузитесь.
Что? Все равно не работает? Хм… Боги, боги, зачем вы так несправедливы?! Ничего не остается, как расстаться с надеждой пересылки пакетов максимального размера и перейти на размер, обязательный (ну, формально обязательный) для всех маршрутизаторов – 576 байт. Для этого в той же самой ветке реестра найдите (создайте) двоичный параметр PMTUDiscovery для Windows 95\98, а для Windows NT\2000 – EnablePMTUDiscovery и присвойте ему значение "0". Перезагрузитесь. Ну, Должно же это, наконец, заработать!
Кстати, с типом двух этих ключей творится что-то непонятное. Документация от Microsoft утверждает, что он (тип в смысле) должен представлять собой двойное слово, то бишь, по-английски DWORD. Однако у автора под Windows 2000 закачка по ftp начинает работать только после создания указанных ключей типа одиночного слова (WORD), а DWORD-ключи операционная система упорно игнорирует. Мистика какая-то…
Теперь поговорим об оптимизации соединения. Оптимизация – дело непростое. Это не то, что работает система или нет. Работать-то она работает, вот только как? Тривиальным измерением скорости скачиваемого файла ничего выяснить не удастся. График скорости только в исключительных случаях (и на хороших каналах) представляется прямой линией. Гораздо чаще он напоминает трассу Урюпинск – Ханты-Мансийск: сплошные бугры, колдобины, ямы, словом, крайне испещренная местность. Говорить о средней скорости можно только в переносном смысле, тем паче, что она может сильно варьироваться в зависимости от времени суток, сервера, с которым установлено соединение, количества осадков, выпавших в Африке, да мало ли еще от чего!
До начала экспериментов потребуется собрать статистику работы сети за некоторое время, скажем за неделю. В этом поможет программа Net Medic (www.download.ru) или любая другая, аналогичная ей. Затем, после внесения изменений в настройки системы, собирается другая статистика, опять-таки на протяжении семи - десяти дней, и сравнивается с предыдущей – изменилось ли что и если да, то в какую сторону?
Дело это, конечно, медленное, но иного способа тонкой настройки нет. Необходимо убедиться в увеличении скорости обмена со всеми серверами и во все времена суток, то есть, найти компромиссный оптимум. Не все, что хорошо для одного случая, так же хорошо подходит для другого. Взять ту же фрагментацию уже рассмотренную выше. Автоматическое определение подходящего размера пакета не всегда увеличивает скорость соединения, нередко оно ее уменьшает, под час весьма значительно – автоматическое определение занимает какое-то время, увеличивая накладные расходы и снижая КПД. Имеет смысл попробовать найти оптимальное значение вручную.
Первым делом необходимо указать Windows, что требуется использовать не максимально возможный, а заранее оговоренный размер пакета. Для этого установите значение ключа PMTUDiscovery (EnablePMTUDiscovery) в ноль. Затем задайте желаемый размер пакета. По умолчанию он равен 576 байтам – это значение по стандарту должны поддерживать все маршрутизаторы, да только кто эти стандарты соблюдает? Вот и встречаются узлы, обрабатывающие пакеты размером не более 512, 522, 556,… байт. В принципе, можно поставить 500 и не мучаться проблемой выбора, но так неинтересно. Разве не заманчиво методичным подбором байтов оптимизировать соединение до конца?
Размер пакетов для Windows 95\98 задается ключом MaxMTU, находящимся в той же самой ветке реестра, что и предыдущие ключи. С Windows NT\2000 посложнее, – чтобы выяснить местоположение ключа MTU необходимо определить идентификатор используемого адаптера. Перечень всех адаптеров компьютера содержится в ключе Adapters ветки HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters. Как правило, большинство персональных компьютеров обходятся лишь одним адаптером – контроллером удаленного доступа (нет, это не плата расширения, это драйвер такой) и буридановой проблемы выбора нужного идентификатора не стоит. Идентификатор же – это такое длинное малопонятное число, например, "{20692835-7194-467A-A2DC-0FAE23F0A70D}".
Запоминаем (записываем) его и открываем ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ИдентиификаторАдаптера\Parameters\Tcpip (В Windows 2000 – HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parameters\Tcpip\Interfaces\ИдентификаторАдаптера)
Среди прочего хлама здесь должен находится только что запомненный идентификатор адаптера, а в нем – ключ MTU, содержащий в себе максимальный размер пакета в байтах. Если такого ключа нет, его необходимо создать. Тип ключа MTU в обоих случаях соответствует двойному слову (DWORD).
Второй бастион оптимизации – размер TCP-окна. Чем "шире" окно, тем выше производительность, но в то же время больше издержки на повторные пересылки: случись какой сбой – не до конца заполненное окно очиститься и придется его "набивать" с самого начала. К тому же баловство с неумеренно широкими окнами часто приводит к образованию заторов в сети – промежуточные узлы не успевают обрабатывать сыплющийся на них поток пактов и все начинает жутко тормозить. Причем не только у виновника несчастья, но и у других ни в чем не повинных пользователей.
Ширина TCP-окна должна быть кратна размеру пакета за вычетом длины заголовка и превосходить его по крайне мере в четыре – шесть раз. В некоторых случаях наивысшая производительность достигается при ширине окна в 10х-12х
(где х – размер пакета без заголовка, называемый так же "квиком"), а то и больше. Некоторые отчаянные головы пробуют даже большие значения и утверждают, что все работает "на ура!", но у автора такие значения не показывают чудес производительности, поэтому, подтвердить сказанное он не берется. Размер заголовка непостоянен и варьируется от 40 до 60 байт – не забываете об этом при поиске оптимальной ширины окна!
Для изменения размеров окна откройте ветвь реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP для Windows 95\98 и HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters для Windows NT\2000. Найдите или при необходимости создайте двоичный параметр (двойное слово, DWORD) DefaultRcvWindow для Windows 95\98 и TcpWindowSize для Windows NT\2000. Присвойте ему желаемое значение (например, "3680", если размер пакета, заданный ключом MTU равен 500 байт – (500 – 40) * 8 = 3/600) и перезагрузитесь.
Оцените, как изменилась скорость соединения. Если она возросла – увеличьте ширину окна еще на один квик (не байт!), если уменьшилась – сузьте окно, а если осталась без изменений, расширьте окно на пару квиков. Так, в конце – концов, будет найдено оптимальное значение. Интернет - гуру утверждают, что оптимум ширины окна зависит от загруженности провайдера и сильно колеблется в течение суток. При максимальной загруженности в "час пик" окно лучше прикрывать, оставляя лишь узкую щель (3х-4х), а ночью, когда все нормальные юзеры давно баиньки и канал полностью свободен, – широко распахивать обе створки (10x и выше). Никаких суточных вариаций у своих провайдеров автор не замечал, но готов поверить, что в некоторых случаях они могут иметь место и гуру не врут.
Помимо выше упомянутых опций, реестр Windows содержит множество других значений, относящихся к TCP/IP, но рассказывать о каждом из них было бы слишком утомительно, да и нецелесообразно – для этого пришлось бы написать отдельную книгу, страниц эдак на пятьсот.
Родственные вопросы:
Описание утилиты MTUSpeed (следующий)
У меня часто случается непонятный глюк….
Приложения à Исходный текст kf.bat
Получение файлов à Необходимо скачать большой файл, но соединение постоянно рвется, а сервер не поддерживает "докачки"…
Отсутствие фильтрации
Ошибки фильтрации пользовательского ввода (или полное отсутствие фильтрации, как таковой) – характеры в первую очередь для Perl, штатные функции которого слишком вольно интерпретируют переданные им аргументы и допускают множество умолчаний. К примеру, программист хочет открыть и вывести на экран запрошенный пользователем файл и создает код наподобие следующего:open(f,$filename);
while(
{
print;
}
Ошибки очевидны: во-первых, злоумышленник может получить содержимое любого файла системы, доступного скрипту, передав запрос наподобие "/etc/passwd", а, во-вторых, указав в имени файла символ конвейера ("|"), он сможет запустить любое доступное скрипту приложение и увидеть в браузере результат его работы (например, "echo "+ +" >/.rhosts" позволит подключиться по протоколу rlogin без ввода пароля).
Но не всякая уязвимость так очевидна! Попробуйте найти ошибку в следующей реализации того же примера, усиленного принудительным добавлением расширения ".html" к имени открываемого файла:
open(f,$filename.".html");
while(
{
print;
}
На первый взгляд, злоумышленник не сможет ни открыть, ни запустить никакие другие файлы, кроме HTML. Но это не так! Дело в том, что ядро Perl не трактует символ нуля как конец строки и обрабатывает его точно так, как и все остальные символы. В то же время, компоненты Perl-а, написанные на Си, интерпретируют ноль как конец строки! Таким образом, для обхода защиты достаточно передать строку, содержащую на конце "\0" (например, "/etc/passwsd\0")! Помимо этого, функция open допускает возможность одновременного запуска множества файлов, - передача строки "|calc.exe|sol.exe|freecell.exe|" приведет к запуску приложений "Калькулятор", "Пасьянс Косынка" и "Пасьянс Свободная ячейка", независимо от того {<<< убрать "?"}будет ли добавлено в конце расширение ".html" или нет.
Даже "open(f, "/home/www/pages/".$filename."html")" не уберегает от использования нескольких символов конвейера, и тем более не предотвращает обращения к вышележащим каталогам, хотя на первый взгляд такая защита может показаться неприступной.
Решение проблемы заключается в фильтрации данных – удалении из ввода пользователя всех потенциально опасных символов или выдачи сообщения об ошибке при их обнаружении. Таких символов довольно много и все они (что очень неприятно) специфичны для каждой функции. Например, у open
опасны следующие символы и их комбинации:
· ">",">>" и "+>" открытие файла для записи, дозаписи и перезаписи соответственно
· "+<" открытие файла для записи и чтения
· "|" и "`" запуск программы
· "-" чтение со стандартного ввода
· "&" обращение к файловому дескриптору (handle)
· ".." и "/" – обращение к вышележащим каталогам
· "\0" – задание конца строки
О возможности обращения к файлу по его дескриптору следует сказать особо. Пусть существует некоторый секретный файл (например, файл паролей или номеров кредитных карт), который открывается в начале работы программы, а затем на экран выводится содержимое файла, запрошенного пользователем, до закрытия секретного файла. Если злоумышленнику доступен исходный тест скрипта или хотя бы приблизительно известны манеры его разработчика, он сможет прочитать секретный файл с помощью самой программы, передав вместо имени его дескриптор! Для чего достаточно воспользоваться клонированием "x&filehandle" или созданием псевдонимов "x&=filehandle", где "x" обозначает режим доступа – "<" для чтения и ">" для записи. Следующий пример как раз и демонстрирует эту уязвимость.
open (psw,"passwd") || die; #открытие файла паролей
#...некоторый код...
print "введите имя файла:" #запрос имени отображаемого файла
$filename=<>; chop $filename;
if ($filename eq "passwd") #проверка имени на корректность
{print "Hello,Hacker!\n";die;}
open(f,$filename) || die; #вывод файла на экран
while(
{
print;
}
Если злоумышленник введет "<&=psw" или "<&psw", в окне собственного браузера он увидит содержимое файла паролей!
Аналогичным путем можно ознакомится и содержимым лексемы DATA, доступной через одноименный дескриптор и очень часто содержащей информацию, не для посторонних глаз. (Замечание: не все реализации Perl позволяют клонировать манипулятор DATA, и, в общем-то, они и не должны этого делать, но пренебрегать такой угрозой не стоит).
Много трудностей и непонимания вызывает интерполяция строк, заключенных в двойные кавычки. Язык Perl может автоматически подставлять вместо имени переменной ее содержимое, а вместо имени функции – возвращенный ею результат. Последняя возможность считается особо опасной, т.к. на первый взгляд позволяет злоумышленнику вызывать любые команды Perl и даже выполнять внешние программы с помощью функций exec, eval и многих других. Практически все руководства по написанию скриптов настоятельно рекомендуют фильтровать символы "@", "$", "[]", "{}", "()", и разработчики (даже опытные!) в большинстве своем послушно следуют этому требованию!
На самом деле никакой опасности нет – интерполяция строк выполняется только в текстах программ и никогда в значениях переменных. Наглядно продемонстрировать это утверждение позволяет следующий пример (предполагается, что во втором случае с клавиатуры вводится : "${\(print '>Hello')}"; наклонным шрифтом выделен вывод программы на экран):
$filename="${\(print '>Hello')}"; $filename=<>;
print "$filename"; print "$filename";
>Hello1 ${\(print '>Hello')}
Замены имени функции на результат ее работы в пользовательском вводе не произошло! Независимо от того, заключена ли введенная строка в двойные кавычки или нет, она всегда отображается на экране такой, какая есть, без каких бы то ни было преобразований. Фильтровать символы интерполяции не нужно – их использование злоумышленником не возымеет никакого эффекта! Тем более, что "собака" является неотъемлемой частью адреса электронной почты и отказ от нее просто невозможен.
Так же напрасны опасения относительно обратной кавычки – "`". В документации по языку Perl сказано, что строка, заключенная в обратные кавычки, интерпретируется как команда операционной системы, которой она и передаются на выполнение. Да, это действительно так, но только по отношению к строкам текста программы, а не содержимому скалярных переменных. Т.е. конструкция "$a=`type /etc/passwd`;" занесет в переменную $a содержимое файла "/etc/passwd", но "$a=<>;" никогда не приведет к подобному результату – чтобы ни ввел пользователь, Поэтому, символ обратной кавычки никакой угрозы не несет и совершенно ни к чему его фильтровать.
Гораздо больше проблем связано с вызовом внешних программ, работающих с данными, введенными пользователем. Заведомо невозможно узнать - какие символы потенциально опасны, а какие нет. Большинство приложений помимо документированных функций имеют множество недокументированных особенностей или хуже того – ошибок реализации.
Никогда нельзя быть абсолютно уверенным, что ваш почтовый агент не воспримет вполне легальный адрес назначения как собственный ключ или управляющее сообщение. Даже если отмахнутся от подобных экзотических угроз, составление списка фильтруемых символов по-прежнему будет представлять проблему, т.к. из документации не всегда бывает ясно как поведет себя приложение, встретив ту или иную комбинацию символов. Помимо явно опасного перенаправления ввода-вывода, вызова конвейера, использования символов-джокеров, символов-разделителей и переноса строк, иногда приходится сталкиваться с такими неожиданными "подлостями" как, например, возможность автоматического развертывания UUE-сообщений.
Лучше всего – полностью отказаться от вызова внешних программ, реализуя все необходимое самостоятельно. Ту же процедуру отправки писем не сложно выполнить и средствами самого языка Perl, без каких либо обращений к SendMail-у или другому МТА, и файлы на диске искать не вызовом grep, а собственноручно написанным модулем. Усложнение программы компенсируется увеличением ее надежности и безопасности.
Очень важно понимать, что фильтрацию ввода нужно осуществлять только на серверной, но ни в коем случае только на клиентской стороне! Часто эту операцию поручают Java-апплетам, а то и вовсе Java-скриптам, не подумав, что они могут быть модифицированы или блокированы злоумышленником, поскольку исполняются на его собственной машине и не существует никакого способа отличить запрос, посланный Java-скриптом от запроса, посланного самими злоумышленников в обход скрипта. Java может быть полезна лишь для быстрого уведомления клиента об ошибке ввода, но не более того!
Outlook Express
Чтобы внести неугодного вам адресата в "черный список" достаточно подвести курсор к полученному от него сообщению и в меню "Сообщение" выбрать пункт "Блокировать отправителя". Отныне все письма, полученные от данного лица, будут автоматически перемещаться в папку "Удаленные".Для отмены блокировки (или просмотра списка блокируемых отправителей) выберите в меню "Сервис" пункт "Правила для сообщений" à
"Список блокируемых отправителей". Появится диалоговое окно "черного списка" с интуитивно-понятными кнопками "Добавить", "Удалить", "Изменить".
Кнопка "Добавить" позволяет включать в "черный список" не только отдельные адреса, но и целые домены – стоит лишь указать имя (IP-адрес) почтового сервера, например, chat.ru, как все, отправленные с его помощью письма, будут автоматически отправляться в папку "Удаленные".
При необходимости задания более гибких критериев воспользуйтесь "Правилами для сообщений" ("Сервис" à
"Правила для сообщений" à
"Почта"). Появится диалог следующего вида:
1. Выберите условия для данного правила:
Искать сообщения, содержащие адресатов в поле "От:"
Искать сообщения, содержащие заданные слова в поле "Тема:"
Искать сообщения, содержащие заданные слова:
Искать сообщения, содержащие адресатов в поле "Кому:"
Искать сообщения, содержащие адресатов в поле "Копия:"
Искать сообщения, содержащие адресатов в поле "Кому:" и "Копия:"
Искать сообщения с пометкой важности
Искать сообщения, полученные с определенной учетной записи
Искать сообщения, размер которых превышает заданный размер
Искать сообщения с вложениями
Искать безопасные сообщения
Все сообщения
2.
Выберите действия для данного правила:
Переместить в заданную папку
Скопировать в заданную папку
Удалить
Переслать адресатам
Выделить цветом
Пометить
Пометить как прочитанное
Пометить сообщение как просмотренное или пропущенное
Ответить заданным сообщением
Прекращение выполнения дополнительных правил
Не загружать с сервера
Удалить с сервера
3. Описание правила (для правки щелкните по подчеркнутой величине)
4. Название правила.
Для создания правила отметьте галочкой соответствующие критерии окна № 1. Например, "Искать сообщения, содержащие адресатов в поле От" и "Искать сообщения, содержащие заданные слова в поле Тема". Затем в окне № 2 выберите желаемую реакцию на получение таких писем. Например, "Удалить". Можно выбрать несколько не взаимоисключающих действий, скажем, "Удалить" и "Ответить заданным сообщением". Действия "Не загружать с сервера" и "Удалить с сервера" исключают все остальные.
В окне № 3 "Описаний Правил" появится текст приблизительного следующего содержания:
Применить данное правило при получении сообщения
Искать сообщения, содержащие адресатов в поле "От:"
и Искать сообщения, содержащие заданные слова в поле "Тема:"
Удалить
и Ответить заданным сообщением
Подчеркнутые строки представляют собой гиперссылки – если подвести к ним мышь и нажать, появится диалог, задающий их свойства. Попробуйте нажать на ссылку "содержащие адреса" и посмотрите, что из этого получится.
На экране появляется диалог "Выбор получателей". Введите один или несколько адресов для занесения их в "черный список", нажимая после каждого адреса кнопку "Добавить", а для удаления, соответственно, – "Удалить". Копка "Параметры" позволяет уточнить следует ли искать письма, содержащие все введенные адреса одновременно или же любой
один из них, а может, нужно искать письма, не содержащие ни одного из перечисленных адресов?
Диалог "Ввод ключевых слов" в первом приближении аналогичен предыдущему – только вместо адресов теперь вводятся ключевые слова по одному, а "Параметры" позволяют уточнить – следует ли искать письма, содержащие все эти слова или же только одно из них.
Наконец, ссылка "Сообщение" открывает стандартный диалог открытия файла в котором необходимо указать путь к файлу сообщения, которое будет автоматически посылаться отправителю нежеланного сообщения.
Последняя гиперссылка "и" задает условия совпадения критериев – искать сообщения, содержащие таких-то адресатов и такую-то тему в заголовке, либо же искать сообщения, содержащие таких-то адресатов, или такую-то тему в заголовке.
Последнее, четвертое окно, задает название правила – количество правил не ограничено, но их имена должны отличаться.
Нажатие "ОК" создает фильтр по данному правилу и автоматически включает его в работу. Если же один или более критериев не были указаны, Outlook выделит их красным цветом и обиженно пискнет, заставляя продолжить формирование фильтра.
Для просмотра списка активных и существующих фильтров выберите в меню "Сервис" пункт "Правила для сообщений" à
"Список блокируемых отправителей" и перейдите к вкладке "Почта".
Любой фильтр можно применить и к ранее полученным сообщениям – что бывает полезно для очистки папки "Входящие" от накопившегося в ней спаммерского хлама – выберете нужную папку и нажмите "Применить".
Грамотно настроенные фильтры способны разгрузить пользователя от большей части работы по уходу за своими папками и содержанию их в чистоте и порядке. Пусть, к примеру, рассылка от "Городского Кота" помещается в одну папку, сообщения от друзей – в другую, а депеши от Big Boss-a выделяются цветом, дабы не пропустить их среди прочего потока писем… и.д. – ну чем не сказка?
Родственные вопросы:
Как установить подлинный адрес отправителя письма?"
Как удалить сообщение из почтового ящика, не принимая его на свой компьютер?
Первый шаг, второй, третий…
Для работы с библиотекой Winsock 2.х в исходный тест программы необходимо включить директиву "#includeПеред началом использования функций библиотеки Winsock ее необходимо подготовить к работе вызовом функции "int WSAStartup (WORD wVersionRequested, LPWSADATA lpWSAData)" передав в старшем байта слова wVersionRequested номер требуемой версии, а в младшем – номер подверсии.
Аргумент lpWSAData должен указывать на структуру WSADATA, в которую при успешной инициализации будет занесена информация о производителе библиотеки. Никакого особенного интереса она не представляет и прикладное приложение может ее игнорировать. Если инициализация проваливается, функция возвращает ненулевое значение.
Второй шаг – создание объекта "сокет". Это осуществляется функцией "SOCKET socket (int af, int type, int protocol)" Первый слева аргумент указывает на семейство используемых протоколов. Для Интернет - приложений он должен иметь значение AF_INET.
Следующий аргумент задает тип создаваемого сокета – потоковый
(SOCK_STREAM) или дейтаграммный (SOCK_DGRAM) (еще существуют и сырые сокеты, но они не поддерживаются Windows – см раздел "Сырые сокеты").
Последний аргумент уточняет какой транспортный протокол следует использовать. Нулевое значение соответствует выбору по умолчанию: TCP – для потоковых сокетов и UDP для дейтаграммных. В большинстве случаев нет никакого смысла задавать протокол вручную и обычно полагаются на автоматический выбор по умолчанию.
Если функция завершилась успешно она возвращает дескриптор сокета, в противном случае INVALID_SOCKET.
Дальнейшие шаги зависит от того, являет приложение сервером или клиентом. Ниже эти два случая будут описаны раздельно.
Клиент: шаг третий – для установки соединения с удаленным узлом потоковый сокет должен вызвать функцию "int connect (SOCKET s, const struct sockaddr FAR* name, int namelen)". Датаграмные сокеты работают без установки соединения, поэтому, обычно не обращаются к функции connect.
Примечание: за словом "обычно" стоит один хитрый примем программирования – вызов connect позволяет дейтаграмному сокету обмениваться данными с узлом не только функциями sendto, recvfrom, но и более удобными и компактными send и recv. Эта тонкость описана в Winsocket SDK и широко используется как самой Microsoft, так и сторонними разработчикам. Поэтому, ее использование вполне безопасно.
Первый слева аргумент – дескриптор сокета, возращенный функцией socket; второй - указатель на структуру "sockaddr", содержащую в себе адрес и порт удаленного узла с которым устанавливается соединение. Структура sockaddr используется множеством функций, поэтому ее описание вынесено в отдельный раздел "Адрес раз, адрес два…". Последний аргумент сообщает функции размер структуры sockaddr.
После вызова connect система предпринимает попытку установить соединение с указанным узлом. Если по каким-то причинам это сделать не удастся (адрес задан неправильно, узел не существует или "висит", компьютер находится не в сети), функция возвратит ненулевое значение.
Сервер: шаг третий – прежде, чем сервер сможет использовать сокет, он должен связать его с локальным адресом. Локальный, как, впрочем, и любой другой адрес Интернета, состоит из IP-адреса узла и номера порта. Если сервер имеет несколько IP адресов, то сокет может быть связан как со вмести ними сразу (для этого вместо IP-адреса следует указать константу INADDR_ANY равную нулю), так и с каким-то конкретным одним.
Связывание осуществляется вызовом функции "int bind (SOCKET s, const struct sockaddr FAR* name, int namelen)" Первым слева аргументом передается дескриптор сокета, возращенный функций socket, за ним следуют указатель на структуру sockaddr и ее длина (см. раздел "Адрес раз, адрес два…").
Строго говоря, клиент также должен связывать сокет с локальным адресом перед его использованием, однако, за него это делает функция connect, ассоциируя сокет с одним из портов, наугад выбранных из диапазона 1024-5000. Сервер же должен "садиться" на заранее определенный порт, например, 21 для FTP, 23 для telnet, 25 для SMTP, 80 для WEB, 110 для POP3 и т.д. Поэтому ему приходится осуществлять связывание "вручную".
При успешном выполнении функция возвращает нулевое значение и ненулевое в противном случае.
Сервер: шаг четвертый – выполнив связывание, потоковый сервер переходит в режим ожидания подключений, вызывая функцию "int listen (SOCKET s, int backlog )", где s – дескриптор сокета, а backlog – максимально допустимый размер очереди сообщений.
Размер очереди ограничивает количество одновременно обрабатываемых соединений, поэтому, к его выбору следует подходить "с умом". Если очередь полностью заполнена, очередной клиент при попытке установить соединение получит отказ (TCP пакет с установленным флагом RST). В то же время максимально разумное количество подключений определяются производительностью сервера, объемом оперативной памяти и т.д.
Датаграммные серверы не вызывают функцию listen, т.к. работают без установки соединения и сразу же после выполнения связывания могут вызывать recvfrom для чтения входящих сообщений, минуя четвертый и пятый шаги.
Сервер: шаг пятый – извлечение запросов на соединение из очереди осуществляется функцией "SOCKET accept (SOCKET s, struct sockaddr FAR* addr, int FAR* addrlen)", которая автоматически создает новый сокет, выполняет связывание и возвращает его дескриптор, а в структуру sockaddr
заносит сведения о подключившемся клиенте (IP-адрес и порт). Если в момент вызова accept очередь пуста, функция не возвращает управление до тех пор, пока с сервером не будет установлено хотя бы одно соединение. В случае возникновения ошибки функция возвращает отрицательное значение.
Для параллельной работы с несколькими клиентами следует сразу же после извлечения запроса из очереди порождать новый поток (процесс), передавая ему дескриптор созданного функцией accept сокета, затем вновь извлекать из очереди очередной запрос и т.д. В противном случае, пока не завершит работу один клиент, север не сможет обслуживать всех остальных.
все вместе – после того как соединение установлено, потоковые сокеты могут обмениваться с удаленным узлом данными, вызывая функции "int send
(SOCKET s, const char FAR * buf, int len,int flags)" и "int recv (SOCKET s, char FAR* buf, int len, int flags)" для посылки и приема данных соответственно.
Функция send возвращает управление сразу же после ее выполнения независимо от того, получила ли принимающая сторона наши данные или нет. При успешном завершении функция возвращает количество передаваемых (не переданных!) данных – т.е. успешное завершение еще не свидетельствует от успешной доставке! В общем-то, протокол TCP (на который опираются потоковые сокеты) гарантирует успешную доставку данных получателю, но лишь при условии, что соединение не будет преждевременно разорвано. Если связь прервется до окончания пересылки, данные останутся не переданными, но вызывающий код не получит об этом никакого уведомления! А ошибка возвращается лишь в том случае, если соединение разорвано до вызова функции send!
Функция же recv возвращает управление только после того, как получит хотя бы один байт. Точнее говоря, она ожидает прихода целой дейтаграммы. Дейтаграмма – это совокупность одного или нескольких IP пакетов, посланных вызовом send. Упрощенно говоря, каждый вызов recv за один раз получает столько байтов, сколько их было послано функцией send. При этом подразумевается, что функции recv предоставлен буфер достаточных размеров, - в противном случае ее придется вызвать несколько раз. Однако, при всех последующих обращениях данные будет браться из локального буфера, а не приниматься из сети, т.к. TCP-провайдер не может получить "кусочек" дейтаграммы, а только ею всю целиком.
Работой обоих функций можно управлять с помощью флагов, передаваемых в одной переменной типа int третьим слева аргументом. Эта переменная может принимать одно из двух значений: MSG_PEEK и MSG_OOB.
Флаг MSG_PEEK заставляет функцию recv просматривать данные вместо их чтения. Просмотр, в отличие от чтения, не уничтожает просматриваемые данные. Некоторые источники утверждают, что при взведенном флаге MSG_PEEK функция recv не задерживает управления если в локальном буфере нет данных, доступных для немедленного получения. Это неверно! Аналогично, иногда приходится встречать откровенно ложное утверждение, якобы функция send со взведенным флагом MSG_PEEK возвращает количество уже переданных байт (вызов send не блокирует управления). На самом деле функция send игнорирует этот флаг!
Флаг MSG_OOB предназначен для передачи и приема срочных (Out Of Band) данных. Срочные данные не имеют преимущества перед другими при пересылке по сети, а всего лишь позволяют оторвать клиента от нормальной обработки потока обычных данных и сообщить ему "срочную" информацию. Если данные передавались функцией send с установленным флагом MSG_OOB, для их чтения флаг MSG_OOB функции recv так же должен быть установлен.
Замечание: настоятельно рекомендуется воздержаться от использования срочных данных в своих приложениях. Во-первых, они совершенно необязательны – гораздо проще, надежнее и элегантнее вместо них создать отдельное TCP-соединение. Во-вторых, по поводу их реализации нет единого мнения и интерпретации различных производителей очень сильно отличаются друг от друга. Так, разработчики до сих пор не пришли к окончательному соглашению по поводу того, куда должен указывать указатель срочности: или на последний байт срочных данных или на байт, следующий за последним байтом срочных данных. В результате, отправитель никогда не имеет уверенности, что получатель сможет правильно интерпретировать его запрос.
Еще существует флаг MSG_DONTROUTE, предписывающий передавать данные без маршрутизации, но он не поддерживаться Winsock и, поэтому, здесь не рассматривается.
Дейтаграммный сокет так же может пользоваться функциями send и recv, если предварительно вызовет connect (см. "Клиент: шаг третий"), но у него есть и свои, "персональные", функции: "int sendto
(SOCKET s, const char FAR * buf, int len,int flags, const struct sockaddr FAR * to, int tolen)" и "int recvfrom
(SOCKET s, char FAR* buf, int len, int flags, struct sockaddr FAR* from, int FAR* fromlen )".
Они очень похожи на send и recv, - разница лишь в том, что sendto и recvfrom требуют явного указания адреса узла принимаемого или передаваемого данные. Вызов recvfrom не требует предварительного задания адреса передающего узла – функция принимает все пакеты, приходящие на заданный UDP-порт со всех IP адресов и портов. Напротив, отвечать отправителю следует на тот же самый порт откуда пришло сообщение. Поскольку, функция recvfrom заносит IP-адрес и номер порта клиента после получения от него сообщения, программисту фактически ничего не нужно делать – только передать sendto тот же самый указатель на структуру sockaddr, который был ранее передан функции recvfrem, получившей сообщение от клиента.
Еще одна деталь – транспортный протокол UDP, на который опираются дейтаграммные сокеты, не гарантирует успешной доставки сообщений и эта задача ложиться на плечи самого разработчика. Решить ее можно, например, посылкой клиентом подтверждения об успешности получения данных. Правда, клиент тоже не может быть уверен, что подтверждение дойдет до сервера, а не потеряется где-нибудь в дороге. Подтверждать же получение подтверждения – бессмысленно, т.к. это рекурсивно неразрешимо. Лучше вообще не использовать дейтаграммные сокеты на ненадежных каналах.
Во всем остальном обе пары функций полностью идентичны и работают с теми самыми флагами – MSG_PEEK и MSG_OOB.
Все четыре функции при возникновении ошибки возвращают значение SOCKET_ERROR (== -1).
Примечание: в UNIX с сокетами можно обращаться точно так, как с обычными файлами, в частности писать и читать в них функциями write и read. ОС Windows 3.1 не поддерживала такой возможности, поэтому, при переносе приложений их UNIX в Windows все вызовы write и read должны были быть заменены на send и recv соответственно. В Windows 95 с установленным Windows 2.x это упущение исправлено, - теперь дескрипторы сокетов можно передавать функциям ReadFil, WriteFile, DuplicateHandle и др.
Шаг последний – для закрытия соединения и уничтожения сокета предназначена функция "int closesocket (SOCKET s)", которая в случае удачного завершения операции возвращает нулевое значение.
Перед выходом из программы, необходимо вызвать функцию "int WSACleanup (void)" для деинициализации библиотеки WINSOCK и освобождения используемых этим приложением ресурсов. Внимание: завершение процесса функцией ExitProcess автоматически не освобождает ресурсы сокетов!
Примечание: более сложные приемы закрытия соединения – протокол TCP позволяет выборочно закрывать соединение любой из сторон, оставляя другую сторону активной. Например, клиент может сообщить серверу, что не будет больше передавать ему никаких данных и закрывает соединение "клиент à
сервер", однако, готов продолжать принимать от него данные, до тех пор, пока сервер будет их посылать, т.е. хочет оставить соединение "сервер à
клиент" открытым.
Для этого необходимо вызвать функцию "int shutdown (SOCKET s ,int how )", передав в аргументе how одно из следующих значений: SD_RECEIVE для закрытия канала "сервер à
клиент", SD_SEND для закрытия канала "клиент à север", и, наконец, SD_BOTH для закрытия обоих каналов.
Последний вариант выгодно отличается от closesocket "мягким" закрытием соединения – удаленному узлу будет послано уведомление о желании разорвать связь, но это желание не будет воплощено в действительность, пока тот узел не возвратит свое подтверждение. Таким образом, можно не волноваться, что соединение будет закрыто в самый неподходящий момент.
Внимание: вызов shutdown не освобождает от необходимости закрытия сокета функцией closesocket!
Почему никто не слышал, чтобы вирус на машине запустил format c: Сергей Иванов
Ну почему же не слышал? Очень много вирусов так и поступает, особенно поделок, написанных школьниками ясельной группы только – только постигающих азы Бейсика… Чуть более серьезные любители уже умеют форматировать диск самостоятельно или же стирать на нем произвольные сектора по одному за день или всей кучей сразу. Форматирование – это вообще-то достаточно сложная операция и реализовать свой форматер в вирусе накладно, а большинству – откровенно лениво. Уничтожать информацию посекторно или целыми файлами – куда проще!Поэтому "прятать" format.com или переименовывать его, чтобы до него не дотянулись вирусы – ненужно. Вирусы и без того справятся и совершат свои злодеяния… только очень небольшая группа насекомых без format.com не сможет выполнить своей деструктивной миссии.
Почему ping не проходит, а сайт сервера нормально работает и открывается?
Бывает, – ping к некоторому серверу упорно не проходит, какую бы ни выбрал задержку, но все сервисы (будь то почта или web) работают нормально. Почему? Все объясняется очень просто – администратор сервера защитил его межсетевым экраном, блокирующим либо эхо - запросы, либо эхо – отклики, либо и те, и другиевместесразу. А может запрет эхо – откликов наложен на сам узел.
Все эти меры предосторожности объясняются тем, что эхо – посылки имеют более высокий приоритет по сравнению с обычными пакетами (иначе бы эха век не дождаться) и злоумышленники могут перегрузить сервер, направив на него штурм эхо – запросов. "Упасть", правда, сервер не упадет, но вот общая производительность несколько снизится. Хуже направить шторм эхо – запросов от имени жертвы, выходящей в Интернет по модему, – на нее обрушится сокрушительная лавина эхо – ответов от быстродействующего сервера (хорошо если одного), плотно забивающая канал…
Вот поэтому-то, для заблаговременного предотвращения возможности атаки, эхо – посылки и запрещаются, делая работу ping невозможной, но все службы сервера продолжают как ни в чем не бывало работать!
Почему при установке соединения Windows показывает скорость порта, а не скорость соединения?
Строго говоря, Windows вообще не умеет отображать текущую скорость соединения. В лучшем случае она показывает скорость, выбранную модемом на момент установки соединения, и не учитывает того, что адаптивная система модема может динамически как увеличивать, так и уменьшать ее при изменении качества линии. А, если модем управляется драйвером "стандартный модем", то и вовсе выводится не скорость соединения, а скорость порта, соединяющего модем с компьютером!Если вам необходимо контролировать параметры соединения, лучше всего приобрести для этой цели модем со встроенным дисплеем, отображающим всю необходимую информацию (например, ZyXEL OMNI 56k Pro).
Операционная система Windows 2000 даже у некоторых знакомых ей модемов всегда отображает скорость порта, а не начальную скорость установки. Проблему решает следующий шаманский обряд – вызовите программу "Hyper Terminal" (входит в штатную поставку Windows) и наберите следующую команду: "AT&V1
Почему трассировка умирает на полпути к серверу назначения?
Довольно часто попытка трассировки пути прохождения пакетов заканчивается провалом – трассировка "умирает" не доходя до сервера, выводя бесконечно длинную вереницу ругательств "Превышен интервал ожидания для запроса". Но сколько ни увеличивай интервал ожидания (см. "Каково назначение ключей tracert") – ругательства не исчезают!C:\>tracert www.aport.ru -w 10000
Трассировка маршрута к aport.ru
[194.67.18.8]
с максимальным числом прыжков 30:
1 140 ms 140 ms 130 ms nas.itech.ru [195.151.210.36]
2 140 ms 140 ms 140 ms ns.itech.ru [195.151.210.33]
3 190 ms 440 ms 171 ms gw.itech.ru [195.151.210.29]
4 160 ms 160 ms 171 ms 195.151.200.90
5 171 ms 180 ms 941 ms krd-gw.mtt.ru [195.151.52.41]
6 181 ms 180 ms 190 ms Moscow18-S3-7-0.RoSprint.net [194.84.251.246]
7 180 ms 201 ms 190 ms Moscow41-F1-0.RoSprint.net [193.232.88.23]
8 180 ms 191 ms 180 ms cisco12.Moscow.ST.NET [193.232.244.43]
9 180 ms 181 ms 180 ms cisco02.Moscow.ST.NET [194.186.157.241]
10 * * * Превышен интервал ожидания для запроса.
11 * * * Превышен интервал ожидания для запроса.
12 * * * Превышен интервал ожидания для запроса.
13 * * * Превышен интервал ожидания для запроса.
14 * * * Превышен интервал ожидания для запроса.
15 * * * Превышен интервал ожидания для запроса.
Виной тому пугливые администраторы, запрещающие в целях безопасности посылку уведомлений об уничтожении пакета с истекшим TTL, либо блокирующие дейтаграммы, приходящие на "левый" порт. Не то, чтобы трассировка могла сильно навредить, но к чему раскрывать другим анатомию своей локальной сети?
Аналогичная ситуация наблюдается и при попытке проникновения за Proxy-сервер – он либо вовсе отказывается посылать дейтаграмму на несуществующий порт, либо посылает, но прописывает собственное значение TTL в заголовке, отчего трассировка перестает работать. Причем, это справедливо по обе стороны от Proxy-сервера!
Родственные вопросы:
Каково назначение ключей tracert
Можно ли обойти защиту от трассировки?
Почему Windows 2000 так медленно загружает страницы и принимает файлы? Сабиха connectiond@ftw.fu
Часто переход на Windows2000 сопровождается смутными сомнениями – "две тысячи" это год выпуска или количество ошибок? А может быть, максимальная скорость сетевого соединения? Модем едва мигает лампочкой и больше, чем 2.000 байт в секунду не тянет. Что ли памяти мало или мегагерц? Пробуем увеличить и то, и другое – не помогает? Почему?!А причина вся в том, что Windows 2000 при установке модема очень часто неправильно выставляет скорость порта. Например, Rockwell ACORP33.600 автора, она благополучно опознала, но почитала, что скорости порта в 9.600 бит (!) для успешной работы будет достаточно. Ну не свинство, а? ???? Рисунок "карикатура" свинья-копилка с логотипом Windows и монетой "2000 bugs", опускаемой в нее
Так-с, входим в систему с правами администратора, затем "Пуск" à
"Настройка" à
"Панель управления" à
"Система" à
вкладка "Оборудование" à
кнопка "Диспетчер устройств" à
"Порты COM и LPT" à "Свойства" того порта, на котором "висит" модем à вкладка "Параметры порта" à поле "Скорость". Устанавливаем максимальное значение и нажимаем "ОК".
Внимание! Скорость порта должна быть выше скорости модема, особенно если задействовано аппаратное сжатие. Модем может сжимать передаваемые данные в несколько раз, но если порт не обеспечит соответствующую пропускную способность, модем не сможет работать на полную мощь.
Подари врагу антивирус!
Отношения к антивирусам бывают самые разные - от фанатичной веры в их безграничное могущество до скептического убеждения в их полной бесполезности. Последнее мнение встречается значительно чаще. И не мудрено - качество многих антивирусных продуктов оставляет желать лучшего и пользы от них зачастую оказывается меньше, чем проблем.Чаще всего использование антивируса сводится к его запуску в полностью автоматическом режиме "найти заразу и уничтожь". Это что-то вроде ракеты с автоприцеплом, интеллект которой не позволяет отличить самолет противника от стаи птиц. В общем, плакали бедные мирные файлы вместе со всей дисковой подсистемой в придачу.
??? Рисунок "карикатура" обыграть предыдущий абзац
Совершенствование технологий маскировки вирусов происходит быстрее нежели технологий их поиска. В результате возможны (и достаточно часты) как ложные срабатывания (т.е. обнаружение вируса там, где его и в помине нет), так и не распознавание вируса (несмотря на то, что он есть).
С появлением Интернет, техно-крысы заполучили еще один канал распространения своих творений, да какой канал! В эпоху рассвета BBS большим достижением считалось заразить за один раз сто-двести человек – ну, разве можно сравнить это с тем, что возможно сейчас? Стоит выложить программу с тайно внедренным в нее "насекомым" на десяток-другой посещаемых сайтов, как за один день ее могут "подцепить" тысячи пользователей!
К тому времени, пока разработчики антивируса успеют включить штамм вируса в очередное обновление, эпидемия может захватить все континенты (и такие случаи скорее правило, чем исключение). Если вирус писан не школьником, только постигающим азы программирования, а профессионалом, умело противодействующим анализу своего творения, - разработка противоядия может затянуться на неделю, если не больше. Тем временем, вирус будет продолжать свое наступление, проникая по быстрым каналам Интернет в самые отдаленные уголки сети.
Противостать таким вирусам вызвались так называемые "эвристические анализаторы", позволяющие с некоторой вероятностью находить новые, еще не известные вирусы. И все было бы хорошо, ни будь понятие "вирус" таким растяжимым - под эту категорию попадет множество безобидных и мирных программ, например, дисковые утилиты, сами антивирусы и даже… операционные системы!
Напротив, вирусы могут успешно маскироваться под "невинных овечек", обманывая даже самых строгих эвристических анализаторов. Разработчики антивирусов, собственно, и не утверждают, что эвристические анализаторы могут обнаруживать всех новых вирусов, но обещают, что, по крайней мере, девяносто (а может быть, и все девяносто девять) процентов из их будут успешно пойманы.
Такой неумеренный оптимизм рождает смутные сомнения, - помните анекдот о машине, исправной на девяносто девять процентов ("извини дорогой, тормоза попали в последний процент")? Невозможно быть "чуть-чуть беременной", как и "чуть-чуть неисправным". Антивирус либо работает, либо нет. Создатели вируса (за редкими исключениями) не настолько глупы, чтобы не протестировать свою заразу на всех мало-мальски популярных антивирусах - обнаруживают ли они ее или нет. Если обнаруживают, – продолжают совершенствовать свое детище до тех пор, пока оно не станет полностью невидимым.
Известно очень мало случаев когда новые вирусы находились именно эвристическим анализатором, зато "ругательства" на здоровые файлы стали притчей во языцах. Что делать пользователю? Стирать подчистую все, что вызывает подозрение? "Вот-вот", - шутят технокрысы, "зачем писать вирусы, лучше своему врагу подарить антивирус!".
По идее, можно отослать "ругаемый" файл в службу поддержки, - пускай там разбираются - вирус это или нет. Но, даже если оттуда придет ответ (что вовсе не факт), это случится нескоро.
Немногочисленные продвинутые антивирусы (список которых во избежание обвинений в рекламе приводиться не будет), умеют не только ругаться (ругаться-то дело не хитрое, на это много ума не надо), но и мотивировать причины своего неудовольствия. Дескать, вот тут замечено обращение к исполняемому файлу, тут - к системным областям диска, а здесь вообще шифрованный и хитрый-хитрый полиморфный код (с чего бы легальной программе шифроваться?!).
Пользователю предоставляется самому решать - опасная эта программа или нет. Например, если эмулятор 3Dfx, имеет скрытые функции для работы с Интернет, – поневоле задумаешься - настоящий ли эмулятор это, или шпион, тайно похищающий информацию с компьютера. Аналогично, "Кракеру Интернета", будь он действительно "Кракером Интернета", функции удаления файлов с диска совершенно ни к чему! Напротив, утилита, вычищающая "мусор" из "дальних пыльных углов" винчестера, может удалять файлы на вполне легальных основаниях.
А что будет, если вирус поразит какую-нибудь системную утилиту? Правильно, он окажется не обнаруженным, поскольку, эти потенциально опасные действия утилита может совершать и без него! Удивительно ли, что именно таким образом создатели вирусов и пытаются распространять своих "насекомых"?
"Обжегшись" пару раз на вирусах, многие пользователи порой и вовсе отказываются от копирования и установки на свой компьютер всех "нефирменных" программ. А если уж возникает в них необходимость - берут компакт-диск у приятеля, уже проверившего его "стерильность" на собственной шкуре. Риск подцепить заразу при этом уменьшается до нуля, но пользователю, наученному горьким опытом, этого мало, и он аккуратно скачивает с сайта-разработчиков последнюю версию полюбившегося ему антивируса, как говорится, "на всякий пожарный", чтобы уж точно быть уверенным, что никаких вирусов у него нет.
Но незащищенность Интернет позволяет злоумышленнику подсунуть свой жертве не оригинальный антивирус, а его "усовершенствованную" версию, заражающую все файлы во время их сканирования, если не что-то похуже. И такие случаи уже бывали, к тому же неоднократно! И поражались не только конечные пользователи, но и крупные дистрибьюторы!
Еще больше неприятностей доставляют ошибки, допущенные разработчиками антивирусов (антивирус, как и всякая программа, не свободен от ошибок). Нередко они приводят к полному уничтожению всей информации, хранящейся на жестком диске, - а на такую катастрофу способен далеко не каждый вирус!
Как ни крути, а никакой, даже самый "фирменный" и "продвинутый" антивирус не избавляет от необходимости периодического сохранения всей ценной информации на резервных носителях (стримерах, Zip-ах, CD-"писцах" и подобных им). Но если есть резервная копия, - так ли тогда необходим антивирус?
…антивирусы и в самом деле не так надежны, как этого ожидают приобретающие их пользователи. По-настоящему защищенными могут чувствовать себя лишь те, за чьими компьютерами следят живые специалисты, а не автоматические программы.
К сожалению, таковых специалистов никогда не будет достаточно, чтобы охватить весь существующий парк компьютеров, и на ближайшие несколько лет антивирусы останутся единственным предохранительным средством "домашних" пользователей.
От вирусов, как и от СПИДа, предохраняться можно, но безо всяких гарантий на успех. Правда, если вести упорядоченную во всех отношениях жизнь и не иметь отношений с личностями сомнительного происхождения, даже безо всяких предосторожностей риска заразиться практически нет!
В конечном счете, основную проблему представляют собой не вирусы, а низко квалифицированные пользователи (которые иногда занимают места системных администраторов) и упорное нежелание руководства уделять защите информации должное внимание.
По наиболее достоверным оценкам убытки от вирусов не превышают 5%-10% от всех происшествий вообще (вызванных поломками аппаратуры, стихийными бедствиями, неадекватными действиями пользователей и т.д.).
Фактически мы имеем дело с мифом, поддерживаемым заинтересованными в нем людьми (журналистами, специалистами по безопасности, разработчикам антивирусов и, наконец, самими пользователями, которым гораздо выгоднее свались все на вирус, якобы появившейся в самый неожиданный момент, и уничтоживший всю сделанную работу).
В "нормальных" операционных системах таких, например, как Windows NT или Windows 2000, проблема вирусов не столь актуальна, поскольку, они могут запретить модификацию исполняемых файлов и не допускают уничтожения критически важных данных. Обойти же такую защиту вирус сможет только теоретически.
Хотите обезопасить себя и навсегда забыть это страшное слово "вирус"? Тогда отправляйтесь в ближайший магазин за диском с Widows NT и спите спокойно!
Родственные вопросы:
Вирусы - кибернетический Минотавр или Мания?
В чем преимущества Windows 2000 по сравнению с 9x?
Поймай мечту за хвост!
Хотите, не покидая любимого кресла, увековечить свое имя, принести пользу науке и заглянуть за край обыденного? Все что вам потребуется - компьютер средней конфигурации и Интернет любой степени тормознутости, плюс немного терпения (хотя бы дней на сто), словом, ничего экзотического.Среди прочего космического мусора, вращающегося над нашими головами, в полутора миллионах километрах над Землей парит внеатмосферная солнечная обсерватория SOHO (Solar and Hemispheric Observatory). Через определенные промежутки времени она фотографирует Солнце, а полученные снимки автоматически выкладываются на сайт http://sohowww.estec.esa.nl/data/realtime-images.html
Фактически это настоящая "живая камера", позволяющая заглянуть за кулисы нашего светила. Многие даже не подозревают на какие причудливые переплетения плазмы и газа способна природа. Непрекращающиеся активные процессы – вспышки, факелы, протуберанцы не только любопытны с познавательной точки зрения, но и красивы.
При наличии постоянного Интернет-соединения оригинальным украшением рабочего стола может стать автоматически обновляемое изображение Солнца, заменяющее традиционный хранитель экрана. Такую программу (под Макинтош и Windows 9x\Windows NT) с сервера NASA можно скачать абсолютно бесплатно, обратившись по адресу: http://sohowww.estec.esa.nl/whatsnew/screensaver.html.
Но наблюдения Солнца, сияющего на экране монитора, могут носить не только праздный характер. Их визуальный (да, да, именно визуальный, а не компьютерный!) анализ способен принести существенную пользу науке и увековечить ваше имя. Речь идет о "ловле комет". Некоторые "хвостатые странницы" так близко подлетают к нашему светилу, что попадают в поле зрения широкоугольного коронографа SOHO и оставляют свой след на фотоснимках. По некоторым причинам NASA не ведет их компьютерного поиска, оставляя эту затею на откуп любителям.
Между тем, открытие новой кометы – всегда событие, пускай, из ряда вон не выходящее, но имеющее далеко идущее последствия. Открывателю автоматически присуждается право окрестить "туманную звездочку" собственным именем (или псевдонимом), об открывателе тотчас узнают все астрономы мира, а изучение орбит комет позволяет пролить свет на многие загадки природы, в том числе приоткрывает занавесу тайны происхождения нашей Солнечной системы, а, значит, и нас с вами.
Сотни любителей всего мира систематически просматривают полученные SOHO изображения, и самые настойчивые открывают новую комету в среднем за сто-сто пятьдесят дней наблюдений. "Ловля" комет в чем-то похожа на обычную рыбалку – тесное переплетение удачи и мастерства, разочарований, азарта и моментов непередаваемого чувства вселенского удовлетворения. Это особый вид спорта, сочетающий коллективное братство (а астрономы, как, впрочем, и рыболовы, на удивление дружные ребята) с ролью индивидуальной личности.
Хотите и вы попробовать? Тогда заходите на сайт http://sungrazer.nascom.nasa.gov/ и подключайтесь к проекту. Значение английского языка необязательно (хотя, горячо приветствуется) – вся необходимая информация в сжатом виде изложена ниже. Начать посвящение будущих ловцов комет, вероятно, следует с описания самого спутника SOHO. Помимо прочей аппаратуры (не имеющий никакого отношения к поиску комет), его создатели оснастили космическую обсерваторию двумя коронографами, получившими условные обозначения С2 и С3.
Рисунок 43 ??? Рис с2.jpg Вид Солнца в коронограф C2
Рисунок 44 ??? Рис с3.jpg Вид Солнца в коронограф C3
Как и следует из названия, "коронограф" предназначается для наблюдений за солнечной короной. Невооруженным глазом ее можно наблюдать только во времена полных солнечных затмений, поскольку яркость короны в десятки тысяч раз меньше яркости слепящего диска фотосферы (видимой поверхности Солнца) и тонет в его лучах. Но если расположить перед объективом телескопа непрозрачный кружок, закрывающий солнце, то, тщательно подобрав его размер, можно добиться "искусственного затмения". (Конечно, в действительности коронограф устроен немного сложнее, но для работы с ним значение технических подробностей его работы необязательно).
Поле зрения коронографа С3 равно 6 градусам (видимый диаметр солнечного диска в двенадцать раз меньше), что всего лишь вдвое меньше орбиты Меркурия. Большинство комет двигаются по орбите настолько быстро, что "пролетают" это расстояние менее чем за двенадцать часов! Эх, совсем немного времени отпущено на поимку новой кометы! (Поле зрения коронографа "С2" всего лишь 3 градуса, поэтому, вероятность открытия кометы с его помощью существенно меньше).
Чем отличается комета от звезд? Нет, вовсе не хвостом (который заметен лишь у немногочисленных крупных комет), а… движением. Если сравнить между собой два снимка, полученные с некоторым интервалом, то настоящие звезды (за исключением, Солнца, конечно) не изменят своего взаимного расположения, а комета ощутимо "сдвинется" относительно окружающих ее звезд. Часто (но не всегда) кометы выглядят не точечными звездочками, а размытыми туманными пятнышками, размеры которых постепенно растут по мере приближения кометы к Солнцу.
Это минимально необходимая для "кометной рыбалки" информация, поэтому, заинтригованным читателям одна дорога – в библиотеку (или астрономический институт имени Штейнберга – ГАИШ), а может быть, даже в Московский Астроклуб (электронный адрес председателя andos@osp.ru), где им помогут удовлетворить любопытности и разъяснят остальные подробности.
Напоследок несколько полезных советов для начинающих. В первую очередь следует предостеречь читателей от соблазна использовать изображения с низким разрешением, - на них кометы попросту не видны. Лучше всего для анализа подходят снимки 1024x1024, хотя опытные "охотники" с некоторой натяжкой могут обходиться и вдвое меньшим разрешением. Но изображения худшего качества уже ни на что не годны.
Второе, – обнаружив нечто похожее на комету, не спешите уведомлять о своем открытии,– сначала убедитесь, что это не ошибка. Для проверки рекомендуется скачать с сайта по крайней мере четыре последовательных снимка и проследить по ним путь объекта, принятого за комету. Если перемещение подтвердится, – сообщите об этом координатору проекта Дугласу Биесекеру по адресу doug@sungrazer.nascom.nasa.gov.
Форма сообщения – произвольная, (письма обрабатывает живой человек, а не машина), но должна в себя включать:
а) инструмент (т.е. какой именно коронограф использовался C2 или C3);
б) дату и всемирное время, когда был получен снимок (внимание, не путайте это со временем, когда вы обнаружили комету);
в) координаты кометы на каждом из четырех снимков (координаты центра кометы измеряются в пикселах, отсчитываемых от любого из углов фотографии и записываются в формате XxY, например, так: 666x999);
г) какой угол использовался для отсчета координат.
Вот и все! Удачной вам охоты!
Получение файлов
Анархия – это когда вас постоянно поливают дерьмом, а вы должны терпеть.Аноним
Попытка скачать с WEB-сервера
Для идентификации программного обеспечения, установленного у клиента, в заголовке запроса, посылаемого web-серверу, предусмотрено специальное поле "User-Agent", заполняемое самим клиентом, точнее, его программным обеспечением, и по обыкновению содержащие название и версию этого самого программного обеспечения.Зная, какие браузеры используют посетители его сайта, web-мастер может оптимизировать HTML-код соответствующим образом. Хотя, временами раздаются недовольные возгласы в стиле "руки прочь от подробностей интимной жизни посетителя", техника идентификации клиентов призвана служить их же благу.
И все было бы хорошо, если бы некоторые (слегка тронутые) web-мастера, не налагали бы ограничений на выбор программного обеспечения. Анализируя содержимое поля "User?Agent" они разрешают доступ к ресурсам в том, и только в том случае, если клиент использует "дозволенный" браузер, в противном же случае – от ворот поворот. Прямо как в анекдоте – моя селедка, что хочу, то и делаю!
Большинство браузеров – InternetExplorer, Netscape Navigator и др. – для своей идентификации используют кодовое имя "Mozilla", а "качальщики" файлов зачастую оставляют поле "User-Agent" пустым, либо же заполняют его некоторым образом по своему усмотрению. Поэтому, отличить такой "качальщик" от браузера очень легко! Вопрос: чем же мотивирован запрет на использование "качальщиков", следует задать этим самым "двинутым" web-мастерам, автор же ответить на него не в силах – это выше его понимания!
Можно ли обойти такую защиту? Разумеется, да - достаточно качальщику идентифицировать себя строкой "Mozilla" – если, конечно, такая возможность предусмотрена его разработчиком. В противном случае придется выбирать другого "качальщика" – с более гибкими настройками.
Очень сильно ушибленные web-мастера ухитряются распознавать такой обман, проверяя значение еще одного поля – "Referrer", содержащее адрес страницы откуда пришел клиент. {>>>> сноска прямо разворачивают целую военную компанию против своих посетителей!}. При скачке файла из браузера в это поле помещается адрес текущей страницы, но большинство "качальщиков" оставляют его пустым!
Разумеется, разработчикам "качальщиков" это препятствие нетрудно обойти – подумаешь, проблема – добавить несколько лишних строчек кода, – но вот пользователи "качалки", не поддерживающей заполнения поля "Referrer" скидывают ласты и выпадают в осадок, разыскивая более совершенную программу – поумнее.
Ниже будет приведен пример конфигурирования двух популярнейших приложений – ReGet и Teleport Pro. Во всех остальных случаях поможет прилагаемая к продукту документация, а в ее отсутствии эту операцию можно попытаться выполнить и самостоятельно, поскольку все приложения конфигурируются, в общем-то, аналогично.
???? Рисунок "карикатура" Веб-мастер, ведущий войну с посетителями – посетитель хочет забрать файл, а Веб мастер, вцепившись в него мертвой хваткой – не отдает!
При чтение некоторых сайтов выскакивает ошибка "TTL bug". Как с ней бороться?
Запустите Редактор Реестра и откройте ветвь HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP для Windows9x и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters для Windows NT\2000. Найдите там, а при необходимости создайте, строковой параметр "DefaultTTL" и присвойте ему значение "128".Подробнее об этом см. "Оптимизация соединения с Интернет", так же "Описание утилиты MTUSpeed".
Родственные вопросы:
Описание утилиты MTUSpeed
Оптимизация соединения с Интернет
Пример сеанса работы с telnet
Следующий эксперимент демонстрирует подключение к telnet?серверу "hobbiton.org" с регистрацией нового пользователя.Выберите пункт "Удаленная система" меню "Подключить" в графическом клиенте или непосредственно укажите имя сервера в его консольной ипостаси.
Когда на экране появится диалоговое окно, изображенное на рисунке 55 в поле "Имя узла" укажите "hobbiton.org" (или адрес другого узла, с которым вы хотите установить соединение). Содержимое поля "порт" на данном этапе оставьте по умолчанию, – "telnet" или введите численное значение порта – "23", в поле "Типе терминала" выберите терминал "vt100".

Рисунок 56 Рисунок 060 Диалог "подключение"
Когда все будет сделано, нажмите кнопочку "подключить", и через пару секунд появится заставка “Open BSD”, с требованием ввода имени пользователя и пароля (смотри рисунок 56).

Рисунок 57 Рисунок 061 Начало telnet-сессии с сервером
Для регистрации нового пользователя введите вместо своего имени "newuser", – сервер, радостно хрюкнув, задаст несколько придирчивых вопросов о поле, возрасте, месте проживания и через некоторое время, варьирующиеся от десятков минут до нескольких дней, создаст новый аккаунт и запустит вас в систему.
Как с ней работать? см. "Как работать с UNIX?"
Родственные вопросы:
Как работать с UNIX?
Web-programming à
Какие сервера бесплатно предоставляют право исполнения cgi?
Примеры строк инициализации
Каждая строка инициализации должна начинаться с префикса "AT", за которым следует одна или несколько команд модема, разделенных для удобночитаемости знаком пробела или прижатых вплотную друг к другу. Например: "AT S52=0 *P2".Часто за AT следует команда "&F", восстанавливающая все заводские настройки модема. Дело в том, что многие коммуникационные программы, в том числе и сама операционная система, конфигурируют модем по своему усмотрению и сохраняют настройки в его энергонезависимой памяти. Конечно, если результат такой настройки неудовлетворителен, имеет смысл вернуть заводские параметры по умолчанию, в противном же случае лучше оставить все как есть, тем более что команды строки инициализации перекрывают результаты работы всех ранее введенных команд и позволяют изменить любую настройку по своему вкусу.
Несколько следующих примеров строк инициализации демонстрируют способы эффективного использования модемов на некачественных каналах:
Пример №1 для всех модемов: "AT S6=10 S9=30 S10=80"
Пример №2 для модема ACORP: "AT S6=10 S9=30 S10=80 +MS=10,1,9600,14400"
Пример №3 для Courier V. Everything "AT S6=10 S9=30 S10=80 S28=20"
Пример №4 для "ZyXEL OMNI" "AT S6=10 S9=30 S10=80 S39=1 &N17*Q1"
Проблемы администрирования
Чем рискует администратор, разрешая клиентам выполнение собственных cgi-скриптов? Если web-сервер исполняет их не с правами root, то ничем, за исключением предоставления прав пользователя владельцем скриптов (и потенциального предоставления этого права злоумышленникам, обнаружившим уязвимость скрипта).Пользователь может сотворить много нехорошего даже с хорошо защищенной системой. В лучшем случае использовать ее для массовой рассылки корреспонденции (в просторечии спама) или для атак на другие узлы. Особенно это актуально для служб бесплатного хостинга, не имеющих возможности проверить подлинность данных, сообщенных клиентом при регистрации. Это позволяет злоумышленнику не только оставаться анонимным, но и противостоять закрытию его аккаунта, т.к. ничего не стоит повторно зарегистрироватьсярегистрируясь
под другим именем.
Для предотвращения подобных атак администраторам бесплатных ресурсов настоятельно рекомендуется установить межсетевые экраны, запрещающие установку исходящих соединений. Однако, такое решение ограничит и легальных клиентов, вызывая их отток к провайдеру, не оснащенному подобной защитой.
В UNIX-системах любой, даже непривилегированный, пользователь имеет доступ ко многим секретным файлам сервера, манипуляции с которыми потенциально способны нанести ущерб системе. Например, файл "/etc/passwd" доступен для чтения всем пользователям этого сервера, и, если администратор забыл "затенить" пароли, злоумышленник сможет в относительно короткое время их подобрать. (К счастью, во всех системах кроме LINUX пароли "затенены" изначально и других там просто нет). ОС Windows NT\2000 в этом отношении защищена значительно лучше, но все же имеет ряд слабых мест, например, допускает просмотр профилей безопасности до ввода пароля (профили же среди прочей информации хранят историю паролей, с целью предотвращения их повторного использования; да, это старые, уже недействительные пароли, но они раскрывают стратегию выбора пароля – используются ли случайные комбинации символов, словарные слова, клички любимых хомячков, чем невероятно облегчают проникновение в систему).
Проблем при предоставлении web – хостинга без права выполнения собственных скриптов намного меньше: сервер обслуживает пользователей самостоятельно, а операционная система об их существовании даже и не подозревает. Чтобы отличить "нормальных" пользователей, от клиентов, обслуживаемых сервером, последних часто называют псевдопользователями.
Псевдопользователи не имеют никаких прав и полномочий доступа к файлам, кроме явно разрешенных сервером. Они могут исполнять уже находящиеся на сервере скрипты, но создавать свои не в состоянии. Большинство администраторов предоставляет в распоряжение псевдопользователей некоторое количество типовых скриптов, как то: счетчики, гостевые книги, доски объявлений и т.д.
С точки зрения безопасности это довольно рискованный ход, - ошибка скрипта может запросто дать WEB-клиенту права непривилегированного пользователя, а то и администратора!
Практика показывает – ошибки в широко распространенных скриптах скорее закономерность, чем непредвиденная случайность. Любой скрипт, даже полученный от профессиональных программистов, а уж тем более созданный любителем и свободно распространяемый по сети (а именно такие и пользуются наибольшей популярностью), должен быть тщательнейшим образом проверен перед его помещением на сервер.
Программа учета времени проведенного
Большинство программ учета времени, поведенного в Интернет, отчитывают его с момента входа в сеть, тогда как провайдер – с момента передачи пароля пользователя (хотя возможны вариации). Эти два события разделяют всего несколько секунд (или около того), но при многократных входах в сеть ошибки измерений постепенно накапливаются и программа учета начинает врать. Не сильно, но все-таки до последней минуты на нее полагаться не стоит.??? Рисунок "карикатура" – человек с мордой типа "тяпка" стоит перед уходящем поедом. Он смотрит на привокзальные часы. Он смотрит на свои часы – последние отстают на несколько минут.
Создать программу, подсчитывающую точное время пребывания в Интернет в принципе возможно, но проблематично ввиду необходимости самостоятельно реализовывать процедуры входа – выхода в сеть, т.к. системная для этой цели не подходит, да к тому же придется учитывать, что у разных провайдеров – различные алгоритмы подсчета времени.
Провайдер и удаленный доступ
"Власть - палка о двух концах"Френк Херберт "Дюна"
ReGet
В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "Прокси".Для работы через HTTP Proxy-сервер
взведите галочку "Использовать для HTTP" и строкой ниже укажите адрес сервера и номер порта, отделенный от адреса двоеточием, например, так: proxy.itech.ru:3128 (номер порта и адрес сервера можно узнать у администратора сети или провайдера). Если Proxy требует аутентификации, в строке "Имя" введите свой логин, а в строке "Пароль" свой пароль. В графе "Откат на" укажите количество байт которые будет отрезаться от хвоста скаченного файла при каждом разрыве соединения (подробнее см. "Я скачал файл с сервера, а он отказывается распаковываться (запускаться). Кто виноват и что делать?"). Галочка "Хитрый откат" будучи взведенной задействует продвинутый алгоритм отрезания хвоста, пытающийся определить точное положение "мусора" в хвосте, дабы не отрезать лишнего. Анализируя поток данных, ReGet ищет строки характерные для сообщений об ошибке (по умолчанию – "HTTP/1.,"). Если ваш Proxy-сервер информирует об ошибке каким-то иным образом (что, впрочем, достаточно маловероятно) добейтесь появления в окне браузера сообщения о такой ошибке, а затем в меню "Вид" выберите "В виде HTML" и скопируйте самую верхнюю строку в поле "Список первых символов сообщения об ошибке" диалогового окна настроек ReGet. Вообще-то, от использования "хитрого отката" лучше отказаться – он, экономя всего лишь несколько секунд на каждый разрыв соединения, создает угрозу необратимо испортить скачиваемый файл так, что его будет проще скачать сначала, чем восстановить. Так стоит ли рисковать?
Для работы через ftp Proxy-сервер взведите галочку "Использовать для FTP" и строкой ниже укажите адрес сервера и номер порта, отделенный от адреса двоеточием, например, так: proxy.itech.ru:3128 (номер порта и адрес сервера можно узнать у администратора сети или провайдера). Если Proxy требует аутентификации, в строке "Имя" введите свой логин, а в строке "Пароль" свой пароль. В большинстве случаев провайдеры предоставляют один Proxy для ftp- и http-протоколов, для работы с которым радио кнопка графы "Тип FTP прокси" должна находится в положении "HTTP". Если же соединение осуществляется через WinGate или Microsoft Proxy, требующих представлять адрес ftp-сервера и имя пользователя в виде адреса электронной почты, перекиньте эту радио кнопку в положение "user@site".
Ограничения: ReGet поддерживает только базовый алгоритм аутентификации и не умеет передавать на Proxy зашифрованный пароль. Некоторые администраторы запрещают базовую аутентификацию по соображениям безопасности (пароль, переданный открытым тестом, легко перехватить), что приводит к неработоспособности ReGet. Выход состоит в установке SOCKS Proxy-клиента, самостоятельно перехватывающего запросы на установку соединения и переправляющие их на Proxy. Обратите внимание – при работе через Proxy-клиента галочки "Использовать для HTTP" и "Использовать для FTP" в настройках ReGet следует сбросить.

Рисунок 12 рис 0х022 Настройка ReGet для работы через Proxy-сервер
В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "HTTP", где перемещением радио кнопки в секции "Строка User-Agent" выберите: какое именно приложение необходимо имитировать.
Секция "Строка Referrer" задает способ заполнения содержимого поля "Referrer". На выбор пользователя предложены следующие варианты: "Нет" – поле "Referrer" остается пустым; "Версия ReGet" – в поле "Referrer" попадет версия ReGet, например, "ReGet/1.4.0.393 SE" (не очень хорошо для имитации браузера, но зато честно); наконец, ниспадающий бокс со строкой редактирования позволяет задать содержимое поля "Referrer" самостоятельно – для обхода защиты (если она есть – т.е. файл с сервера не отдается иным образом) занесите сюда адрес странички, содержащей ссылку на файл (он содержится в строке "Адрес" браузера). Такую операцию придется проделывать для скачки каждого файла с защищенного сервера. Чтобы постоянно не лазить в глобальные настройки "Свойств закачки по умолчанию" при добавлении новой закачки в закладке "URL" взведите галочку "Использовать собственные расширенные настройки", затем, в раскрывшемся веере закладок, перейдите к закладке "HTTP" и скопируйте адрес страницы в локальное поле "Referrer". Это довольно утомительное занятие, но ReGet не предоставляет никаких средств для его автоматизации. Впрочем, web-мастера, ведущие планомерную войну со своими посетителями, встречаются не так уж часто, поэтому к описанному выше трюку прибегать придется редко.
В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "FTP", в ней сбросьте галочку "Режим ASCII" (сброшена по умолчанию) и нажмите клавишу "OK", чтобы проделанные изменения вступили в силу.
В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "FTP", а в ней взведите галочку "Пассивный режим". Нажмите "ОК" и повторите попытку получения файла.
Родственные вопросы:
Интернет. Общие вопросы à Что такое Proxy-сервер и как с ним работать?
Интернет. Общие вопросы à Как заставить такое-то приложение работать через Proxy (Firewall)
Решения общие для всех модемов
Модем не устанавливает связь:– убедитесь, что в телефонной линии наличествует гудок: на некоторых АТС он появляется только лишь через несколько секунд после снятия трубки; если это так, увеличьте содержимое регистра S6, хранящего время ожидания гудка в секундах (по умолчанию обычно 2);
– возможно, модем не успевает дождаться отклика от удаленного модема – проверьте содержимое регистра S7, хранящего время ожидания несущей после набора номера в секундах, – по умолчанию оно должно быть равно 30 секундам (чего более чем достаточно), но бывают и отклонения в нижнюю сторону;
– многие модемы не могут установить соединение из-за помех на линии, которые они ошибочно принимают за несущую частоту удаленного модема со всеми отсюда вытекающими последствиями. Попробуете увеличить содержимое регистра S9, хранящего время в десятых долях секунды в течение которого следует принимать несущую частоту. По умолчанию оно равно 6 (т.е. 0,6 сек.), чего более чем недостаточно в большинстве случаев. Хороший результат дает S9=30. Обратите внимание: вместе с увеличением содержимого S9 необходимо увеличить и значение регистра S10, хранящего время в десятых долях секунды в течение которого может отсутствовать несущая частота и при этом не происходит разрыв связи. Если S9 = S10 то любое, даже мгновенное пропадание несущей, приводит к разрыву связи, а если S9 > S10, то установить связь вообще не удается.
Модем часто бросает трубку:
– попробуйте увеличить содержимое регистра S10, хранящего время в десятых долях секунды в течение которого может отсутствовать несущая частота, и при этом не происходит разрыв связи. По умолчанию оно равно 7 (т.е. 0,7 сек.), чего явно недостаточно при эксплуатации модема на некачественных каналах. Хороший результат дают значения от 80 десятых долей секунд и более. Обратите внимание, что на некоторых модемах максимальное время отсутствия несущей определяется разницей
значений регистров S10 и S9, а не самим содержимым S10. Если записать в регистр S10 значение 255, то, сколько бы времени ни отсутствовала несущая, связь не будет разрываться, что может привести к зависанию модема, преодолимому только отключением \ включением питания.
Модем не определяет сигнал "занято":
– этой "детской" болезни подвержены многие дешевые модемы, в том числе и ACORP. К счастью, такое заболевание не смертельно – во-первых, можно вручную разорвать связь, услышав в динамике гудки отбоя, а во-вторых, даже если этого и не сделать, соединение будет само разорвано по истечению времени, содержащегося в регистре S7 (в секундах). Однако не стоит увлекаться его чрезмерным уменьшением – даже если линия свободна, но за указанный интервал времени ваш модем не успеет "снюхаться" с удаленным модемом – соединение будет безжалостно разорвано. По мнению автора, оптимальное значение регистра S7 – 15-20 секунд.
Решения, специфичные для конкретных модемов
Модем не устанавливает связь:– возможно, модем слишком быстро набирает номер, и АТС просто не успевает его "переваривать". Попробуйте уменьшить скорость набора. В модемах ZyXEL для этого необходимо скорректировать значение регистра S39. Значение "0" соответствует 10 пульсам в секунду, "1"
– 16 и "2"
– 20. Например "S39=1" задает скорость набора в 16 пульсов в секунду;
– модемы Courier V. Everything часто не могут "снюхаться" друг с другом из-за недостаточно продолжительного времени посылки тональных сигналов. Решение проблемы заключается в увеличении содержимого регистра S28, хранящего время посылки тональных сигналов в десятых долях секунды (по умолчанию 8). Например: "S28=20" задает интервал посылки в две секунды.
Модем часто бросает трубку:
- если качество линии не остается постоянным на протяжении всего сеанса связи (как это часто бывает с плохими телефонными линиями под которыми каждые N минут проезжает трамвай), то характеристики канала, измеренные в момент установки соединения, могут оказаться излишне оптимистичными, а скорость соединения – завышенной (равно, как и наоборот). Попробуйте задать скорость соединения вручную, уменьшая ее до тех пор, пока не будет достигнута требуемая стабильность связи. Необходимо отметить, что протокол V.34, используемый большинством модемов по умолчанию, предъявляет к качеству линии достаточно жесткие требования и порой имеет смысл перейти на протокол V.32bis, хоть и ограничивающий максимальную скорость в 14.400, но значительно лучше переносящий все тяготы телефонной жизни. Обратите внимание – ограничение скорости соединения в настройках Windows обладает тем недостатком, что не позволяет выбрать требуемый протокол и в большинстве случаев соединение устанавливается по V.324Bis, поэтому, разумно включить команду выбора скорости в строку инициализации модема:
ACORP: для принудительного задания скорости и протокола соединения в модемах "ACORP" служит команда "+MS=", краткая форма вызова которой выглядит так: "+MS=режим, автомод, скорость минимальная, скорость максимальная". Полный перечень режимов и соответствующих им скоростей содержится в прилагаемой к модему документации. Пример использования: "+MS 10,1,9600,14400" – заставляет модем соединяться по протоколу V.32bis на скорости от 9.600 до 14.400;
3Com US Robotics Courier V. Everything: модемы этой серии не позволяют принудительно задавать протокол соединения, поэтому для ограничения скорости можно воспользоваться настройками Windows;
ZyXEL OMNI: выбор протокола осуществляется командной "&Nn", где n – номер требуемого режима (список режимов приведен в прилагаемой к модему документации). Для протоколов V.34 и V.90 допускается принудительное задание любой требуемой скорости соединения, а для всех остальных предоставляется несколько фиксированных диапазонов на выбор. Например, "&N17" заставляет модем соединяться по протоколу V.32bis на максимально возможной из следующих скоростей: 14.400 / 12.000 / 9.600 / 7.200 / 4.800.
– модемы ZyXEL позволяют управлять своей реакцией на изменение качества линии. Этим "заведует" команда "*Qn", где n может принимать одно из следующих значений: "0" – никак не реагировать на изменение качества и продолжать обмениваться данными на той же скорости; "1" – заново согласовывать параметры соединения с удаленным модемом при ухудшении качества; "2+"(по умолчанию)
– адаптивная настройка и "3" – прекращение соединения при ухудшении качества. Модемы Courier V. Everything не позволяют управлять своей реакцией на изменение качества связи и самостоятельно адаптируются под условия "окружающей среды", работая на максимально возможной скорости;
– причиной частых разрывов соединений зачастую оказывается неверно подобранный уровень выходного сигнала. Вообще-то, модемы могут (и должны) автоматически согласовывать "громкость" своего разговора при установке соединения, но, если затухание канала не остается постоянным, а меняется в течение сеанса связи, имеет смысл выставить уровень вручную, отыскав компромисс между наименьшим и наибольшим затуханием. Не стоит выставлять "громкость" передачи на максимум – это усилит искажения, особенно эхо, и модем, "охрипнув" от собственного крика, снизит скорость передачи. В модемах ZyXEL уровень выходного сигнала регулируется командой "*Pn", где "n" – условная громкость, принимающая значения от 0 до 15, причем большее значение соответствует большей громкости. Модемы Courier V. Everything и ACORP
не позволяют регулировать уровень выходного сигнала;
– модемы ZyXEL позволяют настраивать и чувствительность приемника, что особенно полезно на каналах с сильным или непостоянным затуханием. Чувствительность регулируется регистром S52: значение "0" соответствует чувствительности приемника в – 43 дБм, "8" - –33 дБм и "16" - –26 дБм.
Розница и опт
Существует два подхода к продаже рекламы: либо оплачивается каждый показ (клик) банера, либо спонсор выплачивает держателю сайта некую фиксированную сумму, зависящую от его посещаемости. Последний способ считается более предпочтительным, поскольку приблизительную посещаемость ресурса можно определить и визуально безо всяких счетчиков.Однако такой подход крайне непрактичен и неудобен. И хуже всего – он подходит только для крупных сайтов. Владельцам же домашних страничек оптом платить никто не будет. И не потому, что их посещаемость невозможно оценить. Просто, вручную контролировать огромное количество ресурсов физически невозможно, поэтому, придется либо прибегать к автоматизированным средствам (а их легко обмануть), либо иметь дело только с несколькими тысячами держателями крупнейших web-проектов, которые заведомо не будут жульничать в силу своего авторитета.
Последнее неприемлемо в первую очередь для самих рекламодателей, стремящихся своей рекламой охватить как можно большую аудиторию и готовых ради этого идти на неизбежный риск.
В магазинах самообслуживания воровство покупателей компенсируют увеличением цен товаров. Точно так, в стоимость рекламы включен (вернее, правильнее сказать, исключен) обман злоумышленников.
Вообще же, проблема вокруг накрутки баннеров, на мой взгляд, сильно раздута. Обилие рекламы наглядно свидетельствует, что несмотря ни на какие накрутки, она окупает себя. В каком-то высшем смысле обман спонсоров приносит больше пользы, чем вреда. Чем больше обманщиков, тем ниже эффективность рекламы, а, значит, меньше и самой рекламы! Трудно найти посетителя, который бы горячо не приветствовал такое развитие событий!
С некоторого времени перезагрузки
Да, существует такая пренеприятнейшая проблема, заставившая многих всерьез усомниться в "стерильности" своего компьютера и живехонько отправится за новым антивирусом. Но виною тому вовсе не вирусы, а сам Outlook (скажи, какой паршивец!). Точнее, его умение сжимать (см. вопрос "Я удалил из паки большое количество сообщений, но ее размер не изменился") собственные папки в фоновом режиме при накоплении такого-то количества помеченных к удалению сообщений.Сама по себе эта операция очень полезная, но, будучи не вовремя прерваннаяпрерванной, она приводит к очень тяжелым последствиям и лучше ее отключить в превентивном порядке. Для этого в меню "Сервис" выберете пункт "Параметры" и в открывшемся диалоговом окне перейдите к закладке "Обслуживание". Снимите галочку "Сжимать сообщения в фоновом режиме" и перезапустите Outlook Express.
Все! Теперь никакие зависания и перезагрузки вам не страшны!

Рисунок 35 Рисунок 0x013.tif Отключение фонового сжатия папок
Родственные вопросы:
Я удалил из паки большое количество сообщений, но ее размер не изменился {ИЗМЕНИТЬ ШРИФТ НА КУРСИВ}
Секреты телеконференций
Никогда не спорьте с фанатиком. Это все равно что бороться со свиньей – ты поливаешь ее грязью, а ей это только нравиться.Кэрол Бароди
Серверные решения:
Администратор почтового сервера может запретить прием корреспонденции от определенных лиц и даже целых серверов. Так, некоторые ящики отказываются принимать письма, посланные с бесплатных серверов наподобие mail.ru, aport.ru, chat.ru и подобных им. Мотивация проста – антиспам. Впрочем, такая жесткая мера приносит больше вреда, чем удобства, серьезно ограничивая круг общения пользователей такого ящика.Если "доставшее" вас лицо шлет свои депеши с одного и того же адреса, попробуйте обратиться за помощью к администратору вашего почтового сервера, передав ему копию одного их писем или сообщив обратный адрес его отправителя. (Если вы только в состоянии определить его самостоятельно – см. "Как установить подлинный адрес отправителя письма?"). По идее администратор (особенно если он к тому же и ваш провайдер) должен пойти навстречу и занести этот адрес в "черный список" фильтра. Намного хуже обстоят дела с бесплатными ящиками – их администраторы довольно прохладно относятся к проблемам своих клиентов и не очень-то легки на подъем. В таком случае приходится прибегать к клиентским решениям…
Сетевой порядок байт
Среди производителей процессоров нет единого мнения на счет порядка следования младших и старших байт. Так например, у микропроцессоров Intel младшие байты располагаются по меньшим адресам, а у микропроцессоров Motorola 68000 – наоборот. Естественно, это вызывает проблемы при межсетевом взаимодействии, поэтому, был введен специальный сетевой порядок байт, предписывающий старший байт передавать первым (все не так, как у Intel).Для преобразований чисел из сетевого формата в формат локального хоста и наоборот предусмотрено четыре функции - первые две манипулируют короткими целыми (16-битными словами), а две последние – длинными (32-битными двойными словами): u_short ntohs (u_short netshort); u_short htons (u_short hostshort ); u_long ntohl (u_long netlong ); u_long htonl (u_long hostlong);
Чтобы в них не запутаться, достаточно запомнить, что за буквой "n" скрывается сокращение "network", за "h" – "host" (подразумевается локальный), "s" и "l" соответственно короткое (short) и длинное (long) беззнаковые целые, а "to" и обозначает преобразование. Например, "htons" расшифровывается так: "Host à Network (short )" т.е. преобразовать короткое целое из формата локального хоста в сетевой формат.
Внимание: все значения, возвращенные socket-функциями уже находятся в сетевом формате и "вручную" их преобразовывать нельзя! Т.к. это преобразование исказит результат и приведен к неработоспособности.
Чаще всего к вызовам этих функций прибегают для преобразования номера порта согласно сетевому порядку. Например: dest_addr.sin_port = htons(110).
Сколько к письму добавляется служебной
Создатели почтовых протоколов проявили большую недальновидность, не предусмотрев возможности передачи двоичных файлов, и – что еще хуже – ограничили разрядность символов семью битами вместо общепринятых восьми. Семи бит было вполне достаточно для вмещения всего американского алфавита вместе с цифрами и знаками препинания, а о поддержке национальных кодировок тогда еще не задумывались.Удивительно, но эти несовершенные, на скорую руку спроектированные протоколы, стали стандартом де-факто, и остальным разработчикам пришлось приложить немало усилий, чтобы преодолеть все их ограничения и превратить почту в универсальный инструмент обмена информацией.
Восемь бит удалось-таки закодировать в цифрах, знаках препинания и символах английского языка. Однако такой способ кодировки потребовал определенных накладных расходов – там, где раньше хватало одного байта, теперь порой требуется аж до трех! Русскоязычное письмо (даже без учета добавленной к нему служебной информации), после его перекодировки может "растолстеть" до трех собственных размеров.
Вложенные файлы чаще всего автоматически кодируются в UUE или MIME, отчего их размер возрастает в 1,3 раза. То есть, если максимальный размер одного письма ограничен 1 мегабайтом, наибольший допустимый размер файла вложения составит 770 килобайт , а за вычетом служебной информации еще на несколько килобайт меньше – порядка 750-760 Кб.
Родственные вопросы:
Что такое MIME
Сколько компьютеров можно связать прямым кабельным соединением?
Максимально возможное количество компьютеров, соединяемых прямым кабельным соединением определяется доступными портами компьютера (см. "У меня нет свободных портов. Как мне быть?"). Используя два последовательных (либо один последовательный и один параллельный) порта можно соединить в цепочку неограниченное количество компьютеров. Для этого на каждом компьютере необходимо запустить две копии приложения "Прямого кабельного соединения" – назначив один порт ведомым, а другой ведущий. Разумеется, все порты могут быть и ведомыми (ведущими) одновременно – это полезно когда к одному компьютеру, играющему роль сервера, подключено несколько других компьютеров-клиентов по топологии звезда (см. Рис 30).
Рисунок 29 Рис 0x024 Последовательное соединение компьютеров

Рисунок 30 Рис 0х025 Топология "звезда"
Родственные вопросы:
У меня нет свободных портов. Как мне быть?
Соединение с ведомым компьютером устанавливается, но тут же разрывается. Почему?
Причина, скорее всего, в неправильных настройках портов. Для исправления ситуации зайдите в BIOS Setup, удерживая DEL во время загрузки компьютера (впрочем, в некоторых случаях процедура входа выглядит иначе – подробности в руководстве по материнской плате), найдите раздел конфигурации оборудования (он может называться, например, "PERIPHERAL SETUP" – "конфигурация периферии") и переключите на обоих компьютерах последовательный порт в режим ECP ("Extended Capabilities Port"), назначив свободное прерывание IRQ и канал DMA или значение "Auto" если BIOS поддерживает автоматическое определение.Последовательные порты переведите в режим полного дуплекса, и проверьте правильность выбора IRQ (неверный IRQ может быть причиной неожиданных разрывов связи). Все дополнительные возможности (если они есть) рекомендуется выключить или установить идентичным образом на обоих компьютерах.
При создании прямого кабельного соединения Windows сама подготовляет к работе выбранный порт, но не всегда делает это правильно. На всякий случай убедитесь, что настройки портов одинаковы на всех компьютерах. Для этого вызовите "Диспетчер устройств", найдите в списке оборудования пункт "Порты COM и LPT" и дважды щелкните по выбранному порту. В открывшемся диалоге перейдите к закладке "Параметры порта".
Если значения всех параметров совпадают, то наиболее вероятная причина разрывов соединений – чрезмерная длина кабеля. Для последовательного соединения допустима длина до 30 метров, параллельного – как минимум вдвое короче, а желательно не более 6-7 метров, иначе соединение будет нестабильным. Не допускайте запутывания и образования "барашков" (петель) на кабеле – они приводят к сбоям и увеличивают затухание сигнала.
Статистика – наука точная?
Как бы злоумышленник ни пытался изменить свой IP-адрес, автоматизированные "крутилки" легко распознаются статистическим анализом. В простейшем случае это: слишком высокая интенсивность и строгая периодичность заходов, неестественно большое отношение количества нажатий к числу показов баннера, слишком короткий интервал времени между запросом баннера и нажатием на него (а некоторые "крутилки" и вовсе кликают по баннеру без предварительного запроса). Не правда ли странен пользователь, который через регулярные промежутки времени заходит на сайт и тут же тянется мышкой к еще не успевшему загрузиться баннеру?Однако, программу "накрутки" очень легко доработать так, чтобы она вела себя практически неотличимо от пользователя – запрашивала баннер через случайные промежутки времени и в одном-двух из десяти случаев кликала по нему, выждав для большего правдоподобия несколько минут.
Если только злоумышленник не станет "нащелкивать" миллионы кликов в день, а лишь в полтора-два раза увеличит свою посещаемость, то даже такая простая имитация введет рекламодателя в заблуждение.
Теоретически можно анализировать кривую зависимости количества посещений от времени суток, учитывая географические местоположения посетителей и многие другие факторы, но приложенные усилия ничем не будут оправданы. Злоумышленник может, основываясь на статистике реальных посещений своего сайта, увеличивать количество посещений в единицу времени, не искажая вид кривой, а лишь приподнимая ее немного "вверх".
С другой стороны, если количество реальных заходов невелико, то никаким обманом злоумышленнику не удастся их увеличить. Страница в стиле "Я и моя собака", собирающая несколько тысяч просителей в день, мгновенно вызовет подозрения у рекламодателя. А если создать действительно интересный и интенсивно посещаемый ресурс – какой смысл его "накручивать"? Не проще ли разместить вдвое больше баннеров?
Примечание: владельцы некоторых WEB-ресурсов требуют перед входом на сайт обязательного нажатия на баннер, поэтому, не во всех случаях отношению кликов к показам обозначает может свидетельствовать о накруткуе.
SubЧто такое режим ASCII и как его отключить в моем ftp-клиенте?
Режим ASCII предписывает ftp-серверу передавать (принимать) содержимое файла в восьмибитной ASCII-кодировке, принудительно замещая все символы "конца строк" двухбуквенными последовательностями "перевод каретки, конец строки" согласно спецификации виртуальных терминалов (подробнее см. ответ на предыдущий вопрос).Такой режим не годится для двоичных файлов, например, архивов или исполняемых, поэтому в таких случаях его следует отключить (или, наоборот, не включать – в зависимости от настроек ftp-клиента по умолчанию). Как конкретно это сделать должно быть рассказано в прилагаемой к программе документации (прочитайте ее от корки до корки, документация – вещь хорошая!), а ниже в качестве демонстрации будет показано как отключить ASCII-режим в популярных клиентах ReGet и FAR, в остальных же случаях ищете в настройках опции "ASCII mode" или "ASCII режим", так же может быть "Не замещать LF на CRLF" {>>>>> сноска – LF – Line Feed
– конец строки, CR - carriage return – возврат каретки} "Don’t replace (синонимы – reform, reorganize; change, transform, convert…) LF to CR LF" по-английски.
SubЧто такое TCP/UDP mapping?
Технология "TCP/UDP mapping" позволяет клиенту локальной сети, сидящему за Proxy-сервером, принимать входящие соединения, а администратору ограничивать своих подопечных, предоставляя им доступ только к заранее оговоренным ресурсам. Кроме того, mapping-серверы очень просто программировать и разработать их может сам же администратор, написав буквально десяток строк на Perl или чуть-чуть больше на Си.Грубо говоря, TCP/UDP mapping это до предела упрощенный TCP/UDP Proxy-сервер. Принцип его работы в общих чертах заключается в следующем – Proxy ожидает подключений от локальных клиентов по некоторому порту, а, дождавшись – устанавливает соединение с заранее оговоренным Интернет – сервером по заранее оговоренному порту, причем номера портов по обе стороны не обязательно должны совпадать. Аналогично, такой Proxy сервер может принимать входящие включения извне сети и направлять их заранее оговоренному клиенту.
Например, пусть клиенты локальной сети хотят получить доступ к серверам телеконференций находящимся вне локальной сети, где-то там, в Интернет. Скажем, это news.microsoft.com, news.relcom.ru и news.org. Администратор Proxy устанавливает mapping – все подключения к Proxy-серверу по 119 порту он будет переправлять на сервер news.microsoft.com порт 119. Пользователи, желающие читать конференции с сервера Microsoft, должны прописать в настройках своего клиента не
адрес news.microsoft.com, а адрес своего Proxy-сервера, который и осуществляет такое перенаправление. То есть, для клиентов локальной сети Proxy-сервер как бы станет сервером news.microsoft.com.
Хорошо, а если кому-то потребуется обратиться еще к одному серверу новостей, скажем, news.relcom.ru – "mapping" двух серверов на один и тот же порт невозможен, т.к. Proxy не сможет понять, что от него хотят и к какому именно серверу следует переправлять пакеты. Поэтому, приходится идти на хитрость – пусть при соединении с Proxy-сервером по некоторому порту отличному от 119, т.к. этот порт уже занят, например, 666 – Proxy будет переправлять клиента на сервер news.relcom.ru порт 119. Пользователям для связи с news.relcom.ru понадобится указать в настройках программы-клиента адрес своего Proxy-сервера и порт 666 – и все будет работать нормально! Конечно, при условии, что используемое приложение допускает задание нестандартного порта для входа на сервер.
SubУ меня нет свободных портов. Как мне быть?
Подавляющее большинство материнских плат имеет только один LPT- и два COM- порта. Естественно: LPT занят принтером, на одном COM-у "вист" мышь, на другом – модем. Для удаленного соединения портов уже не хватает. Как быть?Проще всего купить в компьютерном магазине мультикарту
– многофункциональный контроллер гибких и жестких дисков, последовательных и параллельных портов. Когда-то мультикарты использовались в каждом компьютере, но сейчас эти функции взяла на себя материнская плата, и мультикатры сняли с выпуска. Сейчас они не пользуется спросом, и продаются за смешную, под час чисто символическую цену.
Поэтому, имеет смысл купить такую ради одного лишь LPT-порта. Только проследите, чтобы на самой карте (или в документации, прилагаемой к ней) обязательно присутствовала разводка – какой переключатель за что отвечает. Т.к. перед установкой в компьютер на карте придется отключить все, кроме LPT-порта и обязательно изменить адрес последнего так, чтобы он не совпадал с адресом LPT-порта, встроенного в материнскую плату (адреса портов обычно высвечиваются при загрузке компьютера).
После установки мультикарты в большинстве случаев потребуется запустить "Мастер оборудования" для поиска новых портов. Поскольку, мультяшный LPT работает в обычном, а не расширенном режиме, для прямого кабельного соединения он малопригоден. Но можно воткнуть в него принтер, до этого "сидящий" на интегрированном LPT, а сам интегрированный LPT использовать для соединения с другим компьютером.
Существует и альтернативный вариант: купить мультиплексор и попеременно переключать один порт между двумя устройствами. А если несколько мультиплексоров объединить в одну цепочку, можно повесить на каждый порт неограниченное количество устройств! Единственная проблема – они, разумеется, не смогут работать одновременно.
SubВсе равно не работает! Разрывает связь через минуту!
Да, Windows 2000 при установке прямого кабельного соединения с Windows 9x разрывает связь через минуту неактивности. Для устранения этой беды проще всего создать bat-файл следующего содержания::Start
ping %1
goto start
И запустить его сразу после установки соединения, передав имя соседнего компьютера. Утилита "ping", вызываемая в бесконечном цикле, будет посылать поток эхо - запросов, обеспечивая необходимую активность. Это несколько снизит скорость обмена данными, за счет постоянного "пинга", но более доступного и универсального решения проблемы, по-видимому, не существует.
Существуют ли универсальные пароли к NT?
"Универсальных паролей" к NT не существует – это вам не Award BIOS! Но в ней есть такой зверь как нуль - пользователь, который необходим самой системе для организации нуль - сессий, использующихся Windows NT для связи с другой NT."Вручную" установить нуль-подключение можно командной "netuse \\name\IPC$ "" /USER:""", где name – сетевое имя компьютера или его IP-адрес. Подключившийся получает доступ ко многим ветвям реестра, а так же возможность запускать User Manager для просмотра пользователей и групп, Event Viewer для просмотра журнала событий и некоторые другие утилиты.
Ветвь реестра "HKLM\Software\Microsoft\Windows\CurrentVersion\Run", содержащая имена программ, запускаемых при каждой локальной регистрации пользователя, доступна нуль - пользователю и для чтения, и для модификации! Изменяя ее по своему усмотрению, атакующий может не только выполнить одну из программ, хранящихся на сервере, но и любую из программ, находящихся на его компьютере! Для этого он должен записать нечто вроде "\\mycomputer\myprog", где mycomputer – имя компьютера злоумышленника или его IP-адрес. Командный файл выполняется с привилегиями локально зашедшего на сервер пользователя (а локально на сервер, как правило, заходят администраторы). Получив же права администратора, атакующий сможет сделать с сервером все что угодно!
Если используется автоматический вход в систему (а используется он удручающе часто), в ветке реестра "HKEY_LOCAL_MACHINE\Software\Microsoft\Windowsубратть "?" NT\CurrenetVersion\Winlogon", по умолчанию доступной группе Everyone (всем пользователям), содержатся имя пользователя, вошедшего в систему, ("DefaultUsername") и его пароль ("DefaultPassword"). Если удаленные подключения разрешены, любой член группы Everyone (т.е. всякий, зарегистрированный в системе), сможет просмотреть указанную ветвь реестра, со всеми отсюда вытекающими (для администратора) последствиями!
В Windows 2000 эти бреши в защите устранены, но нуль – пользователь по-прежнему существует и может подсоединяться к удаленному компьютеру без указания пароля.
Существуют ли вирусы, способные
Такие вирусы на сегодняшний день не известны (во всяком случае, о них не упоминает ни Евгений Касперский, ни остальные разработчики антивирусов), но, тем не менее, принципиальная возможность их создания существует. Вот навскидку несколько доводов:а) в популярных почтовых клиентах были обнаружены ошибки, приводящие к срыву стека и вытекающей отсюда возможности выполнения кода, переданного злоумышленником (подробнее об этом смотри книгу "Техника сетевых атак" Криса Касперски);
б) для просмотра писем, отправленных в HTML-формате, вызывается браузер, а ни один браузер на сегодняшний день не свободен от ошибок;
Вот два конкретных примера дырок, присутствующих в последней, на момент написания этих строк, пятой версии браузера IE, запущенной под управлением Windows2000:
а) поддержка "плавающих" форм реализована с ошибкой, позволяющей получить доступ к локальным файлам жертвы;
б) встроенный в письмо файл в форме chm (файл справочной системы Windows) почтовым клиентом Outlock Express 5.01 (и, возможно, другими версий) отображается автоматически, без запросов на подтверждение. А ведь chm-файлы могут содержать команды вызова исполняемых приложений!
Все это может быть использовано для создания вируса, запускающегося при просмотре письме. Однако такое насекомое в любом случае окажется чрезвычайно привередливо к конфигурации жертвы и вряд ли сможет похвастаться масштабами эпидемии.
Родственные вопросы:
Безопасность à Как защитится от вирусов, полученных из Интернет?
Безопасность à Небезопасность электронной почты
Безопасность à Где можно узнать о самых свежих дырках и последних обновлениях приложений?
Безопасность à Какие почтовые вложения безопасны?
Сырые сокеты
Помимо потоковых и дейтаграммных сокетов существуют, так называемые, сырые (RAW) сокеты. Они предоставляют возможность "ручного" формирования TCP\IP-пакетов, равно как и полного доступа к содержимому заголовков полученных TCP\IP-пакетов, что необходимо многим сетевым сканерам, FireWall-ам, брандмаузерам и, разумеется, атакующим программам, например, устанавливающим в поле "адрес отправителя" адрес самого получателя.Спецификация Winsock 1.x категорически не поддерживала сырых сокетов. В Winsock 2.x положение как будто было исправлено: по крайней мере формально такая поддержка появилась, и в SDK даже входил пример, демонстрирующий использование сырых сокетов для реализации утилиты ping. Однако, попытки использования сырых сокетов для всех остальных целей с треском проваливались – система упрямо игнорировала сформированный "вручную" IP (или TCP) пакет и создавала его самостоятельно.
Документация объясняла, что для самостоятельной обработки заголовков пакетов, опция IP_HDRINCL должна быть установлена. Весь фокус в том, что вызов "setsockopt(my_sock,IPPROTO_IP, IP_HDRINCL, &oki, sizeof(oki))" возвращал ошибку!
Таким образом, на прикладном уровне получить непосредственный доступ к заголовкам TCP/IP невозможно. Это препятствует переносу многих приложений из UNIX в Windows, более того, определенным образом ущемляет возможности самой Windows, не позволяя ей решать целый ряд задач, требующих поддержки сырых сокетов.
Так какой же модем все-таки выбрать?
Помните анекдот о том парне, который, подстригшись налысо, задумчиво посмотрел в зеркало, и заказал другую стрижку? Если купленный модем чем-то не понравился, не каждый продавец согласится обменять его на другой. А если и согласится, где гарантия, что тот другой не окажется еще хуже? Что, играй музыка назад?Осмысленный выбор модема требует точного знания характера помех и качества своей телефонной линии, и единственный бытовой прибор доступный для ее измерения – сам модем, причем не всякий, а только дорогая модель. Дешевый ACORP не умеет снимать даже АЧХ, не говоря уже об измерении шума, эха, сдвига несущей, дрожания фазы и т.д.
Замечательно, если ZyXEL OMNI Pro можно ненадолго одолжить у приятеля или взять на прокат – это позволит оценить ситуацию и поможет приобрести именно то, что нужно. Если же такой возможности нет – лучше не рисковать и остановить свой выбор на ZyXEL OMNI Pro. (Исключая случаи с сильно зашумленными каналами, на которых быстрее всего работает V Everything)
Родственные вопросы:
Как подобрать правильную строку инициализации или что делать, если модем не работает? (следующий)
Так ли надежны ли независимые источники?
Большинство поисковых серверов отслеживают какие сайты выбирает пользователь и на этом основании вычисляют их рейтинг. Очень часто предлагается использовать эту информацию для оценки посещаемости того или иного сайта и выявления левых накруток. В принципе, такой подход достаточно надежен, но не следует забывать, что злоумышленник может легко повысить свой рейтинг теми же самыми средствами, которые он использовал для накрутки баннеров. С его точки зрения и баннеры, и ссылки в поисковом сервере – идентичны. Причем, поисковые сервера в своей массе не очень-то ответственно подходят к составлению рейтинга и не выполняют тщательных проверок на предмет выявления автоматизированных запросов. Оно и понятно – недостоверный рейтинг не приносит им никакого убытка, зачем же напрягаться?С другой стороны, поисковых серверов очень много и не у всякого злоумышленника хватит терпения накрутить каждый из них. Как правило, они ограничиваются только парой-тройкой самых популярных систем, игнорируя остальные. И этим полностью разоблачают себя! Действительно, слишком большой дисбаланс рейтингов на разных поисковиках позволяет легко установить факт накрутки.
Ситуация со счетчиками полностью аналогична. Несмотря на некоторые предохранительные меры (например, Rambler не фиксирует заходы с Proxy-серверов), счетчики очень легко накрутить до требуемого значения. Их показания ни о чем не говорят и не позволяют установить истинную посещаемость страницы.
Самые надежные оценки популярности ресурса дает подсчет количества ссылок на эту страницу. Чем больше людей ссылается на данный сайт, тем больше на него заходит посетителей. Соответственно, ресурс, на который не ссылается никто, никому и не интересен, – не стоит ожидать у него большой пользовательской аудитории.
Теоретически злоумышленник может увеличить количество ссылок на свой ресурс, просто создав несколько сотен, а то и тысяч сайтов, "поддерживающих" друг друга. Но если он попробует посчитать сколько на это потребуется времени и сил, то сразу же откажется от такой затеи.
Техника фильтрации
Существует два подхода к фильтрации пользовательского ввода:а) выдача сообщения об ошибке и прекращение работы, если обнаружен хотя бы один опасный символ;
б) "выкусывание" всех таких символов без выдачи предупредительных сообщений и продолжение работы.
Последний подход неоправданно популярен вопреки логике и здравому смыслу. Почему? Пусть, например, адрес легального посетителя выглядит так: "horn&hoff@mail.org" Программа фильтрации "видит" потенциально опасный символ "&" и "на всякий случай" решает его удалить, - в результате письмо направляется совсем по другому адресу, а пользователь "ждет у моря погоды", не понимая почему оно до него не дошло.
Если встретился опасный символ – независимо от того, умышленно он вставлен или нет, – использовать такие данные нельзя. Скрипт обязан прекратить работу и объяснить причину своего неудовольствия пользователю.
Поиск заданного перечня символов легче всего осуществляется использованием регулярных выражений, например, так:
if ($filename =~/[<>\|\-&\.\\\/\0]/)
{die "Ошибка ввода! Недопустиый символ \"$&\" \n";}
open(fh, $filename);
...
Перечень потенциально опасных символов зависит от конкретного случая, – создание универсального фильтра "на все случаи жизни" невозможно.
Например, при добавлении новой записи в гостевую книгу разумно выполнить проверку на предмет присутствия "нехороших" тегов, но не стоит запрещать посетителям использовать теги вообще. В то же время, передавая e-mail посетителя внешнему МТА, необходимо убедится в отсутствии символов перенаправления стандартного ввода (синтаксически неотличимых от угловых скобок, обрамляющих тэги), иначе злоумышленник сможет ввести нечто вроде "hacker2000@hotmail.com; mail hacker2000@hotmail.com
Поиск уязвимых мест в скриптах значительно облегчает механизм меченных данных (tainted data). Если запустить Perl с ключом "-T", он станет требовать явной инициализации или фильтрации всех скалярных переменных, передаваемых функциям eval, system, exec и некоторым другим, потенциально опасным с его точки зрения. Любые переменные, полученные извне (стандартный поток ввода, командная строка, переменные окружения и т.д.), считаются "зараженными" и не могут быть переданы "опасным" функциям до тех пор, пока не будут "обеззаражены" фильтром регулярных выражений. Если одна "зараженная" переменная присваивается другой – та тоже становится "зараженной"!
Но Perl не проверяет корректности фильтрации символов, допуская даже сквозную фильтрацию – "(.*)", и не считает опасной функцию print
(как, впрочем, и многие другие). Конструкция "$a=<>; print $a" не вызывает нареканий со стороны Perl, а ведь переменная $a может содержать нехорошие тэги и вызовы SSI!
Механизм меченных данных, во всяком случае, его реализация в языке Perl, – не панацея! И расслабляться программистам не стоит. "Зараженный режим" разумно использовать как дополнительное средство самоконтроля, но если он не нашел никаких ошибок, это еще не дает оснований считать, что их там действительно нет. Сказанное относится и к ключу "-w", заставляющего Perl выполнять дополнительные проверки, "ругаться" при попытке чтения неинициализированных переменных, попытке модификации файловых манипуляторов и т.д., – если это и усилит безопасность программы, то на самую малость.
Teleport Pro
В меню "File" ("Файл") выберите пункт "Proxy server" ("Proxy-сервер") и в появившемся диалоговом окне взведите галочку "Connect to the Internet through this proxy server" ("Подключаться к Интернет через этот Proxy-сервер"), а строкой ниже введите его IP-адрес (доменное имя) и номер порта. Если Proxy-сервер требует аутентификации в строке "Proxy Account" введите свой логин, а в окне "Proxy Password" – пароль. Нажмите "ОК" и на этом процедуру настройки можно считать завершенной.Родственные вопросы:
Что такое Proxy-сервер и как с ним работать?
Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?
Как заставить работать ICQ через Proxy или firewall?
Получение файлов à Я скачал файл с сервера, а он отказывается распаковываться (запускаться). Кто виноват и что делать?
Популярный "телепортатор" сайтов – TeleportPro – значительно менее гибок, чем его сотоварищ ReGet и не позволяет манипулировать содержимым поля "Referrer", – вся имитация браузера сводится к подделке поля "User-Agent".
Для задания желаемого значения в меню "Project" выберите пункт "Project Properties" и в появившемся диалоговом окне перейдите к закладке "Netiquette" – там, в поле "Agent Identify", предлагается на выбор один из пунктов:
"Anonymous"
– аноним (поле User-Agent пустое);
"Identify as Teleport Pro
– идентифицировать себя как Teleport Pro (по умолчанию);
"Impersonate Microsoft Internet Explorer, version"
– выдавать себя за Internet Explorer указанной версии (номер версии указывается в соответствующем окне);
"Impersonate Netscape Navigator"
– выдавать себя за Netscape Navigator указанное версии;
"Use this identification"
– в поле "User-Agent" помещается строка, введенная пользователем.
Родственные вопросы:
Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?
Типовые ошибки и способы их устранения
Несмотря на свое многообразие ошибки разработчиков легко разделить на четные категории:· передача ввода пользователя внешним программам или штатным функциям без надлежащей фильтрации;
· оформление компонентов приложения в виде самостоятельного скрипта, допускающего непосредственный вызов удаленным пользователем;
· помещение секретных данных в файл, доступный псевдопользователям
· использование переменных окружения для ответственных целей
Все эти пункты подробно рассмотрены ниже.
Трезвый взгляд на SETI или стоит ли присоедияться к SETI@HOME?
Безоблачная морозная ночь… Небосвод густо усеян сотнями звезд, притягивающими взор. С юга на север протянулась туманная полоска Млечного Пути - тусклый свет миллиардов звезд спиральных рукавов нашей галактики, сливающийся в сплошное свечение.Воображение бессильно представить себе сто пятьдесят миллиардов безжизненных звезд – а именно столько их насчитывают в одной только нашей галактике., –
Природа не творит ничего уникального. Было бы удивительно оказаться тем самым единственным счастливым исключением, на всю что выпадает один раз за всю историю существования Вселеннойую.
Официальная наука придерживается известной точки зрения - ни внеземная жизнь, ни следы ее деятельности в наблюдаемом нами космосе не обнаружены. Правда, неоднократно пытались оценить вероятность ее существования, но наших знаний недостаточно даже для самых грубых оценок.
Достоверно известно лишь приблизительное число звезд, потенциально пригодных для белковой жизни. Сколько же из них обладают планетными системами, мы не знаем. Тем более А сколько из них непредсказуема вероятность существования пригодныхпригодно для обитания? планет. Увы, этого никто не знает… Но даже если у нас есть такая планета - шансы же зарождения (и сохранения!) жизни на ней невелики. Насколько точно они невелики на пригодной для этого планете оценить сказать невозможно - возникновение жизни на Земле и то загадка!
Приведу Еще несколько аргументов. Жизнь (белковая) действительно навряд ли не может быть широко распространена во Вселенной, - далеко не каждая редкая галактика подходит для этого. И неудивительно! Своему существованию мы обязаны не в последнюю очередь гигантским облакам пыли и газа, плотно окутывающим ядро нашей Галактики. Свет и жесткое излучение гигантской черной дыры, расположенной в галактическом центре, тысяч скученных звезд вязнутет
в их недрах, так и не долетев до Земли
(собственно, излучает не сама дыра, а газ, падающий на нее). Интенсивность излучения оказалась бы губительна для биосферы, не окажись Земля в таком "уютном" месте.
Газ и пыль - следствие молодости нашей Галактики, не успевшей израсходовать свой строительный материал. Не меньше выручает ее "ленивость" - темп звездообразования у нас относительно невысок. Большинство галактик ведут себя иначе, и белковая жизнь в них невозможна. Это трудно себе представить, но это так. Звездные системы, порой в десятки раз превосходящие нашу, оказываются заведомо мертвы (во всяком в нашем, белковом, понимании жизни).
Аналогично, не в любом месте галактики, пригодной для существования, возникают благоприятные условия для возникновения жизни. Рядом не должно быть активных объектов, звезд-гигантов, опасных эруптивных переменных; звезда-родительница должна сформироваться из вторичного строительного материала, обогащенного тяжелыми элементами, образующих в будущем твердую поверхность планет…
Но даже этого может оказаться недостаточно! Сформулирован далеко не полный перечень условий, обязательных для зарождения жизни. Так, например, недавно появилась гипотеза о влиянии Плутона на дела земные. Казалось бы, самая далекая и неприметная планета (да и то не планета, а так…) Солнечной системы рискует оказаться ключевой.
Ученых давно удивлял неожиданно слабый поток излучения, исходящий из недр космоса. Солнечная магнитосфера – наш основной щит от частиц высоких энергий – заведомо не могла так хорошо с ним справляться! Оказалось, Плутон, находясь на самой границе солнечной магнитосферы, обладает собственным весьма недурственным магнитным полем, которое сливается с солнечным, усиливая его.
Сейчас не важно так это или нет. Это может
оказаться так, и тогда жизнь действительно намного более редкая штука, чем мы сейчас представляем. (прим. пока книга готовилась к печати, данная гипотеза была с разгромным треском опровергнута). Обратим внимание и на другой момент. Существование любой цивилизации по космическим меркам не может быть очень долгим (подумаешь, миллиардом лет больше, миллиардом лет меньше). Тогда, по прогнозам Шкловского, цивилизации окажутся разбросанными не только пространстве, но и во времени!
Такова печальная картина мира глазами реалиста (или скептика?). Впрочем, это не мешает заниматься поиском внеземных цивилизаций и попытками установить контакт с братьями по разуму. Идеи эти не новы и берут свое начало с той незапамятной поры, когда люди поняли, что планеты вовсе не божественные светила, а далекие космические тела, подобные Земле.
Марсианами тогда бредили не только обыватели, но и ученые. Даже хотели зажечь на разных материках гигантские костры, изображающих определенные геометрические фигуры. По человеческой логике, марсиане должны увидеть огни в телескоп, удивиться их математически правильному расположению, и на этом основании сделать вывод об обитаемости Земли.
Доподлинно неизвестно осуществили этот замысел или нет, но с наступлением эры космических полетов, выяснилось, что Марс необитаем, – нет там ни телескопов, ни наблюдателей. Неожиданно Космос оказался на порядок просторнее и скучнее.
Ближайшие звезды, возле которых могли бы жить разумные существа, находятся в десятках световых лет от нас, - расстояния вроде бы приемлемые для радиоволновой связи. Собственно, с радиоволн все и началось:
Еще по-летнему теплым осенним днем, 19 сентября 1959 года, в 4690 номере журнала "Nature" была опубликована пионерская работа двух ученых Дж. Коккони и Ф. Моррисона "Поиск межзвездных коммуникаций". Суть ее сводилась к следующим тезисам:
- электромагнитные волны оптимальное средство общения с внеземными цивилизациями;
- внеземные цивилизации пытаются установить с нами связь;
- сигналы внеземных цивилизаций должны быть узкополосными и непериодическими;
- сигналы вероятнее всего ожидать на длине волны 21 см;
- источник сигналов должен в точности совпадать со звездной системой, допускающей существование белковых тел;
Именно эти принципы практически в неизменном виде и были положены в основу проекта SETI (Search for Extra Terrestrial Intelligence). {УБРАТЬ КУРСИВ >>>} Не то, что бы иные исследования совсем не велись, но предпочтение им отдавалось явно второстепенное.
Сегодня такой подход к проблеме вызывает не более чем снисходительную улыбку специалистов. Амбициозный Архипов во всю критикует застоялое болото, призывая опустить взгляд с небес на Землю и Луну. Туда, где возможно сохранились артефакты и останки кораблей иных цивилизаций, - стоит только хорошо поискать, и найти если не иголку в стоге сена, то каплю в океане.
Впрочем, к идеям Архипова вернемся позже, а сейчас обратим внимание на один удивительный факт. Аппаратура, предназначенная для поиска внеземных цивилизаций, отдает практически все часы наблюдений другим программам. Типичный случай телескопа "двойного назначения" наш знаменитый "шестисотый" РАТРАН. Антенна этого грандиозного сооружения, построенного человечеством, превышает в диаметре половину километра! Одной из задач телескопа при его конструировании, значилось "поиск внеземных цивилизаций".
Этим же вопросом не уставали интересоваться все высокопоставленные чиновники, посетившие телескоп. Стыдливо умолчим, какую лапшу им ухитрялись вешать на уши - радиоастрономы, стесненные графиком наблюдений, просто не могли отдавать драгоценное время на такую чепуху.
Правительства двух сверх держав не жалели денег на подобные расходы. Низкая вероятность контактов ничуть не смущала. Для "выдаивания" инвестиций использовался следующий аргумент: предположим, соседней державе удалось стся наладить контакт с высокоразвитой цивилизаций, щедро разбрасывающейся новыми технологиями. В результате - доминирование одной державы над всем миром. Допустить этого ни одно уважающее себя правительство не могло. Каждый хотел быть первым. А не состоится контакт - еще лучше - стабильность и спокойствие на планете.
Но не стоит воспринимать SETI, как грандиозное надувательство, – проект SETI это одно, а удачный повод для инвестиций своих проектов - совсем иное. Между тем, значительная часть астрономического оборудования была построена благодаря соперничеству двух держав за первенство в межзвездных контактах.
Удивительным оказывается другое. Пионерские (так и хочется произнести это слово с акцентом "пыонэрские, панимащь, да?") положения SETI и по сей день остаются в неизменном виде, как бы ни была ясна их несостоятельность. Остановимся на этом моменте.
Начнем с критики первого "постулата". Электромагнитные волны и в самом деле могли казаться заманчивыми на первых порах. К их достоинствам можно отнести, например, отличную проникающую способность. Свет слишком быстро рассеивается на атомах и молекулах газа и пыли (кои в окрестностях нашей Галактики водится в изобилие). В радиоволнах же космос прозрачен.
А теперь о недостатках: скорость триста тысяч километров в секунду невообразима велика только в земных масштабах. Для двухсторонней связи даже с ближайшими звездами она непригодна.
Теоретически можно допустить, что некая цивилизация послала свой "мяв" во Вселенную, не дожидаясь ответа. Не будем задаваться вопросом ценности сигнала, выпушенного цивилизаций, успевшей к моменту его получения развеяться в прах. Лучше подумаем, как его вычленить из космических шумов. Это только невооруженному глазу Вселенная кажется спокойной и стационарной. Радиоволны же доносят шумы, трески, последние вздохи погибающих звезд, иногда перекрываемые загадочными еще ни с чем не отождествленными стонами. Бессмысленно слушать Вселенную, точно не представляя какой звук какому процессу принадлежит.
Впрочем, можно сосредоточится в узком волновом диапазоне, одним махом отсеяв множество помех. Нужно лишь "договориться" с внеземной цивилизацией какой именно частоте следует отдать предпочтение. А почему бы не численно равной длине волны нейтрального водорода - самого распространенного вещества во Вселенной?
Отсюда и взялись "пресловутые" 21 см. Ожидается, к такому же выводу придут и далекие "братья по разуму". Никаких других соображений на этот счет нет. Но кто поручится за логику неизвестной цивилизации? Может быть (даже, скорее всего), с ее точки зрения, более предпочтительной окажется другая частота.
Но даже сверхцивилизация не может позволить роскоши всеволнового всенаправленного передатчика. Ни технически, ни энергетически это невозможно (и не будем здесь даже обсуждать почему). С другой стороны, узконаправленный луч может бесконечно долго обшаривать космос, не находя адресата.
Таким образом, надежда на сколь ни будь продолжительное во времени послание рассеивается, словно утренний туман. Сумеем ли мы отличить кратковременный импульс послания (если вообще поймаем его) от естественных космических шумов?
Можно ли гарантировать, что послание будет исходить со стороны звездной системы? Многие ученые, в том числе уже упомянутый Архипов, убеждены в экологической не безопасности подобного передатчика для собравшей его цивилизации. Почему бы тогда его не вынести далеко за пределы своей системы?
Но пыл неисправимых оптимистов ни цифры, ни аргументы не охлаждают. Попытаемся отправить их с тыла на фронт. Разделимся на группы, раскиданные по широкой степи. У каждого из нас фонарик да бинокль. С наступлением темноты попробуем связаться друг с другом. Задача простая - установить контакт, ухитрившись передать информацию о себе.
Не будем ухмыляться над тепличностью условий. Повод поржать (иначе не скажешь) у нас еще будет. С расстояния 10 5 км, когда луч фонарика отчетливо(!) виден в бинокль, группы с завидным упрямством обнаруживать себя отказываются. За исключением единичных случаев стабильное общение начинается лишь когда ближайшие соседи расположены в пределах полукилометра друг от друга, – по космическим меркам, совсем рядом.
После провала такого эксперимента требуется неординарная наглость надеяться на связь с цивилизацией, возможно негуманоидного типа, отличным техническим уровнем, а, тем более, логикой и языком.
Небесспорен и последний тезис. Откуда взялась уверенность, что с нами хотят установить связь? Кто и насколько этого хочет? Тем паче, что связи, как таковой не будет. Во всяком случае, на радиоволнах.
К сожалению, сегодня ничего нельзя предложить в альтернативу. Более быстрыми носителями информации мы не располагаем. В нашей Вселенной ни одно взаимодействие, из известных на сегодняшний день, не распространяется быстрее света.
Это пресловутое ограничение действует на все тела, точнее говоря, на все элементарные частицы, из которых "слеплен" окружающий мир. Но, изучая строение вакуума, физики приходят к выводу сложного устройства "пустоты". микромира, физики приходят к выводу, что мир – как бы он ни был огромен – един, а все ограничения – от лукавого. Быть может, это и есть дверь в мир сверхсветовых скоростей?
Так или иначе, это загадки завтрашнего дня…. На этой ноте и завершим главу. Слишком рано и слишком наивно мы пытаемся заговорить с иными мирами. Так, когда-то алхимики пытались получить философский камень, а астрологи – предсказать судьбу по звездам. Впрочем, сегодня мы осознаем неполноту наших знаний и даже пытаемся угадать направление, в котором надо идти.
У меня стоит Internet Explorer 5.0, но я не могу открыть mht файл. Почему?
Для работы с mht файлами достаточно иметь Internet Explorer четвертой версии или выше. Весь фокус в том, что mht файлы являются "собственностью" Outlook Express 5.0 и если он не был установлен, Internet Explorer не будет поддерживать mht файлы– он не сможет ни открыть их, ни сохранить страницу Web-страницу в формате MIME (см "Что такое mht файлы и зачем они нужны?", "Как сохранить WEB-страницу на диск для ее просмотра в Off-Line?").Установка Outlook Express 5.0 или выше должна решить эту проблему.
Родственные вопросы:
Что такое mht файлы и зачем они нужны?
Как сохранить WEB-страницу на диск для ее просмотра в Off-Line?
Уязвимость самостоятельных модулей
Редкое приложение состоит всего лишь из одного скрипта. Программная оснастка даже скромного сайта представляет собой десятки модулей, связанных друг с другом сложной иерархической зависимостью. Это порождает, по крайней мере, две проблемы: отсутствие контроля входных данных в служебных скриптах и возможность обхода системы авторизации.Например, посетитель вводит в форму "Search" свой запрос, браузер извлекает его и передает поисковому скрипту, который отыскав файл документа с таким содержанием, передает его имя другому скрипту, предназначенному для его отображения.
Разработчик, предполагая, что второй скрипт всегда будет вызываться только первым, может и не предпринять никаких усилий по фильтрации ввода второго скрипта. Но ведь ничто не мешает злоумышленнику непосредственно вызывать этот скрипт самому, передав ему имя любого файла, который он хочет посмотреть (например, "/etc/passwd"), а не только *.html!
Любые данные, принимаемые любой программой извне, должны быть проверены! Необходимо убедиться в том, что запрошенный файл пользователю действительно можно смотреть. Этого не так-то просто добиться, как может показаться на первый взгляд – проверка запроса на соответствие именам запрещенных файлов ничего не решает – злоумышленник может запросить и базу данных клиентов сервера, и содержимое интересующего его скрипта, и т.д., – всего не перечислишь! Ограничение области видимости текущей директорией – так же не приводит к желаемому результату, во всяком случае, без фильтрации символов обращения к вышележащим каталогам.
Надежнее всего передавать не имя отображаемого файла, а его номер в списке доступных для просмотра файлов. Существенные недостатки такого решения – сложность скрипта и необходимость постоянной коррекции списка доступных файлов при всяком добавлении или удалении новых документов на сервере.
Некоторые приемы позволяют избежать этих утомительных проверок. Например, пусть служебный скрипт принимает в качестве дополнительного параметра пароль, известный только вызываемому коду (и, разумеется, самому владельцу сайта). Тогда фильтрацию ввода необходимо осуществлять только в модулях, непосредственно взаимодействующих с пользователем, а во всех остальных можно опустить. При отсутствии ошибок реализации, связанных с обработкой и хранением пароля, злоумышленник не сможет непосредственно исполнить ни один служебный скрипт, если конечно, не сумеет подобрать пароль, чему легко противостоять (перебор даже пятисимвольного пароля по протоколу HTTP займет очень-очень много времени).
Такой подход снимает и другую проблему, – возможность обхода подсистемы авторизации "ручным" вызовом нужного скрипта. В сети нередко встречаются почтовые системы, работающие по следующему алгоритму: "входной" скрипт проверяет имя и пароль пользователя и, если они верны, передает одно лишь имя пользователя (без пароля!) другому скрипту, непосредственно работающему с почтовым ящиком. Злоумышленник, вызвав последний скрипт напрямую, получит доступ к корреспонденции любого пользователя! Удивительно, но подобная ошибка встречается и в некоторых Интернет-магазинах: скрипту, осуществляющему покупку, передают не полную информацию о пользователе (номер кредитной карты, адрес и т.д.), а идентификатор, по которому этот скрипт и получает все эти сведения из базы данных, хранящейся на сервере. Если идентификатор представляет небольшое предсказуемое число (как часто и бывает), злоумышленник сможет заказать товар от имени любого из постоянных покупателей магазина.
Сюда же относятся и ошибки обработки динамически генерируемых форм. Чтобы скрипт мог отличить одного посетителя странички от другого, он добавляет в форму особое скрытое поле, содержащее имя пользователя, введенное им при регистрации (так, например, функционирует большинство чатов). Злоумышленник может сохранить переданную ему страницу на диск, модифицировать по своему усмотрению скрытое поле, выдавая тем самым себя за другое лицо.
Не стоит надеяться на проверку переменной HTTP_REFERER – она заполняется самим HTTP-клиентом и может содержать все, что угодно! Грамотно спроектированный скрипт должен помещать в скрытое поле не только имя пользователя, но и его пароль. Для чатов такая защита вполне подойдет, но в более ответственных случаях пароль следует шифровать по алгоритму с несимметричными ключами или хешировать по схеме "запрос-отклик". Иначе злоумышленнику, перехватившему трафик, не составит большого труда его узнать. Техника шифрования – тема отдельного большого разговора, в контексте же настоящей книги вполне достаточно указать на необходимость шифрования, устойчивую к перехвату, а как ее реализовать – это уже другой вопрос.
Важное замечание: никогда не следует передать секретные данные методом GET, поскольку, он помещает их в тело URL, а браузеры в специальной переменной хранят URL предыдущего посещенного сайта и передают эту переменную при переходе c одного сервера к другому. Конечно, вероятность того, что им окажется сервер злоумышленника, очень невелика, но все-таки этой угрозой не стоит пренебрегать.
Кроме того, браузеры Internet Explorer и Netscape Navigator заносят в общедоступный журнал URL все посещенные за такой-то период сайты, – на компьютерах коллективного использования это приводит к возможности перехвата секретной информации, переданной на сервер методом GET. В отличие от него, метод POST помещает содержимое запроса в HTTP-заголовок, что намного безопаснее.
В Windows NT 4.0 нет прямого кабельного соединения. Или я не там его ищу?
Последнее – совершенно справедливо. В WindowsNT возможность прямого соединения, разумеется, есть! Щелкните в "Панели управления" по иконке "Модем" и нажмите "Добавить". Откажитесь от услуг мастера, установив галочку напротив пункта выбирать модем вручную из списка. В левой панели выберете "Стандартный модем", а в правой – прямое кабельное соединение по параллельному или последовательному порту.Если компьютер с Windows NT 4.0 играет роль ведомого, кликнете "Сеть" в "Панели управления" для установки RAS, но не соглашайтесь на предложения автоматического поиска адаптера, а попросите позволить вам выбрать его самостоятельно. В списке адаптеров найдите "MS Loopback Adapter" – эмулятор сетевой карты. На запрос типа фрейма введите "802.3" и укажите требуемый порт. Запустите RAS, и компьютер с этого момента будет ожидать прямых кабельных подключений.
Если компьютер с Windows NT 4.0 играет роль ведущего, то просто установите нуль-модем, как было показано выше, и создайте соединение с его использованием. Это позволит подключиться Windows NT к другой NT, но не Windows 9x.
О том, как соединить Windows NT (равно, как и Windows 2000) с Windows 9x рассказывает одноименный совет.
Вирусы и легальные программы
Развивая тему вирусов – в принципе возможны вирусы, которые, попав на компьютер своей жертвы, обращаются к сайту рекламодателя, имитируя загрузку страницы из браузера, но, в целях конспирации, не отображают показывают ее пользователю. Обнаружить такие накрутки можно с помощью графических ссылок, отслеживающих координаты мыши в момент их нажатия. Вирус не сможет правдоподобно имитировать их.Сказанное выше применимо не только к вирусам. Точно так действуют и легальные программы. Обратите внимание – не могут, а уже действуют. Существуют даже готовые пакеты "накруток", предназначенные для интеграции в другие приложения, например, AddGateway. Причем, многие из них нагло прописывают себя в автозагрузке и крутят баннеры не только в момент своей работы, но и в любое другое время! (При условии, конечно, что пользователь находится в сети).
Не все разработчики упоминают этот факт в документации
на свое приложение, и пользователь зачастую узнает о нем лишь тогда, когда замечает, что модем подозрительно часто мигает, а все файлы и web-страницы грузятся несколько медленнее, чем обычно.
Разработчики антивирусов, похоже, не видят ничего опасного в таких программах и не выдают предупреждающих сообщений при их проверке. А следовало бы… Пользователю, не особо разбирающемуся в тонкостях операционной системы, обнаружить и защитится от подобных "гостей" очень трудно. Персональные межсетевые экраны, наподобие AtGuard, здесь бесполезны, поскольку, не могут достоверно определить кто устанавливает исходящее соединение – легальный пользователь или нехорошая программа. Тем более что "совсем нехорошие" программы крутят банеры с помощью браузера, делая невидимым его окно.
При возникновении подозрений рекомендуется запустить утилиту msconfig в Windows 9x или "Панель управленияàАдминистрированиеàУправление компьютером" в Windows NT\2000 и удалить все лишние программы из "Автозагрузки". Затем с помощью утилиты Depends (входит в Windows SDK) посмотреть: какие модули импортируют подозреваемые программы. Большинство "накрутчиков" выдают себя наличием модуля ws2_32.dll, необходимого для установки и поддержания TCP-соединений.
Большинство, но не все! Ведь ничто не мешает запустить браузер с помощью утилиты start.exe или API-функции CreateProcess, а затем скрыть его окно вызовом ShowWindow. Для полной уверенности необходимо дизассемблировать и подробно проанализировать каждое, потенциально опасное, приложение. Такая работа доступна далеко не всякому специалисту, не говоря уже о простых пользователях!
Словом, было бы очень хорошо, если бы разработчики антивирусов наконец-то обратили на эту проблему свое внимание.
Вирусы - кибернетический Минотавр или Мания?
Говорить о морали и этике вирусописателей не то что бы трудно, но бесполезно. Уже не раз и не два по этому поводу вспыхивали полемики, подогреваемые новыми вирусами, Мамаем проносящихся по жестким дискам беззащитных пользователей.Впрочем, таких ли уж и беззащитных? Помнится, одно время агрессивные фидошики долго носились с идей организации штаба по отрыванию (пардон, но слова из песни не выкинешь), ведущего компонента детородных органов вирусописателям.
??? Рисунок "карикатура" обыграть предыдущий абзац
Другие же предлагали их "мирно" попинать башмаками, или "всего лишь" исключить из института, выгнать с работы или устроить другие козни...
Словом, попадали ли действия вирусописателей с юридической точки зрения под статью уголовного кодекса – это еще неизвестно, а вот "потерпевшие" были явно готовы нарушить все права и нормы, дабы восторжествовала "справедливость".
Разумеется, это не осталось "безнаказанным", и у членов так и не создавшегося штаба от натиска новых вирусов трещали BBS-ы, "слетало с катушек" содержимое жестких дисков... Впрочем, через некоторое время пожар страстей погас сам собой, и жизнь потекла прежним чередом.
Забавно, но клуб вирусописателей (речь идет, о SGWW – Stealth Group World Wide – Всемирная Группа Невидимок, как уже догадались завсегдатаи SU.VIRUS и прочие участники событий) все же оставил после себя след в песке истории. – Выпустил с десяток номеров электронного журнала, издал свою книгу, высказался в газетах, пускай и местного масштаба, но все-таки! Члены же клуба "отрывания ведущего компонента детородного органа", так и остались с этим органом и с мегабайтами электронного флейма, осевшего на многих серверах Интернет.
И кто в этой истории прав, а кто виноват? Как рассудить, оставшись справедливым и беспристрастным? В конечном счете и те, и другие готовы напакостить и "начистить функель" "ближнему своему". Кто поумнее, - с помощью информационных технологий, а кто поглупее, но посильнее (бицепсами) – кулаками да башмаком.
Цель - не человек. Его цель информация, которую он разрушает, словно камни, растирая в порошок. Но кто тогда Антивирус? Благородный Геракл, спускающийся на смертный бой?
Нет! Информация и электронные сигналы, циркулирующие среди миллионов проводников, не знают добра и зла. Антивирус - точно такое же чудовище, только на службе у человека.
Если отвлечься от людей, "битва электронных сигналов" могла бы показаться довольно забавной, – происходили же когда-то захватывающие дух "бои в памяти", когда две программы сражались за выживание. Кем они были? Типичными вирусами.
Так почему те же самые "бои в памяти", только в другом масштабе - уже не одного компьютера, а сотен и даже тысяч, все поменяли? Почему вирусов и их авторов заклеймили позором?
Ответ прост, - вирусы вторглись в частную собственность ее владельцев. А информация обрела черты материальной собственности. Например, этот текст, что сейчас набирается на компьютере, с точки зрения вируса – всего лишь набор байт, который в одно мгновение может быть развеян по винчестеру. С точки же зрения его обладателя (то есть меня), время, потраченное на написание и, - пусть и скромная, но все же осязаемая сумма гонорара, выплачиваемая редакцией за публикацию, делают информацию таким же осязаемым эквивалентом материальной ценности, как и сто долларовая купюра (Доллары, кстати, та же информация).
Компьютер стал не только абстрактной электронной вычислительной машиной, но и орудием труда. Ведь и Венера Милосская с точки зрения химика это только кальций, углерод и кислород. Но можно ли так, по частям, рассматривать предмет искусства?
Вот где собака порылась! Вирусописатели просто не осознают ценность информации, - для них это просто упорядоченные биты и байты. С их точки зрения они ничего кощунственного не совершают, - подумаешь, увеличивают энтропию, то есть беспорядочно разбрасывают содержимое жесткого диска, как золу от костра.
Правда, у хозяев этой самой информации точка зрения часто диаметрально противоположная и они переживают за нее, как за одухотворенную сущность. Неудивительно, что некоторые из них бросаются в поисках крайнего, кому можно начистить "функель".
Почему так происходит? И как объяснить вирусописателям, что их точка зрения неправильная, а за информацией стоит труд создавших ее людей? Ответ обескураживающий – никак!
Пока вирусописатель сам не окажется в аналогичной ситуации, он будет оставаться со своим мнением. И никакие уговоры или разъяснения, а уже тем более, "начистить" или "оторвать" не помогут.
Ведь чаще всего написанием вирусов "страдают" студенты и школьники, для которых компьютер - занимательная игрушка и средство времяпрепровождения. Сотри такому пару ценнейших файлов на диске, - думаете, он сильно огорчится? Как бы не так, даже порадуется, что теперь появился хороший повод восстановить все заново, да еще лучше прежнего!
Все равно, что топтать кулички, играющего в песочнице ребенка. Раздавили? Вот вам - сейчас опять слеплю. Нет смысла грохать винт вирусописателям, это не только не наставит их на путь истинный, но и не огорчит.
Для них весь мир - игрушка. Компьютер игрушка, и вирус - игрушка. Да и что можно программировать на сегодняшних компьютерах? Игру "крестики-нолики" - не интересно. Шахматы - слишком сложно для начинающих.
Вирус это одновременно и просто, и интересно. Лучшего полигона для изучения ассемблера, по-видимому, не найти. Неудивительно, что вирусы – юношеская болезнь практически всех программистов. Через это проходят и талантливые самородки, и бездарная серость.
Бесполезно с этим бороться… Вирусы пишутся и в тех странах, где за них можно угодить на долгие годы за решетку. Наивно думать, что введение аналогичных законов в России заметно изменит ситуацию. Кончено, поток вирусов приуменьшится, но никогда не пересохнет полностью. Это надо принять как "де-факто" и бросать силы не на борьбу, а на защиту. Впрочем, это уже отдельный разговор. Не будем лишний раз говорить, что распутную жизнь лучше не вести, с кем попало не сталкиваться. А если уж ваш бурный темперамент так и тянет на подвиги, - хотя бы элементарно предохраняться.
Бесполезно! Пока не наткнется иное лицо пару раз на вирус, оно не поумнеет, - все будет надеяться на "авось да пронесет".
Впрочем, это уже не по теме разговора. Вернемся к вирусописателям, а пользователей обсудим как-нибудь в следующий раз.
"Юношеская болезнь" - явление, строго говоря, нормальное, но иногда встречается и патология. Не так давно психологи столкнулись с новой манией – навязчивой мыслью, что вирус, он, дескать, живой, а антивирус, стало быть - убийца.
Это вообще ни в какие ворота не лезет. Кто живой? Вирус что ли? Вот эта примитивная программа из сотни строк, которая не способна ни на что, кроме тупого заражения строго определенного типа файлов, по строго определенному шаблону? Да по сравнению с вирусом тот же Word интеллектуал! На антивирус (убийцу де) возложены куда более емкие и требующие адаптации и элементов искусственного интеллекта задачи!
Но, что для одного бред, для другого – нормальное положение вещей. Вирус может быть живым точно, так как Вася Пупкин - Наполеоном. То есть, лишь в чьем-то нездоровом представлении.
Ладно, если журналист совершенно не разбирающийся в компьютерах, считает, что компьютерный вирус и правда чем-то сродни вирусу биологическому и живет своей, неведомой нам жизнью.
Но неужто, сам автор этого творения, превосходно разбирающийся в ассемблере и схемотехнике процессора, может считать написанный им кусок кода живым организмом?
Действительно, на первый взгляд компьютерный вирус внешне схож с вирусом биологическим. Размножается, копирует себя только в файлы определенного формата (избирательность то бишь), имеет инкубационный период... можно долго перечислять. Но это только внешнее сходство, и ничто более.
Героиня на экране - это копия живого человека. Она выглядит как человек, движется, говорит... только не факт, что она живая. Это только изображение на кинопленке. Копия живого человека, только копия, а сам оригинал остался где-то там...
Так и с вирусами. Эмулировать поведение биологического вируса несложно (в силу его простоты), но эта эмуляция никогда не достигнет оригинала... и останется лишь электронной копией.
Медики не сомневаются, что увеличение вирусами – серьезное психическое заболевание, методов лечения против которого до сих пор не найдено. Быть может, в отдаленном будущем медицина вновь спасет мир от чумы, на этот раз компьютерной.
Но вирусы при этом не исчезнут. Они просто перекочуют туда, где и появились - в стены лабораторий и компьютеры исследователей. И не удивительно – репродуцирующиеся (то есть размножающиеся) программы стали частью прикладной науки и имеют огромный познавательный интерес.
Ведь и цепная реакция (тот же вирус, кстати) это не обязательно атомная бомба. К слову сказать, атомную бомбу не обязательно сбрасывать на чью-то голову, а можно преспокойно изучать деление ядер урана в специально на то предназначенных ускорителях.
Существуют ли вирусописатели - исследователи? Конечно! Тот же Данилов (автор небезызвестного антивируса Dr.Web) увлекается их написанием. Правда, ни один из них не увидел "белого света", так и оставшись на компьютере разработчика. Это хороший пример увлекательного занятия, без ущерба для окружающих. Люди с высокой моральной ответственностью никогда не позволят себе опуститься до вреда другим пользователем. Так и химик, разработавший новый токсин, не бежит, чтобы вылить его в ближайший пруд или водопровод.
Вирус – лишь одно из многих средств пакости другому человеку. Удивительно, но в полемиках об этом часто забывают и зацикливаются только на вирусописателях. Свет клизмой на них что ли сошелся?
Ведь винчестер можно превратить в груду бесполезного мусора не только с помощью изощренной программной атаки, но и простой мускульной силой - скажем кувалдой или пресс-папье.
Почему же никто не вламывается к вам в квартиру с молотом на перевес, а вот вирусы сыплются очень часто? Очень просто - быть вирусописателем это престижно. Особенно в глазах знакомых подростков.
Точно так, как когда-то считалось верхом крутости стрелять из рогаток или воровать с лотка сигареты. Новое время принесло с собой новые забавы.
Но если бы вирусам и их авторам уделяли бы меньше влияния, поверьте, их ряды бы сразу и быстро поредели.
Вместо заключения
Отсутствие надежных средств идентификации пользователя – одна из центральных проблем современного Интернет. Именно анонимность позволяет злоумышленникам совершать атаки, оставаясь ненаказанными. Если рекламодатели действительно хотят донести информацию до клиента, им необходимо настоять на доработке HTTP-протокола и внесению в него команд, предназначенных специально для загрузки баннеров.Пусть некий третейский арбитр выдает каждому абоненту Интернета специальный ключ, позволяющий однозначно идентифицировать клиента. Посылая запрос на загрузку баннера, клиент передает на сервер и зашифрованный ключ, подтверждая аутентичность своего запроса. Обхитрить такую схему будет нелегко, если вообще возможно. За исключением одного "но". Не будет ли справедливым выплачивать деньги не держателю сайта, а самому клиенту за просмотр рекламы?
Боюсь, что клиент никаких денег не получит, но протокол HTTP и сами браузеры в скором будущем действительно доработают так, чтобы доступ к ресурсу открывался только после просмотра рекламы. Ходят упорные слухи, что коммерсанты усиленно давят на политиков, требуя запретить "баннеро - резки" как вредоносные программы, приносящие убыток владельцам сайтов.
Пока это только слухи, но кто поручится, что завтра они не станут действительностью? Тем более что первые шаги уже сделаны. Однако, это тема совсем другого разговора…
Внутренний или внешний?
Внешние модемы (особенно хорошие) всегда дороже внутренних того же аналогичного класса. В то же время, скорость, начертанная на коробке, в обоих случаях одинаковая – 56, - других модемов сегодня днем с огнем не сыщешь! Так за какие же такие преимущества внешнего модема стоит платить деньги?В отличие от внутренних, подверженных наводкам от различных блоков компьютера, внешние модемы надежно защищены от помех и своим корпусом, и корпусом PC, отчего работают намного стабильнее и, что тоже немаловажно, сами не создают наводок на чувствительные к этому узлы компьютера (у автора при установке внутреннего модема на мониторе сразу же возникали возникают едва заметные, но все же ощутимо портящие изображение, темные вертикальные полосы).
Второе – "зависания" внешнего модема "лечатся" включением-выключением его питания, в то время как внутренний же приходится "реанимировать"
перезагрузкой всего компьютера. (Впрочем, на машинках с поддержкой SMM можно вогнать компьютер в "сон", выключить питание, а затем "разбудить", – и все восстановится, как будто бы никакого выключения питания и не было, - но все равно это отнимает время и весьма неудобно).
Третье – внешние модемы имеют индикаторы, позволяющие контролировать состояние линии и работу самого модема. Владельцы внутренних модемов для той же цели прибегают к утилитам программной индикации, но их функциональные возможности значительно скромнее, да и работают они не всегда.
Впрочем, два последних достоинства даны лишь в "довесок" к первому – надежность связи превыше всего, а в ней-то встроенные модемы проигрывали, и будут проигрывать. С другой стороны, грамотно сконструированный внутренний модем со всеми фильтрами и цепями развязки на линиях хорошего и отличного качества практически не уступает внешнему модему ни по скорости, ни по надежности.
При этом он не занимает места на столе (под час это весьма актуально), питается от блока питания компьютера (не требуя персональной розетки или переходника к UPS), и самое главное – не "отъедает" последовательный порт, который может требоваться и для других вещей (сканер, USP, Direct Cable Connection и т.д.).
и поделиться опытом управления симулятором
Обменяться своими впечатлениями и поделиться опытом управления симулятором можно на канале IRC, доступном и через WEB-интерфейс (http://moss.askkewi.net/). Там же можно задать вопросы разработчикам проекта (не то что бы часто, но они там появляются).Разумеется, диалог ведется на английском языке, что огорчит многих российских пользователей. Но каких - либо русскоязычных источников в Интернете по этой тематике мне найти не удалось.
Среди англоязычных серверов самые большие информационные залежи находятся на Mars Operations Support System (MOSS) - http://moss.askkewi.net/, а обо всех новостях и обновлениях симулятора можно узнать на страничке http://mars.graham.com/mplwits/news.htm.
Официальное название симулятора Mars Polar
Официальное название симулятора Mars Polar Lander - WITS, что расшифровывается как Web Interface for Telescience. Именно это нужно набирать в строке запроса поисковых серверов, что бы найти хотя бы крупицы информации в бескрайнем океане сети.Однако в тексте статьи для улучшения восприятия будет использован термин "симулятор", который лучше передает суть предмета разговора.
кликните правым мышем по иконке
Откройте папку "Сеть и удаленный доступ к сети", кликните правым мышем по иконке удаленного соединения с провайдером, в открывшемся диалоговом окне перейдите к закладке "Параметры" и в "Параметрах набора номера" снимите галочку "Запрашивать имя, пароль, сертификат и т.д.".Если вы используете несколько различных удаленных соединений – эту операцию придется проделать над каждым из них.
Родственные вопросы:
Можно ли войти в Интернет, используя только командную строку?
Можно ли сделать так, чтобы компьютер дозванивался до провайдера в определенное время, забирал почту и разрывал связь?
Гораздо проще установить прямое кабельное соединение в Windows 2000. Достаточно лишь нажать "Пуск" à "Настройка" à "Сеть и удаленный доступ к сети" à "Создание нового подключения" à "Прямое подключение к другому компьютеру через последовательный, параллельный или инфракрасный порт", выбрать роль компьютера – ведущий или ведомый, назначит порт, и нажать "Готово". На этом все! Один нюанс – чтобы назначить свой компьютер ведомым необходимо обладать правами администратора, иначе ничего не выйдет.
Ведомый компьютер автоматически приступает к ожиданию подключений сразу же после загрузки системы. Для установки соединения владелец ведущего компьютера должен нажать "Пуск" à "Настройка" à "Сеть и удаленный доступ к сети" и выбрать ранее созданное прямое кабельное соединение. Подключение сетевых дисков осуществляется точно так же, как и в Windows 9x.
Родственные вопросы:
Какова максимальная скорость кабельного соединения?
Как установить прямое кабельное соединение через USB-порт?
Как обеспечить совместный доступ к одному Интернет - соединению
Сколько компьютеров можно связать прямым кабельным соединением?
В Windows NT 4.0 нет прямого кабельного соединения. Или я не там его ищу? (следующий)
Гораздо проще "зашарить" Интернет - соединение в Windows 2000. Достаточно в свойствах удаленного соединения ("Пуск"à "Настройка" à "Сеть и удаленный доступ к сети" à
"Соединение с моим провайдером", вызов контекстного меню нажатием правой клавиши мыши à "Свойства") установить галочку "Разрешить другим пользователям устанавливать частное подключение к моему компьютеру с помощью туннеля в Интернете или другой сети".

Рисунок 24 0x00D Зашаривание Интернет-соединения в Windows 2000
Родственные вопросы:
Как установить прямое кабельное соединение через USB-порт? (следующий)
В Windows 2000 все папки Outlook хранится в директории "\Documents and Settings\Kris Kaspersky\Local Settings\Application Data\Identities\{DFDDC7DC-0E74-49BD-9DE5-3D8E08C6A51F}\Корпорация Майкрософт\Outlook Express", где "Kris Kaspersky" – регистрационное имя пользователя, под которым он зашел в систему.
Внимание: папки Outlook не всегда представлены одноименными файлами!
Замечание: все папки содержат много пустого места и хорошо жмутся, поэтому, перед резервированием целесообразно выполнить их архивацию.
Родственные вопросы:
Где Outlook хранит адресную книгу?
Можно ли восстановить случайно удаленное сообщение?
Я удалил из паки большое количество сообщений, но ее размер не изменился. Почему?
"\Documents and Settings\Kris Kaspersky\Application Data\Microsoft\Address Book", где "Kris Kaspersky" – имя пользователя под которым он вошел в систему. Имя адресной книги совпадает с именем пользователя.
В поставку Windows 2000 входит значительно измененный telnet?клиент, – это консольное приложение, вызывающее трудности с настройкой у новичков. Оно может работать в двух режимах - в рабочем и командном.
Командный
режим предназначается для управления клиентом. Все символы, введенные с клавиатуры, обрабатываются самим клиентом и не передаются на сервер. Сразу после запуска, клиент находится в командном режиме. Для того чтобы получить список существующих команд достаточно набрать "?" или "help". Установить соединение с сервером можно либо воспользовавшись командой "open имя сервера порт", либо указав адрес сервера (и порт) в командной строке. По умолчанию используется двадцать третий порт.
После успешной установки соединения, клиент переходит в рабочий режим. Возвратится обратно в командный (если возникает такая необходимость) помогает нажатие сочетания клавиш <Ctrl-]>. Находясь в командном режиме, можно в любой момент закрыть активное соединение командой "close" или выйти из клиента (с закрытием соединения) командой "quit". Для переключения из командного в рабочий режим нажмите клавишу <Enter>.
Две команды "set" и "unset" позволяют управлять параметрами клиента. Доступны следующие опции (для получения их списка укажите знак вопроса после команды set
или unset):
NTLM - посылать серверу при аутентификации только NT хеш LOCAL_ECHO эхо-отображение символов, набираемых на клавиатуре
TERM тип терминала (ANSI, VT100, VT52 или VTNM)
CRLF завершать каждую строку символами CR (0xD) и LF (0xA)
Команда set устанавливает требуемую опцию (например, "set LOCAL_ECHO" включает эхо-отображение), а команда unset соответственно сбрасывает ("unset LOCAL_ECHO" выключает эхо-отображение).
Замечание: установка опции "NTLM" приведет к тому, что аутентификация на сервере, не поддерживающего этот режим, окажется невозможна. Наоборот, если на сервере все остальные методы аутентификации запрещены, сброс этой опции приведет к невозможности входа на сервер.
Замечание: в Windows 2000 вполне допустимо исползать прежний, графический telnet-клиент. Для этого достаточно скопировать один исполняемый файл telnet.exe из поставки Windows 95 (Windows 98) или Windows NT 4.
Windows 98 SE
Вторая редакция Windows 98 выгодно отличается от своей предшественницы умением совместно использовать сетевые соединения. Правда, по умолчанию эта возможность выключена, и многие о ней даже не подозревают! Чтобы ее задействовать установите компонент ICS– Internet Connection Sharing в "Установке Windows" à
"Средства Интернет" à
"Internet Connection Sharing". Если такого пункта здесь нет – вам подсунули майскую версию Windows 98 под видом "Second Edition"!

Рисунок 23 Рис 0х00B Установка компонента ICS в Windows SE
После завершения установки Internet Connection Shared
автоматически запускается Мастер, подготавливающий его к работе и создающий клиент-диск. Никаких трудностей на этом этапе возникнуть не должно. Если Мастер задаст вопрос об используемом адаптере, укажите "Контроллер удаленного доступа".
Затем, после перезагрузки, в свойствах "Internet Explorer" выберете закладку "Соединения" и напротив тех соединений, которые хотите использовать совместно, установите галочку "Разрешить совместный доступ".
Теперь необходимо подготовить к работе клиента. Вставьте в компьютер, не имеющий прямого Интернет-соединия, только что созданный диск и запустите оттуда файл "ICSCLSET.EXE". (Он там один, за исключением, Readme). Вновь запустится Мастер, который настроит клиента.
Windows 9x
::Способ 1 - создайте командный файл следующего содержания: "rundll32.exe rnaui.dll,RnaDial "Имя соединения"", где "Имя соединения" – название одного из соединений в папке "Удаленный доступ к сети". (см. рис. 7) Запустите этот файл и – все!
Рисунок 7 рис. 0x01F Вход в Интернет из командной строки
{К рисунку: подретушировать красную линию (окультурить стрелку и т.д)}
::Способ 2 – перетащите из папки "Сеть и удаленный доступ" иконку выбранного соединения на "Рабочий Стол" или в другую папку. В сеансе MS-DOS наберите команду "start Полное Имя Ярлыка Соединения, Включая Путь". Работает? Вот и ладненько!
Откройте папку "Удаленный доступ к сети". В меню "Соединения" выберете пункт "Настройка" и в открывшемся диалоговом окне снимите галочки напротив пунктов "Запрос сведений перед набором номера" и "Запрос подтверждения после подключения". Все!
Если в "Свойствах" модема ("Панель управления" à
"Модем" à
"Свойства") стоит галочка "Вести протокол для этого модема", то в каталоге %Windows% лежит файл "Имя Модема.log", содержащий подробную информацию обо всех сетевых сессиях – время входа, количество полученных и переданных байт, время разрыва соединения и т.д. Конечно, это неполноценное средство учета времени проведенного в сети, но зато хорошее средство убедиться, что сервер статистики провайдера, если таковой имеется (см. "Безопасность à Как узнать, что моим паролем пользуется кто-то еще?") не лжет и вашим паролем не пользуется никто другой.
Пример содержимого файла протокола с комментариями автора (комментарии находятся спереди комментируемых строк).
Файл C:\WINDOWS\ Rockwell 33.6 DPF External PnP.log
// 20 января 2001 года. Зима. Метель.
// На системных часах компьютера 10 часов 22 минуты 16 с копейками секунд
// Автор дважды щелкает по иконке удаленного доступа…
01-20-2001 10:22:16.72 - Rockwell 33.6 DPF External PnP in use.
// Тип
модема - Rockwell 33.6 DPF External PnP
01-20-2001 10:22:16.73 - Modem type: Rockwell 33.6 DPF External PnP
// Путь к inf файлу, содержащим настройки модемов, в том числе и этого
// сам inf файл хранится в каталоге %Windows%\inf
01-20-2001 10:22:16.73 - Modem inf path: MDMMOD.INF
// секция в inf файле, хранящая настройки данного модема
01-20-2001 10:22:16.73 - Modem inf section: Modem2
// ???
01-20-2001 10:22:16.98 - 115200,N,8,1
01-20-2001 10:22:17.20 - 19200,N,8,1
01-20-2001 10:22:17.20 - 19200,N,8,1
// Система приступает к инициализации модема
01-20-2001 10:22:17.20 - Initializing modem.
// Система посылает модему команду AT
(команда инициализации)
01-20-2001 10:22:17.20 - Send: AT
01-20-2001 10:22:17.20 - Recv: AT
// Модем о ответ говорит "ОК"
Для установки утилиты прямого кабельного соединения выполните следующие действия: зайдите в "Панель управления", кликните по иконке "Установка и удаление программ", перейдите к закладке "Добавление и удаление компонентов Windows" и установите следующие компоненты: "Связь"à "Прямое кабельное соединение" и "Связь" à "Удаленный доступ к сети". Затем в той же "Панели управления" кликните по иконке "Сеть" и установите "Контролер удаленного доступа" (если он не был установлен ранее), нажав кнопку "Добавить" à "Сетевая плата" à "Microsoft" à "Контролер удаленного доступа". Вместе с контроллером Windows добавит "Семейный вход в систему" и протокол "TCP/IP". Для организации сети Microsoft можно добавить "Клиент" à "Microsoft" à "Клиент для сетей Microsoft". Ведомому компьютеру потребуется "Служба доступа к файлам и принтерам сетей Microsoft", содержащаяся в категории "Службы". На ведущий компьютер ее устанавливать не требуется. Затем, как и предлагает Windows, следует перезагрузиться.
Остается только "зашарить" ресурсы ведомого компьютера, т.е. сделать их доступными для совместного использования. "Зашаривать" можно и целые диски, и отдельные директории, и принтеры. О совместном использовании Интернет-соединений рассказано отдельно (см. "Как обеспечить совместный доступ к одному Интернет - соединению"), а для "зашаривания" файлов и директорий щелкните по выбранному ресурсу правой клавшей мыши, выберите в контекстном меню пункт "Свойства", перейдите к закладке "Доступ", где и переместите радио кнопку с положения "Локальный" в "Общий ресурс".
Вся корреспонденция хранится в директории "\WINDOWS\Application Data\Microsoft\Outlook Express". Все папки Outlook представлены файлами с теми же самыми именами с расширением dbx.
"\WINDOWS\Application Data\Microsoft\Address Book". Имя адресной книги совпадает с именем пользователя.
Запустив telnet.exe, необходимо вызывать диалог "Параметры терминала", активируя пункт меню “ТерминалàПараметры”. Появляется следующее окно (смотри рисунок 53):

Рисунок 54 Рисунок 059 Параметры терминала telnet.exe
При работе с telnet-сервером флажок "Отображение ввода" (другой распространенный вариант названия этой опции "Локальное эхо") должен быть сброшен, иначе все вводимые с клавиатуры символы будут дублироваться. Это происходит потому, что telnet-сервер возвращает клиенту все символы, набранные им с клавиатуры. Не может же пользователь работать вслепую?
Это кажется настолько очевидным, что существование альтернативных вариантов просто не укладывается в голове, но, несмотря на это они существуют! Напротив, в большинстве экспериментов, описываемых в книге, флажок "Отображение ввода" придется взводить, поскольку такие сервера как, например, SMTP, POP3, HTTP "молча" проглатывают отдаваемые пользователем команды и возвращают результат своей работы, но не отображают принятые символы на терминале. Однако клиент telnet может самостоятельно выводить на экран все нажатые клавиши, если флажок "Отображение ввода" установлен.
Две следующие опции управляют формой курсора. Значение их определяется вкусами и пристрастиями пользователя. Установка флажка "мерцающий курсор" приводит к миганию, позволяя его легче отыскать на экране. Если же мерцание раздражает – этот флажок можно сбросить.
Форму курсора предлагается выбрать между "простым" и "прямоугольным". "Простая" приводит к появлению на экране символа прочерка, изображенного на рисунке 54.2. Напротив, прямоугольный курсор занимает всю строку целиком и выглядит так, как показано на рисунке 54.1.

Рисунок 55 Рисунок 062 "прямоугольный курсор" Рисунок 063 "Простой курсор"
"Клавиатура VT100" указывает на необходимость эмуляции клавиатуры терминала VT-100, отличающегося от обычных терминалов наличием клавиш-стрелок, управляющими положением курсора. Если этот флажок сбросить, в редакторе vi придется пользоваться клавишами "<h>,<j>,<k>,<l>", что может оказаться несколько непривычно современному пользователю, поэтому "VT100" лучше всегда держать установленным.
а так же см. рис.
::Способ 1 – вызовете утилиту дозвона RasDial.exe, передав ей следующие аргументы в командной строке: имя соединения (см. папку "Сеть и удаленный доступ", а так же см. рис. 7), имя пользователя и пароль. Если вместо пароля указать символ звездочки, пароль будет запрошен утилитой самостоятельно в процессе установки соединения.Пример использования: 'RasDial "Соединение с 4-42-22" kpnc mypassword'.
C:\>rasdial "Соединение с 4-24-22" kpnc mypassword
Установка связи с СОЕДИНЕНИЕ С 4-24-22...
Проверка имени и пароля пользователя...
Регистрация компьютера в сети...
Установлена связь с СОЕДИНЕНИЕ С 4-24-22.
Команда успешно завершена.
Утилита RasDial работает исключительно в консольном (текстовом) режиме и не выводит на экран никаких графических диалогов или изображений. Поэтому, ее удобно использовать при работе с такими менеджерами как, например, FAR в полноэкранном режиме, избавляясь от необходимости переключения в графический режим.
Для разрыва соединения повторно запустите утилиту RasDial с ключом /DISCONNECT, например, так: "RasDial /Disconnect". А для разрыва еще не установленного соединения (например, если модем не распознает сигнал занятости на линии – не входит в сеть, но и не кладет трубку) нажмите комбинацию клавиш <Ctrl-Break>.
Дополнительные параметры: утилита Гамарджоба! имеет ряд дополнительных параметров для специфической настройки. Подробнее о них можно прочитать в "Справке" Windows или встроенной помощи ("RasDial
/?"). Здесь же достаточно упомянуть возможность временного изменения номера – бывает так, что провайдер сменил номер или добавил новый, но чтобы внести его в свойства соединения под Windows 2000 необходимо войти в систему с правами администратора, для чего требуется завершить текущий сеанс, а это не всегда приемлемо. Вот тут-то и поможет RasDial, вызванная с ключом /PHONE за которым идет новый телефонный номер, например, так: "RasDial "Соединение с 4-42-22" kpnc mypassword /PHONE 8w86-137-4-44-22".
::Способ 2 - под Windows NT\2000 удаленное соединение может быть установлено и с помощью запуска ярлыка удаленного доступа утилитой start (см. "Способ 2 для Windows 9x")
Родственные вопросы:
Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?
Система WindowsNT\ 2000 так же ведет протоколирование всех удаленных подключений к сети. Получить к ним доступ можно из Папки "Администрирование" ::"Панель управления" à
"Администрирование" à
"Просмотр событий" à
"Журнал системы". В длинной-предлинной простыне списка событий появится перечень всех замечаний системы. Чтобы просматривать только уведомления, относящиеся к удаленному доступу, в меню "Вид" выберите пункт "Фильтр", далее в открывшемся диалоговом окне найдите комбинированный бокс "Источник события" и выберите в нем "Remote Access".
Появится перечень уведомлений о времени установления и разрывов удаленных соединений. Дополнительных данные можно получить из пункта "Свойства" контекстного меню, вызываемого нажатием правой клавиши мыши на интересующем уведомлении. (см. рис. 9)

{К рисунку – заменить синий фон на белый}
Рисунок 9 Рис 0x021 Получение статистики модемных подключений в Windows 2000
Родственные вопросы:
Безопасность à Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?
Программа учета времени проведенного в Интернет показывала что еще остается десяток-другой минут, а провайдер утверждает, что мое время кончилось! Как же так?
Закладка Modem
Закладка Modem позволяет задать строку инициализации модема. К ней приходится прибегать, когда настройки по умолчанию не устраивают или специфика телефонной линии требует специфической конфигурации модема (см. "Модемы àКак подобрать правильную строку инициализации или что делать, если модем не работает?").
Ниспадающий бокс "Current Modem" (см. рис. 6) позволяет выбирать настраиваемый модем из списка в том случае, если на компьютере установлено более одного модема (или один модем управляется несколькими драйверами – скажем, родным драйвером производителя и драйвером "Стандартный модем").
Окно редактирования "Current Init String" и задает искомую строку инициализации. Ее содержимое зависит от самого модема, условий его эксплуатации, особенностей телефонной линии и т.д., поэтому, универсальной строки инициализации на все случаи жизни не существует.
Кнопка "Re-Read Modem Data from Registry" перечитывает информацию о модемах из реестра (полезно, если реестр был в это время вручную или с помощью другой утилиты изменен), а кнопка "Write the Init String to the Registry" записывает введенную строку инициализации в реестр. Изменения возымеют действия в следующем сеансе работы с модемом.

Рисунок 6 Рис. 0x01E Назначение опций закладки Modem
Родственные вопросы:
Оптимизация соединения с Интернет
Интернет. Общие вопросы à Каково назначение ключей утилиты ping?
Модемы à
Как подобрать правильную строку инициализации или что делать, если модем не работает?
Закладка MTU
При успешном старте утилиты автоматически открывается закладка "MTU" (см. рис. 1), в верхней части которой находится ниспадающий бокс, обеспечивающий выбор настраиваемого адаптера. Если на компьютере не установлено ни одной сетевой карты, в списке будет перечислен всего лишь один адаптер – "Контроллер удаленного доступа" ("Dial-Up Adapter" в английской версии Windows). Именно он "отвечает" за модемное соединение с провайдером.Строкой ниже приводится текущее значение MTU (максимально допустимый размер одного пакета). Если оно равно нулю, подходящий размер пакета вычисляется самой Windows. (Выбор режима задается во вкладке "Registry").
Еще ниже, в окне, для красоты обведенном рамочкой, приводится размер TCP-окна с комментариями: сообщается размер окна в байтах (RWIN), размер сегмента данных пакета, равный размеру пакета за вычетом длины заголовка (MSS) и множитель (Multiplier), задающий размер окна в пакетах.
Значение множителя может быть изменено перемещением ползунка "Side the Track bar to change RWIN". Если ползунок заблокирован, значит, Windows использует размер окна по умолчанию. Для задания его значения вручную переместите радио кнопку "RWIN" закладки "Registry" в положение "Enable".

Рисунок 1 Рис 0x01A Назначение опций закладки MTU
Закладка Registry и кнопки Base Setting, Optimum Setting…
Вкладка "Registry" (см. рис. 2) управляет основными ключами реестра, ответственными за настройку TCP/IP-соединения. Радио кнопки могут находиться в одном из трех положений: "Enable" – параметр задействован (включен), "Disable" – параметр заблокирован (выключен) и "Remove" – данный ключ реестра удален, система использует значение по умолчанию.Ключ "MTU", будучи установленный в положение "Enable", приводит к возможности ручного задания значения MTU – максимального размера пакета: щелкните по кнопке "Change MTU" и введите желаемое значение от 512 до 1500 (При этом ключ "PMTUDiscovery" должен находится в положении "Disable"). Оптимальное значение поможет подобрать утилита ping, вызываемая из вкладки "Utilities" (см. "Закладка Utilities").
Ключ "RWIN", будучи установленный в положение "Enable", приводит к возможности ручного задания размера TCP-окна, с помощью одноименного бегунка, находящегося во вкладке "MTU".
Ключ "PMTUDiscovery", будучи установленный в положение "Enabled", заставляет систему самостоятельно определять оптимальный размер пакетов. При этом значение MTU, заданное вручную, будет игнорироваться. Использование режима автоматического определения размера пакетов несколько снижает скорость обмена данных и порой приводит к проблемам (например, может не работать закачка по ftp или отправка электронной почты), поэтому его использование не всегда желательно. Положение "Disable" приводит к использованию размера пакетов по умолчанию (1500 для Windows 95 и 576 для остальных систем) либо же размеру, заданному пользователем (если пользователь задал свой размер). Наконец, положение "Remove" задействует режим по умолчанию – Windows 9x в этом случае использует фиксированный размер пакетов, а Windows 2000 – определяет его автоматически.
Ключ "PMTUBHDetect", будучи установленный в положение "Enable", активирует специальный алгоритм обнаружения Черных Дыр (подробнее об этом см. "Оптимизация соединения с Интернет"). Распознавание Черных Дыр имеет смысл только для режима автоматического определения размера пактов (ключ "PMTUDiscovery" находится в положении "Enable") и несколько снижает скорость. Поэтому, использовать его следует только в том случае, если есть явные проблемы – не работает закачка по ftp или не уходит почта. Положения "Disable" и "Remove" отключают алгоритм обнаружения Черных Дыр.
Ключ "Time To Live Active" будучи установленный в положение "Enable" приводит к возможности ручного задания продолжительности жизни отсылаемых пакетов, т.е. указывает какое максимальное количество промежуточных узлов может посетить пакет, прежде, чем будет уничтожен. Коррекция значения параметра TTL имеет смысл только при возникновении ошибки "TTL bug" и не влияет на производительность соединения. Положение "Disable" приводит к использованию срока жизни по умолчанию – 32.
Если разрешено ручное задание срока жизни пакетов, то следующий ключ "Time To Live – Hoops" задает значение максимального количества промежуточных узлов, которые может посетить пакет. Каждый узел, передавая пакет другому, уменьшает значение TTL на единицу и, когда оно окажется равным нулю, пакет уничтожается с посылкой отправителю соответствующего уведомления (или в некоторых, достаточно редких, случаях без посылки такового). Если пакет умирает, не доходя до такого-то сервера, – увеличьте значение TTL – это должно помочь.
Ключ "NDI Cache Size" задает размер кэша, запоминающего исходный маршрут пакета в локальных сетях типа Token-Ring, и никак не влияет на производительность Интернет соединений. Хотя, ходят устойчивые слухи, дескать, данный параметр позволяет увеличить скорость обмена, – это только слухи не более того.
Для упрощения настройки TCP-соединений, создатели MTUSpeed предусмотрели ряд паттернов
– готовых шаблонов, вызываемых нажатием одной кнопки. Таких шаблонов три – базовый, оптимальный и автоматический.
Базовый шаблон вызывается нажатием кнопки "Base Setting". Все TCP-установки остаются в положении в умолчанию, но разрешается ручное задание MTU – максимального размера пакетов. Вот только не факт, что заданное значение будет использоваться системой. Windows 2000 в конфигурации по умолчанию всегда стремится подбирать оптимальный размер пакетов, игнорируя пользовательские настройки, а для использования значения MTU, установленного вручную, необходимо переместить ключ "PMTUDiscovery" в положение "Disable", чего базовый шаблон не делает. Впрочем, к слову сказать, в Windows 9x все работает успешно, т.к. она не занимается подбором размера пактов по умолчанию.
Оптимальный шаблон вызывается нажатием кнопки "Optimum Setting". Он насильно отключает алгоритм подбора пакетов, вырубает механизм распознавания Черных Дыр, разрешает ручную установку MTU и увеличивает срок жизни пакетов до 128 узлов. Такая конфигурация отвечает большинству требований, прекрасно "чувствует" себя как под Windows 9x, так и под Windows NT\2000, словом, не зря носит имя оптимальной.
Автоматическая настройка, напротив, запрещает ручное задание MTU и заставляет систему самостоятельно определять подходящий размер пакетов и распознавать Черные Дыры. Следует напомнить – автоматическое определение "съедает" часть ресурсов и не всегда увеличивает производительность.
Копка "Remove Setting" отменяет все ручные настройки (шаблоны) и возвращает значения по умолчанию.
Флажок "Apply same values to all keys", расположенный внизу, будучи взведенный, распространяет текущие настройки на все адаптеры. В подавляющем большинстве случаев взводить его не следует. Если на компьютере установлен только один адаптер – Dial-Up- драйвер ("Контроллер удаленного доступа" в русской версии Windows), распространить настройки на другие адаптеры невозможно ввиду отсутствия таковых. Если же компьютер снабжен одной или несколькими сетевыми картами, – настройка локальной сети по образу и подобию Интернет снизит ее производительность (стандартный размер TCP-пакета для Ethernet равен 1.500 байтам, против 576 для PPP).
Флажок "RWIN enabled by Basic and Optimum buttons", будучи взведенный, приводит к включению в базовый и оптимальный шаблоны возможности ручного задания размера TCP-окна. Поскольку, размер окна, принятый в системе по умолчанию, не всегда оказывается оптимальным и его коррекция способна увеличить скорость обмена данными до двухсот и более процентов, этот флажок имеет смысл взвести.
Внимание! Чтобы любые изменения настроек вступили в силу необходимо перед выходом из программы нажать кнопку "Update Registry", затем перезагрузиться и войти в сеть опять. Это относится в равной мере к параметрам, размещенным на закладках MTU и Registry, а так же ко всем трем шаблонам.

Рисунок 2 Рис 0х01B Назначение опций закладки Registry
Закладка Utilities и подбор оптимального MTU
Для ручного подбора значения MTU, недурно бы иметь какой-нибудь инструмент, позволяющий количественно оценить влияние размера пактов на производительность Интернет - соединения.Один из таких инструментов – утилита ping из штатной поставки Windows, способная отправлять по указанному адресу пакет заданного размера с пометкой "Не фрагментировать". Если какой-тонибудь из промежуточных серверов не в состоянии обрабатывать пакеты такого размера, он возвращает отправителю уведомление о невозможности доставки пакета и ping выдает на экран что-то вроде: "Требуется фрагментация пакета, но установлен запрещающий флаг". Остается опытным путем найти наибольший допустимый размер пакета…
Вовсе не обязательно уменьшать размер пакета каждый раз на единицу – MTU по обыкновению принимает одно из следующих фиксированных значений: 65.535, 32.000, 17.914, 8.166, 4.464, .4352, 2.048, 2.002, 1.536, 1.500, 1.492, 1.006, 576, 544, 512, 508, 296,68, – жирным шрифтом выделены наиболее распространенные значения в Интернет.
Так, тысяча байт – проходит! Полторы тысячи – проходит?! Две тысячи – как, опять, проходит??!! Разумеется, нет! На самом деле сервер кривого провайдера (и попадаются же такие – к примеру, тот же krintel) игнорируя флаг запрета фрагментации, втихую разрезает отправляемый пакет на столько частей, на сколько сочтет нужным. Как же в этом случае определить подходящее значение MTU, разумеется, не меняя провайдера?
Методика подбора оптимального размера пактов в этом случае будет следующей – связавшись с некоторым сервером, отправляем ему пакеты все большего и большего размера, замеряя среднее время их пересылки. До тех пор, пока пакет в процессе своего путешествия не фрагментируется, время доставки увеличивается прямо пропорционально размеру. Но, стоит только превысить некоторую критическую величину, как один пакет разрезается на два и время доставки скачкообразно возрастает (см. рис. 3), поскольку на транспортировку двух пакетов уходит больше времени, чем на транспортировку одного.
Нажатие кнопки " Test MTU Value" запускает консольную утилиту ping в отдельном окне (см. рис. 5). Если окно самопроизвольно закрывается по завершению работы, взведите флажок – "Check this box if the ping windows closes too soon" или измените свойства ярлыка "MS-DOS", сбросив галочку "Закрывать окно по завершению работы".

Рисунок 4 Рис. 0x01C Назначение опций закладки "Utilities"
По умолчанию утилита ping посылает четыре пакета, сообщая время доставки каждого из них. В зависимости от стабильности соединения и степени загрузки канала скорость обмена не остается постоянной, а "плавает", под час настолько значительно, поэтому что время доставки пакетов может отличаться в несколько раз! Это осложняет подбор оптимального размера пактов, поскольку становится неясно чем вызвано изменение производительности – фрагментацией пакетов или тормозами промежуточных серверов.
Для надежности выполните несколько прогонов с одними и теми же значениями размеров пакетов, а затем выберите наименьшее время доставки (не среднее, т.к. на среднее в большей степени влияют тормоза, а наименьшее значение – это скорость доставки без тормозов, она-то и будет истинной скоростью).
У автора увеличение размера пактов с 576 байт до 577 байт (всего лишь на один байт!) снизило скорость обмена данными на 20%! Не бог весть какая величина, но все ж таки – копейка доллар бережет!

Рисунок 5 Рис. 0x019 Подбор MaxMTU при кривом провайдере
Единственный способ гарантированно избежать ошибок
Единственный способ гарантированно избежать ошибок – не писать программы! Древние мудрецы говорили – "падает тот, кто бежит; тот, кто лежит – уже не падает". Допуская ошибки, человек приобретает иммунитет, помогающий впредь их не совершать. Только так, на собственном опыте и приобретается профессионализм. Покорное следование советам руководств по безопасности незначительно увеличивает качество кода – "дырка" вылезет не в одном, так в другом месте. (Это не значит, что данная книга бесполезна, просто не стоит строить иллюзий, будто бы она автоматически решит все проблемы).Умение писать надежный безопасный код сродни езде на велосипеде – пока сам этому не научишься, никакие наставления не помогут. Но, даже научившись, вряд ли сможешь внятно объяснить другим как именно следует держать равновесие и что конкретно требуется для этого делать.
Единственное, от чего хотелось бы предостеречь – не выезжайте на автомагистраль, то есть не беритесь за ответственные проекты, пока не будете полностью уверены в своих силах и опыте.
Что же делать потребителям? Как не попасться на удочку? О! Это очень просто. Достаточно забыть два слова "вера" и "доказательство", оставив лишь "скептицизм". Не верьте ни в какие доказательства. При желании можно доказать, что Земля – плоская и держится на трех китах. Бизнесмен никогда не работает на благо клиента. За каждым его шагом стоит личная выгода (деньги – не обязательно, но выгода – наверняка).
Защищенность секретных файлов
Настройки скрипта, пароли и другая секретная информация, как правило, хранится не в теле программы (хотя случается и такое), а в отдельных файлах, зачастую помещенных в тот же самый каталог, в котором расположены скрипты или web-страницы. Это значит, что их содержимое можно просмотреть в экране браузера, - стоит только узнать требуемое имя и сформировать соответствующий URI.Единственная проблема, стоящая перед злоумышленником, - узнать полный путь к этим файлам. Если просмотр www-директорий сервера запрещен (что вовсе не факт!), остается действовать последовательным перебором. При условии, что файлы имеют осмысленные имена (как часто и бывает) перебор не будет слишком долгим. К тому же, используя общедоступные скрипты, не все web – мастера изменяют имена секретных и конфигурационных файлов. Наконец, получить содержимое директорий можно и через ошибки реализации других сетевых служб и самого сервера.
Словом, никогда не стоит надеяться, что злоумышленник не сможет выкрасть секретный файл только потому, что не знает его имени. Гораздо надежнее разместить его так, чтобы web-клиенты не имели к нему никакого доступа (скрипту, исполняющемуся с привилегиями локального пользователя, это не причинит никаких проблем, и он по-прежнему сможет читать и писать в такой файл). Другое возможное решение – сконфигурировать web-сервер так, чтобы он не видел эти файлы или запрещал к ним доступ.
Оба способа требуют для своей реализации определенных привилегий, которые предоставляются не всеми провайдерами (и очень немногими службами бесплатного хостига), – тогда приходится помещать секретную информацию в сам Perl-скрипт. При отсутствии ошибок реализации и конфигурации WEB-сервера клиент никогда не увидит содержимое скрипта, а только результат его работы. Напротив, сам скрипт может работать с самим собой как с обычным текстовым файлом. Для этой цели удобно использовать лексему DATA, доступную через одноименный дескриптор.
Такой прием обеспечивает достаточно высокую защищенность секретных данных, но срабатывает не всегда, – случается, что сервер в силу определенных обстоятельств отображает не результат работы, а содержимое скрипта. Забавно, что для исправления такой ошибки разработчикам Microsoft Internet Information Server пришлось выпустить три (!) следующих одна за другой заплатки, прежде чем проблема была решена.
Сперва обнаружилось, что точка, добавленная к имени скрипта, вместо запуска приводила к отображению его содержимого. Это быстро исправили, впопыхах не вспомнив, что ту же самую точку можно представить и в виде шестнадцатеричного кода, предваренного символом процента. Пришлось вслед за первым выпускать второй пакет, а за ним еще и третий, поскольку выяснилось, что обращение к файлу по альтернативному короткому имени так же приводит к показу его содержимого. И до сих пор ни у кого нет полной уверенности, что выловлены все ошибки и завтра не откроется какая-нибудь новая.
Всегда следует учитывать угрозу просмотра секретного файла и противостоять ей. Это вовсе не так трудно, как может показаться!
Основным объектом охоты злоумышленников обычно становятся пароли, а их легко зашифровать встроенной в Perl функцией crypt. Строго говоря, crypt
пароли не шифрует, а хеширует, подвергая их необратимому преобразованию, поэтому, даже получив доступ к секретному файлу, злоумышленник не сможет восстановить ни один пароль иначе, чем тупым перебором всех возможных вариантов.
Упрощенный пример программы аутентификации с использованием функции crypt приведен ниже (в нем не используются привязка - salt, поэтому, одинаковые пароли будет иметь идентичные хеши, что в сотни раз ослабляет стойкость защиты ко взлому лобовым перебором).
Внимание: в некоторых реализациях Perl функция crypt возвращает переданную ей строку без каких бы то ни было изменений. Проверьте, как ведет себя ваша версия Perl! В крайнем случае придется создавать собственную реализацию Perl (в этом помогут исходные тесты UNIX-подобных операционных систем).
print "Password:"; #запрос пароля пользователя
$passwd=<>;
chop $passwd; #удаление символа \n
$encrypt=crypt($paswsd,"sl"); #вычисления хеша пароля
open (fh,"passwd") || die; #открытие файла паролей
while($pass=
chop $pass; #удаление символа \n
if ($pass eq $encrypt){ #подходящий пароль?
print "Password ok\n";
$flag=1; #пароль найден, установить флаг
break; #и выйти из цикла
}
}
if (!$flag) # если пароль не найден - выход
{print "BAD password!\n"; die;}
Использование необратимого шифрования даже при наличии других ошибок реализации и неправильном администрировании сервера чрезвычайно затрудняет атаку, делая ее практически неосуществимой. Во всяком случае, взломщику понадобится весьма сильная мотивация, чтобы тратить свое время на такую защиту. Хакеры, как и угонщики, редко охотятся за какой-то одной, конкретно выбранной машиной, - они скорее найдут растяпу, забывшего ключи в замке зажигания, чем будут ювелирно нейтрализовать сложную систему сигнализации.
ZyXEL Omni 56K Pro
"Мы не настолько богаты, чтобы покупать дешевые веши" – эта знаменитая немецкая пословица как нельзя лучше подходит к изделиям фирмы ZyXEL. Цены "кусаются", но и качество "кусается" тоже. Автор до сих пор не может забыть свое своего первого впечатление отвпечатления отмодема U?1496, уверенно работающего на линии, на которой там, где и человеческий голос проблематично расслышать. Оно и понятно – префикс "U" указывает на профессиональную модель, рекомендуемую самой фирмой для банков и железных дорог – там, где требования надежности связи превыше всего.
"Домашним" пользователям, не обремененным высокой зарплатой, глядя на такой модем, долгое время оставалось лишь облизываться и… отправляться на поклон к конкурентам. Не желая отдавать сегмент рынка, сам идущий к ней в руки, фирма наконец-таки обратила внимание на потребителей с "тощим кошельком", выпустив сразу несколько моделей – ZyXEL OMNI 56K, ZyXEL OMNI 56K Plus и ZyXEL OMNI Pro – самый совершенный из всех трех, и – что не удивительно – дорогой.
Суффикс "Pro" намекает на принадлежность модема к профессиональной серии, но таковым он отнюдь не является – не реализованы протоколы ZyXEL и ZyCELL и нет возможности работы с выделенной линией. Вся "профессиональность" заключается в наличии многофункционального жидкокристаллического экрана, на котором отображается текущий режим работы модема, параметры линии, включая АЧХ, и другая оперативная информация. Необъяснимая притягательность индикатора распространяется и на тех, кто ничего не понимает ни в модуляции, ни в теории передачи информации. Правда, со временем к индикатору привыкаешь и "болезнь" смотреть на него, а не на загружаемый сайт, проходит.
Примечательно, что модем собран на своем собственном чипсете – М4, в то время как большинство его конкурентов используют более дешевый и менее качественный Rockwell. В сравнение со своим ближайшим конкурентом – US Robotics Courier V. Everything – ZyXEL обладает вдвое большей помехоустойчивостью, более качественным эквалайзером и на удивление подробной информацией о состоянии линии \ соединения (что очень полезно для "тонкой" подстройки на плохих каналах), но несколько уступает ему в чувствительности и скоростном показателе качества по зашумленности (подробнее об этом сказано в описании 3Com US Robotics Courier V. Everything).
Не имеющие прямого отношения к модему, но все же приятные фенечки – автономный АОН и автономный автоответчик, первый из которых работающие работает даже при выключенном компьютере, также склоняют к покупке этой модели. –
Конечно, можно купить отдельный автоответчик и АОН, но гораздо удобнее совместить все эти устройства в одном агрегате.
(Впрочем, встроенный АОН модема конфликтует с параллельным телефоном типа "Русь", в результате чего ни там, ни там номер звонившего не определяется, причем отключение модемного АОН'а не снимает проблему).
Приятно и то, что фирма серьезно относится к вопросу адаптации своих модемов к отечественным линиям, внося изменения не только на программном (как у большинства конкурентов), но и аппаратном уровне.
Общее впечатление портит хрупкий на вид корпус полупрозрачных тонов (ау! iMac!), чрезвычайно отвратный на взгляд автора (корпус он ведь на что – чтобы детали монтажа скрывать), но с этой неприятностью можно смириться или засунуть модем между компьютером и монитором, так чтобы выглядывал один лишь индикатор.
По неофициальным сведениям, полученным от продавца фирмы "Информационные технологии" (www.itech.ru), практически все
ZyXEL ONMI ломаются
на отечественных линях в течение полугода – их отправляют по гарантии на завод-изготовитель, где ремонтники делают "больному" небольшую доводку, после которой, по их словам,
модем будет работатработаеть
вечно. По словам продавца, это серьезно ограничивает спрос на такие модемы, ибо клиенты не понимают, почему вещь, стоящая свыше двухсот долларов, заведомо должна сломаться, и неужто фирме было трудно исправить эту проблему еще на заводе?
Из других недостатков хотелось бы отметить слишком хриплый динамик, заметно уступающий в звучании ACORP'у и довольно громкий свист, издаваемый модемом при включенном питании. Наконец, при изменении одних настроек модем самопроизвольно искажает другие (хотя, быть может, это дефект экземпляра автора).
Возможности:
Подстройка уровня выходного сигнала есть, авто \ ручная
Подстройка уровня входного сигнала есть, авто \ ручная
Механизм адаптивной настройки на линию есть
Измеритель АЧХ линии есть
Сбор статистики соединения есть, подробный
Жидкокристаллический экран есть, многофункциональный
Ограничение скорости соединения есть
Реле для отключения параллельного телефона есть
Распознает сигнал занято да
Встроенный АОН есть
Встроенный Автоответчик есть
Чипсет M4
Характеристики линии и соединения, определяемые модемом в режиме сбора статистики:
Протокол связи да
Скорость приема \ передачи да
Частота несущей приемника \ передатчика да
Отношение сигнал \шум да, мгновенная + максимальная
Уровень входного сигнала да
Уровень выходного сигнала да
Задержка возврата эха да
Уровень ближнего эха да
Уровень дальнего эха да
Дрожание фазы да
Сдвиг частоты да
Условное качество линии да
Измерение АЧХ да
Количество переданных блоков да
Количество блоков, переданных с ошибками да

Рисунок 17 Рис. ZyXELPro Так выглядит модем ZyXEL 56K OMNI Pro

Рисунок 18 ZyXEL56K Так Выглядит модем ZyXEL 56K OMNI Plus
Родственные вопросы:
Так какой же модем все-таки выбрать?
(следующий)
Как подобрать правильную строку инициализации или что делать, если модем не работает?
Работа с информацией: Cистемы - Технологии - Рынок
- Анализ информационных систем
- Методы информационных систем
- Интернет как информационная система
- Искусственный интеллект в информационных системах
- Обработка информации информационными системами
- Информационные системы в офисе
- Управление информационными системами
- Технологии информационных систем
- Теория информационных систем
- Почта - информационная система
- Outlook и информационные системы
- Информационный рынок
- Информационный рынок - IT
- Технологии информационного рынка
- Безопасность на информационном рынке