• Готовимся анализировать сетевой трафик при помощи Wireshark

    Одним из полезнейших инструментов для исследования сетевого трафика является Wireshark. Это кроссплатформенная программа, доступная для MacOS X в частности и для Unix в общем, для Windows. Консольную часть я даже видел на сетевом оборудовании под управлением какого-то проприетарного диалекта Unix. Кроссплатформенность - это огромное достоинство, но для MacOS оно же является и недостатком - для запуска GUI требуется X Window (я его ставлю всегда, но некоторым придётся доставать диски с дистрибутивом MacOS X и его доставлять), и интерфейс программы вызывает отнюдь не самые тёплые эмоции (с внешним видом можно смириться, но есть проблемы с копированием, отработкой клавиатурных комбинаций и прочие мелочи, не дающие нормально работать). Поэтому для MacOS (да и для других Unix) я использую консольную часть, в основном это tshark.

    Read on →

  • Требуется менеджер окон

    Вчера, когда я шёл домой через подземный переход, мне в глаза бросилось странное объявление - я даже вернулся, пройдя вперёд метров 20. "Менеджер окон"... Вот это да, - подумал я, - неужели уже системный софт начали продвигать расклейкой бумажных объявлений, или у меня уже начались галлюцинации на почве компьютеров? Но нет, с психикой у меня оказалось всё в порядке - слова "по продаже" были напечатаны мелким шрифтом:

    Остаток пути я размышлял об оконных менеджерах Gnome, KDE, Enlightenment в сравнении с Apple. А потом вспомнил о полезной программе "SizeUp", которую недавно купил, устав от ручной максимизации на весь экран окон в MacOS. Учитывая функциональность, её также можно назвать "менеджером окон". Используя настраиваемые клавиатурные комбинации, можно всячески менять раположение и размер активного окна:

    Read on →

  • Отладка файловой активности процессов с помощью DTrace, или как написать деинсталлятор

    Предупреждение: я не претендую на полноту изложения и с точки зрения опытного системного программиста под MacOS X часть статьи может выглядеть бредом :-) Но мой метод работает, и его можно рассматривать как взгляд системного администратора на MacOS X.

    Недавно мне попалась на глаза новость об обновлении деинсталлятора "Yank - Your Mac's Uninstaller". Он отрабатывает самые сложные случаи - когда программа устанавливается не только перетаскиванием в Applications, но и с помощью инсталлятора, когда достаточно много файлов записывается в разные каталоги. Краткое описание программы есть на DeepApple. Yank следит за файловой активностью инсталлятора и записывает в отдельный файл перечень устанавливаемых файлов, а далее, используя этот файл, может всё чисто деинсталлировать. Также есть онлайн-сервис, который содержит файлы для удаления более 150 программ, т.е. можно удалять программы, которые были установлены до начала использования Yank.

    Yank - это пример программы, которая выстроена вокруг нескольких команд в shell. Я хочу продемонстрировать принцип, по которому она работает, а заодно продемонстрировать очень мощную технику отладки - DTrace.

    Read on →

  • Творческое применение Dropbox для списывания торрентов

    Бывает, что прочитаешь статью и говоришь себе: "Вау! Какая идея! Мне этого очень не хватало". Как раз такую статью я прочитал вчера на Lifehacker.

    Я периодически качаю торренты (да, таким образом я списываю дистрибутивы Linux ;-). Но удобнее и дешевле всего это делать с машины, подключенного в Интернет по безлимитному тарифу (я использую два подключения в Интернет - один безлимитный, другой с оплатой по трафику, так сложилось). У меня есть слабый компьютер, находящийся где-то в районе кладовки, на нём стоит Linux, и там запущен консольный клиент rtorrent, наблюдающий за появлением torrent-файлов в каталоге watch, и автоматически их закачивающий. Под Mac то же самое может делать Transmission (самая нижняя опция "Auto add: watch for torrent files in..."):

    Раньше процесс добавления торрента был мучителен - сначала на ноутбуке или на рабочей станции я списывал torrent-файл, а дальше через scp (бывало, что через два промежуточных хоста) копировал его на машину с rtorrent. Долго и неудобно.

    И вот вчерашняя статья открыла мне глаза на элегантное решение. Скажу одно-единственное слово: "Dropbox". И всё становится понятным.

    Создаём на сервере каталог ~/Dropbox/Private/Watch (конечно же, Dropbox должен быть установлен и настроен), настраиваем rtorrent или Transmission на автоподхватывание из этого каталога файлов, Dropbox синхронизируется на всех компьютерах. И теперь в этот каталог можно забросить torrent-файл на любом рабочем месте, и torrent начнёт закачиваться. Приходим домой, а файлы скачаны.

    Можно пойти ещё немного дальше. В описанном сценарии нужно ложить файлы вручную. А можно поставить Hazel, и в нём настроить автоперенос torrent-файлов из каталога ~/Downloads (куда списываются все файлы из браузера) в наш ~/Dropbox/Private/Watch.

    Если вы ещё не используете Dropbox, вы просто обязаны его посмотреть, базово этот сервис бесплатен. А если будете регистрироваться, то можете сделать мне приятное - зарегистрируйтесь по моей реферальной ссылке, и я получу лишние 250 MB бонуса :-)


  • Очередное созерцание рабочего места

    К чему я привёл эту фотографию? Исключительно для того, чтобы показать, что поворот монитора на 90 градусов даёт ни с чем не сравнимое удобство чтения документации, электронных книг и работы с браузером.
    Сегодня сделал ещё две фотографии. Рабочее место у меня огранизовано буквой "Г". Вот стационарное место:

    Как вы уже заметили, на нём девственно чисто, ни бумаг, ни органайзеров, ни подобного хлама. Процитирую "The Big Bang Theory": "Мой знак зодиака - Дева. Теперь вы знаете обо мне гораздо больше, чем должны." ;-) Ещё добавлю, что моя работа связана с системным и сетевым администрированием.
    Два монитора подключены к одному системному блоку. Операционная система - Ubuntu 9.04. На левом мониторе - консоль (для меня программа screen - must have), и в фоне - браузер. На втором - Windows XP под VirtualBox (мне нужен для работы Microsoft Office, OpenOffice я недолюбливаю по некоторым причинам, о которых не буду здесь говорить, и ещё под Unix нет поддержки Exchange 2007).
    Второе рабочее место находится сбоку, я всегда могу развернуться. Все три монитора, включая подключённый к ноутбуку - обычные 19" формата 4x3.

    Здесь ноутбук и развёрнутый на 90 градусов монитор для работы с документацией и прочим (очень часто я читаю специализированную литературу с Oreilly SafariBooks Online).
    По поводу замечания @hitech о том, что длительные повороты при чтении с бокового экрана могут негативно сказаться на осанке - возможно это так, нужно поискать рекомендации, но за день работы в такой конфигурации у меня не возникает дискомфорта, потому что я всего лишь слегка поворачиваю голову, спина остаётся неподвижной.
    Интересно было бы посмотреть и ваши рабочие места - с удовольствием поставлю ссылки на ваши блоги с фотографиями.


  • Какую полосу пропускания используют iChat и Skype?

    После того, как я начал переходить на iChat, меня заинтересовало, какая полоса используется тем же Skype и iChat (с разными ограничениями).

    Для слежения за трафиком я использую утилиту "Net Monitor", ещё для этой цели можно применить iStat Menus, но она менее удобна для этой цели.

    Похоже, что Skype при установке соединения проверяет доступную полосу, и, если это возможно, устанавливает видеочат в режиме 640x480. По крайней мере у меня он так работает без прописывания твиков в файле config.xml.

    Skype в режиме видео hires использует 64 KBps (512 Kbps) на вход и на выход:

    Skype в режиме разговора без видео занимает 42 Kbps:

    В iChat под Snow Leopard можно выставлять ограничение по полосе пропускания (Preferences..., Audio/Video, Bandwidth Limit), причём используемая полоса действительно будет примерно около ограничения:

    В режиме без ограничения и с ограничением 2 Mbps iChat использует до 1792 Kbps:

    При ограничении 1 Mbps:

    При ограничении 500 Kbps:

    При ограничении 200 Kbps:

    При ограничении 100 Kbps:

    Особых предпочтений у меня нет, и Skype, и iChat работают хорошо. Но при наличии широкого канала стоит использовать iChat без ограничения полосы. Ещё хочу заметить, что обратная акустическая связь в iChat (в отличие от Skype) очень хорошо гасится. Но огромный минус iChat как средства для видеосвязи в том, что его используют очень немногие люди из моего списка контактов. Поэтому с избранными я общаюсь по iChat с максимальными настройками качества, а с остальными - через Skype, благо его используют очень многие.


  • Проблемы со списыванием видео-подкаста Apple Keynote 090909 из некоторых регионов

    Сегодня захотел посмотреть видео Apple Special Event "It’s Only Rock and Roll", доступное в iTunes в виде Apple Keynote. И был очень удивлён - несмотря на то, что я подписан на этот подкаст, новый выпуск не списан. Запустил анализатор трафика tshark из пакета Wireshark, вытянул оттуда адрес ролика, но при списывании напрямую размер оказался 1.6 MB - файл битый.

    Днём раньше @fununkle мне написал о том, что списывание выпуска закрыто с российских адресов, но я не придал этому значение. Оказалось, что зря. Проблема оказалась немного глобальнее, о чём говорит дискуссия в форуме на сайте Apple "Error downloading last Apple Keynotes?". Не могут списать выпуск из Турции, Малайзии, России, Чехии, Италии. Но при этом я испытал списывание из Германии, а другие - с адресов USA, и подкаст списывается без проблем. Налицо сбой на серверах компании Akamai, чьими услугами пользуется Apple для доставки контента, отвечающих за определённые регионы.

    Надеюсь, что Apple решит эту проблему, а пока можно списать видео трансляции либо по ссылкам, приводимым в обсуждении.

    Обновление от 18.09.2009. Наконец-то проблема решена.


  • Сделаем Safari немного безопаснее, или отключение автозапуска списываемых файлов

    Не секрет, что разработчики malware, троянов и вирусов начинают обращать своё внимание на Mac'и, и утверждение о том, что под Mac "такого нет", сродни широко известной фразе о сексе в СССР.


    А теперь вспомним поведение Safari "по умолчанию" - спишите zip-файл, и этот zip-файл будет без запроса разархивирован; спишите образ dmg - и этот образ будет подмонтирован и без вашего спроса будет запущен инсталлятор. Согласитесь, что такое поведение опасно, особенно если попасть на подставной сайт или списать файл из не заслуживающего доверия источника.


    Для того, чтобы запретить запуск некоторых типов списываемых файлов, нужно выключить опцию "Open 'safe' files after downloading":




  • Как при доле везения и с предварительной подготовкой получить бесплатный доступ в Интернет через платный WiFi

    Предупреждение

    Для реализации методики нужно иметь свой выделенный или виртуальный сервер в Интернет, web-хостинг не подходит. У кого этого сервера нет, может продолжить читать только ради теоретического интереса. Также нужны хотя бы базовые знания и навыки по системному администрированию.

    Статья написана с целью показать узкие места в защите коммерческих точек доступа WiFi, я не пропагандирую взлом, но хочу показать, что если немного подумать, то можно найти интересные методы решения любой задачи.

    Read on →

  • Отключение нотификаций о смене статуса в iChat/Chax

    С покупкой подписки MobileMe Family и заодно с подачи Умпутуна решил попробовать от Adium переключиться на iChat. Jabber он поддерживает, что даёт нормальный доступ к контактам GTalk. Друзья-ретрограды, не ушедшие из ICQ, доступны через шлюз AIM-ICQ. Особая же прелесть для меня - поддержка в iChat/Snow Leopard улучшенного видеочата c разрешением 640x480 (Skype тоже поддерживает, но с твиками, и это отдельная тема), причём на полосе 300 Kbps. А от скрин-шаринга между учётными записями MobileMe я в полном восторге.

    Конечно же, для удобства пользования iChat я поставил Chax (поддержка Snow Leopard есть пока только в альфа-версии). Он даёт много полезных возможностей, без которых пользоваться iChat затруднительно (привожу только те, которые полезны мне):

    • Единый контакт-лист для всех учётных записей;
    • Нотификации Growl;
    • Автоматический приём чатов (текстовых, голосовых и видео) - без этого постоянно приходится жать "Accept". Причём можно настраивать, от кого автоматически принимать, а от кого ждать подтверждение.

    Но вот как раз нотификации Growl мне не давали нормально жить. Каждая смена статуса, login/logout выдавали уведомление в самый неподходящий момент. Почему-то мне показалось сначала, что эти нотификации делает сам Chax, а в его настройках ничего не нашёл.

    Read on →