DiBR
обычная кошмарная
домашняя страничка
Ежекакполучится околокомпьютерное обозрение
 
  <<<  предыдущий21 апреля 02 годаследующий  >>>  
   Последний выпуск      Архив      Ссылки      Полезности      humor.filtered      О сайте   
         Не буду я цифровики сравнивать с пленочниками. "Навскидку" найти хороший цифровик на несколькодней "погонять" не удалось (а сравнивать с плохим нет смысла), а особо париться не хочется.Однако субъективные выводы сделать можно.
         По "мегапиксельности" цифровики уже пришли. 2-3мпикс покрывают 95% потребностейлюбительской съемки, 5мпикс покрывают еще 4.9%. Остатком (повторюсь - я говорю о "продвинутой любительской" съемке на 35мм пленку)можно пренебречь.
         По чувствительности и шумам цифровики тоже, в общем-то, уже пришли. Недостаток чувствительности цифровых "мыльниц"перекрывается высокой светосилой объектива (который в случае короткого фокусного расстояниясделать светосильным проще, а проблем от этого будет меньше, чем для 35мм мленки). Да и не такая ужи низкая чувствительность - "экв. ISO 100" умеют уже все подряд, а до 400 - всего два "щелчка"диафрагмы. Шумы - сравнивая с интернетными сэмплами с цифровых камер, я вижу, что зерно любительскойFuji Superia 100 больше шума цифровиков. Про-пленку я не хочу, поскольку совершенно не факт, что зерно будет сильно лучше. Слайд - сильно не хочу, поскольку дороже и капризней.
         Динамика. Тут у цифры пока есть проблемы - если негативная пленка не напрягаясь выдает картинкупри контрастности сюжета в три-четыре "ступени" экспозиции, а "с напрягом" - и четыре-пять, тоцифра, хоть и сильно выросла в этом смысле, пока либо уступает, либо стоит неразумно дорого.Впрочем, такая фотоширота потребна для совсем уж редких сюжетов, чаще она потребнапри ошибках экспозиции, которые на цифре можно исправить "не отходя от кассы".
         Долгие выдержки. Практический предел в полминуты (бОльшая выдержка потребна в очень редких случаях)цифрой достигнут. Так что и тут цифра, как говорится, "пришла".

         Сдерживает пока одно. После того, как почувствуешь, что означает "большая фотоширота негатива"(а почувствовать это без слайд-сканера или минилаба с цифровой печатью не получится никак),на "восемь бит на цвет" не хочется идти ни за какие коврижки. А камеры с 10 или 12 битами на цветпока стоят достаточно конкретных денег. Которых хватит на десять ящиков пленки...
         Кстати. Коллекция насканированного. Может, кому понравится.
         Для начала - извинюсь перед всеми теми, у кого таки разорвалась связь.Я, честно говоря, не ожидал что использованная мной "особенность реализации" обмена данными смодемом не исправлена лет десять назад - когда её впервые придумали.Лицензионные ограничения - лицензионными ограничениями, но обходных путейесть предостаточно, и что до сих пор можно с заметной вероятностью и потрясающей легкостью "сбить" ссети несчастного пользователяне-самого-крутого-модема...
         ...Жила-была фирма Hayes. В прошедшем времени - поскольку уже три года, какфирма закрыта. Но в свое время фирме hayes, как когда-то intel, удалось попасть "в струю".И как сейчас мы говорим "Intel-совместимый процессор", так мы говорим "hayes-совместимый модем",модем, поддерживающий разработанный черт-те когда и ставший фактическим стандартом набор команд управлениямодемом.
         У модемов, к сожалению, не так уж много "дырок", через которые ими можно управлять.Собственно, кроме нескольких проводков, передающих простые двоичные сигналы типа "есть несущая" или "модем готов",для передачи чего-нибудь чуть более сложного (команд и данных) есть всего два провода - "туда" и "обратно".И по ним в модем уходят и команды ("набрать номер", "ответить на звонок"), и данные (то, что мы качаемпо модему, сидя в интернет).
         Для того, чтобы различать команды и данные, было решено, что в модем может находиться либо в "командном режиме",и тогда все байтики, попадающие в порт, интерпретируются как команды, либо в режиме передачи данных -тогда все байтики передаются на удаленный конец и не интерпретируются. Из командного режима в режим данныхмодем попадает вполне детерминированным образом - по команде, :-) из режима данных в командныйможно "свалиться" по пропаданию несущей (когда уже некуда передавать данные), или же по "опусканию"сигнала DTR компьютером - но при этом модем как правило принудительноразрывает связь.
         Для тех случаев, когда связь рвать не надо, и/или DTR по какой-то причине недоступен (скажем, я зашел telnetомна удаленный компьютер и запустил "терминалку" там), была придумана очень хитрая последовательность,обнаружив которую в потоке данных, модем переходил в командный режим. Последовательность ну очень хитрая -"три плюса", то бишь, "+++" без кавычек. Ведь правда, даже в осходниках программ на Си++ такого не встретишь?
         Правда, вскоре выяснилось, что докуметнацию, специфицирующую тот факт, что при обнаружении "трех плюсов"модем переходит в командный режим, как бы нельзя передать по модему, соответствующему этой спецификации.Поскольку он, обнаружив в тексте документа "три плюса", послушно переставал передавать данные, переходя вкомандный режим. Просекшая фишку фирма hayes (на систему команд которой уже успели "подсесть" производители),придумала (и запатентовала) последовательность "пауза - три плюса - пауза", которая уж точно невоспроизведется сама по себе в передаваемых по модему данных. Модемы фирмы hayesперестали падать при передаче документации по модемам фирмы hayes, другим же фирмам пришлось либолицензировать применение паузы вокруг "трёх плюсов", либо изобретать что-то своё.
         Проблема, в общем-то, не техническая, а финансово-политическая: чтобы быть "100% hayes-compatible"надо поддерживать "три плюса", а чтобы иметь право распознавать паузу - надо было платитьфирме hayes. Так что у модемов, выпущеных серьезными фирмами, такой проблемы не было,да и более мелкие фирмы - какая им разница, 100% оно совместимо, или 99.9%, лишь бы работало.Могли бы от "трех плюсов" и отказаться. Тем не менее...
         И тем не менее. Даже несмотря на. На фирму hayes и злобные лицензионные ограничения.
         "Три плюса" нужны как бы очень редко - в основном при "ручной" возне с модемом. Они заведомоне используются при работе в интернет - в принципе, я видел реализации ppp, в которых можно было"вмешаться" вручную в работу модема уже после установки ррр-соединения,но это скорее из области экзотики (и отладочно-настроечных мероприятий), а стандартный виндовый"удаленный доступ" про такое и думать не знает. Почему же производители модемов не добавляютв "драйвера модемов" (которые для windows сводятся просто к списку команд) команду не реагироватьна "три плюса" в процессе сеанса связи? И совместимость останется, и падать перестанет.Не вижу причин. Неужели действительно "не додумались" - ведь это решает проблему на 99.9% и стоит ровно$0.00?
         Ладно, хорошо, это обходной маневр и вообще хакерский трюк. В протоколе PPP, по которому мы как правилоходим в интернет, предусмотрено (аж в двух местах) "экранирование" символов, которые по какой-либо причинене могут быть переданными по каналам связи (являются управляющими). Казалось бы... ан нет!Спасибо Alex Efros, тыкнувшего пальчиком в документацию - в PPP не предусмотрена возможностьэкранировать символы с кодами 0x20 - 0x3f. "Плюс" попадает в этот диапазон - экранироватьего средствами PPP не получится. Во всяком случае, штатным образом.
         С какого перепуга разработчики PPP решили, что диапазон "печатных символов" полностью безопасен - неясно.С какого перепоя за всё время существования модемов не догадались расширить стандарт - тем более не понятно.
         С вин-модемами и софт-модемами вообще непонятки: они не обязаны быть (и, стого говоря, и не являются)hayes-совместимыми, и потому им нет причин как-то реагировать на +++, однако жеони тоже падают! Почему?!
         Фирмы hayes уж три года как нет. О какихлицензиях может идти речь? Неужели за три года производители модемов так и не смоглисообразить, и включить guard delay в прошивки модемов?

         В-общем, сухой остаток такой. Если заставить компьютер пользователя выдать в модемстрочку, содержащую заветные "три плюса" - с некоторой вероятностью модем перейдет в командный режими, как сдедствие, разорвет соединение. Простейший способ - посылка icmp echorequest(по простому - ping), в поле данных которого подставлены заветные три плюса. Компьютер жертвыотвечает icmp echoreply, повторяя пакет данных, и... загоняя в модем пресловутые три плюса.Я воспользовался тэгом <img src=+++ath0>, увидев который, браузер (как несложно сообразить)выдаст get-запрос, содержащий три плюса (и команду "положить трубку"). Можно отправить счастливому обладателюмодема письмо с тремя плюсами в тексте, и, если он ответит "с цитированием", и если его почтовый клиент незавернет ответ в base64 или аналогичное - результат предсказуем.Если же к компьютеру есть непосредственный доступ,или он используется как gateway (прокси, роутер) во внешний мир - всё становится ещё разнообразнее.

         Чего можно добиться? Во-первых, можно хулиганить. Сбивая pingом юзеров на диалапе, или вот так вотсбивая несчастных посетителей сайта. Сидя в локалке с выходом наружу через модем, можно "класть"интернет для всей локалки. Если в локалке стоит почтовый сервер - достаточно отправить "наружу"одно письмо с "тремя плюсами" в тексте, и далее DoSом будет заниматься уже сам почтовый сервер,делая десятки попыток отправить письмо.
         Во-вторых, можно серьезно хулиганить. Ведь после +++ можно поставить не только безобидный "хэнг-ап",а и что-нибудь повеселей. Например, команду перехода в режим заливки новой прошивки -как правило из этой точки модему одна дорога - в ремонт. Прошивку, правда, залить не удастся(размер PPP-датаграммы ограничен), но попортить скорее всего удастся. Можно, выдав команд на"удержание carrier", перезвонить в "секс по телефону". Или в 02. Правда, это несерьезно - лучше,по примеру американцев, создать "провайдера" с оплатой по факту соединения (как номера 1-900у тех же американцев, где стоимость оказанных по этому номерууслуг тебе присылают вместе со счетом от телефонной компании), и перезванивать туда. Пустьпотом пользователь доказывает, что он тут не при чем.

         Оказались подвержены. Список приблизительный, и может не в точности соответствовать.Народный любимец Acorp - как внутренний, так и внешний. Вообще-то акорпы я уважал,в смысле внешние (сам бывший акорповладелец), но свой старый акорп на это не тестировал.
         Подвержены разнообразные поделки на rockwell и conexant (вроде GVC и Genius), перечислять не буду. Кстати, это отнюдь незначит, что все модемы (или даже больше половины модемов) на этих чипсетах подвержены -баг не в чипсете, он в ДНК разработчиков прошивки супервизора. Не у всех разработчиков проблемы с ДНК.
         Подвержен... "А ещё они кричали Зухель Рулез. Это у них вроде Хайль Гитлер". Zyxel Omni 56K+.Собственно, к этим полупрозрачным поделиям у меня отношение странное - когда выясняется,что во в-общем не особо дешевом модеме экономят полдоллара на трансформаторе,заменяя его довольно хлюпким кусочком кремния фирмы silabs (и который потом летит от малейшего чиха),и ставят залипающую через полгода работы релюшку... но ведь зухельофициально не имеет этой ошибки!Они, эээ... "Модемы ZyXEL НЕ ИСПОЛЬЗУЮТ лицензированную ESC-последовательность фирмы Hayes. По словам Гордона Янга (Gordon Yang) онииспользуют переменный алгоритм квантования, который выполняет задачу, покрайней мере, не хуже". Пользуются переменным алгоритмом квантования. Который к потоку байтв порту RS-232 имеет немногим большее отношение, чем к содержанию ксилита и карбамида в жвачке"дирол с вышеупомянутыми компонентами", зато "...по крайней мере не хуже". Это радует - что не хуже.Только не радует, что падает.
         Подвержен IDC 2814BXL/VR. В принципе я знал, что IDC 2814BXL+ - это "вылизанный"до последнего байтика (ну, не считая зависа DSP при определенных условиях - тут уж разработчикипрошивки супервизора ничего не могут поделать) "чипсетный" модем на чипсете Lucent,а его младший брат /VR - "слегка пофиксенная" разновидность "роквеллоида стандартного",с исправлением явных ляпов по части устойчивости связи, но без особой вылизанности.Кстати, мой BXL+ почему-то не вылетает, хотя производитель к клану "крутых" не относится- крутые на чужих чипсетах не делают, крутые свои микросхемы пекут :-)

         И вечный вопрос - что делать?! Неужели смириься?
         Спасибо Роману Кондратьеву, приславшему в процессе написания этой статьи ссылку нанеплохой текстикна эту же тему. Ошибка действительно очень старая, но тогда же было найдено и"лекарство". Добавить в строку инициализации модема s2=255. Это отключит реакциюмодема на +++, и должно предотвратить такие разрывы связи.

         ...И, как я уже говорил, я не понимаю, почему драйверописатели не вписалиэто по умолчанию. Hanlons Razor - "Never attribute to malice that which can be adequately explained by stupidity"?






Архив dibr