Сетевые утилиты UNIX и программа Mac OS X Network Utility

Каждый дистрибутив UNIX поставляется с полным набором сетевых средств, и Mac OS X тоже не является исключением из этого правила. Обычно для пользования сетевыми утилитами UNIX, вам требуется запускать их из командной строки. Однако Apple, в дополнение к этому, объединила ряд наиболее употребительных утилит командной строки в приложение с графическим интерфейсом, называющееся Network Utility.
Network Utility охватывает семь видов управления сетевой активностью, каждому из которых отведена отдельная вкладка окна Network Utility.
Вкладка Info
Ваш компьютер может иметь несколько сетевых интерфейсов. Так, большинство современных компьютеров Мас оснащены портом Ethernet, картой AirPort, а также шиной FireWire, причем все эти интерфейсы пригодны для установления соединения с Интернетом.
На вкладке Info окна Network Utility вы можете собрать статистическую информацию обо всех ваших сетевых интерфейсах, включая аппаратные и Интернет-адреса, модель и серийный номер каждого из интерфейсов, состояние их активности, а также скорость обмена данными, если они подключены. Кроме того, на этой вкладке можно просмотреть количество отправленных и принятых пакетов, а также информацию об ошибках и коллизиях, зарегистрированную ими.
Вкладка Netstat
Вкладка Netstat, как и следует из ее названия, предоставляет сетевую статистику, сгруппированную по следующим категориям:
Таблица маршрутизации. Таблица маршрутизации представляет собой карту известных узлов, через которые ваши пакеты проходят свой маршрут при передаче через Интернет. В чем-то работу с этой таблицей можно сравнить с использованием Google maps для поиска местоположения ваших локальных почтовых отделений.
Статистика. Это подробный список статистической информации по каждому протоколу. Приведенная здесь информация представляет собой более подробный вариант сведений, отображаемых утилитой Activity Monitor и на вкладке Info. Именно здесь вы сможете найти необходимую информацию, например, о количестве входящих пакетов ipsec6, не достигших цели вследствие недостатка памяти.
Многоадресная передача. К этой категории относится информация о протоколах, использующихся для передачи пакетов по множеству адресов. Такие протоколы применяются главным образом в корпоративных сетях, хотя используются они и технологиями mDNS, при соединениях "точка-точка", а также для коммуникаций через Internet Relay Chat. Если вам требуется подробная информация о вашем членстве в группах адресов для многоадресной рассылки или статистика о ваших пакетах, то искать ее нужно именно здесь.
Статусы сокетов. Каждое соединение с Интернетом использует сокет, представляющий собой комбинацию IP-адреса вашего компьютера и порта. Именно здесь следует искать информацию о том, кто и с какой целью устанавливает подключение к вашему компьютеру.
Вкладка AppleTalk
AppleTalk представляет собой устаревшее семейство сетевых протоколов, поддерживаемое Mac OS X для обеспечения обратной совместимости. Ориентируясь на Интернет, Mac OS X в основном полагается на TCP/IP. Тем не менее, если по каким-либо причинам вам потребуется подключиться к сети AppleTalk, Network Utility предоставляет набор средств, необходимых для наблюдения за вашими пакетами и управления ими.
Вкладка Ping
ping представляет собой диагностическое средство, применяющее протокол Internet Control Message Protocol для определения вашей способности достичь указанного IP - адреса, который может принадлежать как компьютеру, так и маршрутизатору. Принцип работы утилиты ping основывается на предположении того, что каждое сетевое устройство, получающее команду ping, реагирует на этот запрос отправкой ответного пакета. К сожалению, ping часто эксплуатируется вредоносным ПО, и именно по этой причине встроенный брандмауэр Mac OS X предоставляет возможность работы в скрытом режиме.
Чтобы воспользоваться утилитой ping через Network Utility, введите IP-адрес или доменное имя. После этого ping выведет список всех отправленных пакетов ping и ответных пакетов, с указанием времени, затраченного ими на передачу через сеть. Диагностическая утилита ping во множестве случаев может быть весьма полезна.
Например, если ваш web-сайт недоступен, но при этом ваш web-хост отвечает на запросы, то на этом основании можно сделать вывод, что ваша программа, обеспечивающая хостинг, прекратила работу, но с самим сервером все в порядке. Если же и сервер не отвечает на запросы ping, то на этом основании можно заключить, что проблема вызвана аппаратными неполадками.
Аналогичным образом, если сервер отвечает на запросы, отправленные по IP-адресу, но не отвечает на запросы, сделанные по доменному имени, можно сделать вывод о проблеме с DNS. Дальнейшее исследование поможет определить причину проблемы. Так, вполне возможно, что срок годности доменного имени истек или же имеет место другая проблема. Всю необходимую информацию можно получить с помощью Network Utility.
Вкладка Lookup
Вкладка Lookup комбинирует информацию, возвращаемую командами nslookup и dig, предназначенными для запросов к DNS. Система распознавания доменных имен преобразует удобочитаемые доменные имена в численные IP-адреса, которые в основном используются компьютерами. Информация, отображаемая на вкладке Lookup, зависит от хоста, однако как минимум вы сможете получить IP-адрес сервера с указанным доменным именем.
Вкладка Traceroute
Утилита traceroute отображает информацию о пути, проходимом пакетами в ходе их передачи через сеть к пункту назначения. Она не только представляет интерес с познавательной точки зрения, но и является полезным диагностическим средством. Если сервер недостижим, другого способа определить, на каком этапе пути происходит потеря пакетов, нет. С помощью утилиты traceroute вы можете выяснить, к кому вам следует обращаться, чтобы наладить передачу трафика.
Как и ping, traceroute часто используется в неблаговидных целях, поэтому некоторые серверы блокируют запросы traceroute. Однако даже в этом случае вы обычно можете определить внешние границы конкретной сети и, таким образом, получить хоть какую-то информацию. По этой причине traceroute сохраняет свое значение, и ее полезно иметь в своем арсенале сетевых средств.
Вкладка Whois
В противоположность утилитам, доступным на вкладке Lookup, которые преобразуют доменные имена в IP-адреса, утилита whois запрашивает доменные реестры с тем, чтобы определить, кому принадлежит то или иное доменное имя. Необходимость в этом может возникнуть по ряду причин.
Если ваш сайт недоступен, но сам сервер доступен по IP-адресу, но не по доменному имени, то одна из возможных причин - истечение срока годности или кража вашего доменного имени. Просмотрев информацию, выводимую утилитой whois, вы сможете проверить свои подозрения. Если проверки, выполненные утилитой whois, говорят о том, что с доменным именем все в порядке, то можно заподозрить, что что-то случилось с самим сервером имен.
Если вы с помощью traceroute обнаружите, что ваши пакеты теряются на конкретном узле, whois позволит вам узнать, кому он принадлежит. Кроме того, это хороший способ проверить, доступно ли конкретное доменное имя, и если нет, то когда истекает его срок действия. Не имеет смысла вкладывать деньги в наблюдение за доменом, если его регистрация не истекает в ближайшие пять лет.
Как и многие другие компоненты Интернета, реестры whois часто используются в неблаговидных целях. Помещение вашего имени, адреса электронной почты, домашнего адреса и телефона в базу данных, где они будут доступны каждому, не слишком благоразумно.
Таким образом, некоторые регистраторы предлагают анонимную регистрацию, благодаря которой они регистрируют для вас домен на свое имя. Таким образом, посторонние не смогут получить о вас сколько-нибудь полезной информации. Как и в случае с любой подобной тактикой, это несколько повышает уровень безопасности, но платить за это приходится некоторой потерей функциональности.
Вкладка Finger
В те далекие времена, когда спам не представлял серьезной проблемы, а Интернет был просто исследовательским проектом военного ведомства, исследователь по имени Лес Эрнест написал программу, которая по почтовому адресу определяла, кому он принадлежит, зарегистрирован ли этот пользователь в данный момент, а также путь к домашнему каталогу этого пользователя.
Когда Интернет стал доступен всем желающим, программа finger быстро нашла себе широкое применение, причем часто злонамеренное. Поэтому протокол со временем вышел из употребления. Сама программа по-прежнему существует и входит в состав многих дистрибутивов UNIX-подобных систем. Правда, теперь она в основном генерирует сообщение Connection refused.
Вкладка Port Scan
Всех Интернет-утилит касается одно общее правило - они, как и любое ПО, не плохи и не хороши сами по себе. Все дело в том, кто и с какими целями их применяет. Из всех средств, доступных в составе Network Utility, ни одно не подпадает под это правило лучше, чем Port Scan.
Фактически, Port Scan проверяет все порты на указанном компьютере и сообщает, какие из них Открыты. Это удобно для атакующих, поскольку позволяет собрать полезную информацию о потенциальной жертве.
С другой стороны, сканирование портов позволяет, например, выяснить, почему не работает тот или иной Интернет-сервис, поскольку закрытие порта заставит "замолчать" любое Интернет-приложение. Таким образом, в некоторых случаях без сканирования портов иногда не обойтись.
Расширенные сетевые возможности Darwin
Как уже говорилось в главах 18 и 19, доступная из приложения Terminal система BSD, на которой основывается Darwin, предоставляет необходимый простор для настоящего хакера. Многие сетевые утилиты, будучи запущены из командной строки, предоставляют существенно больше опций, нежели при их использовании из Network Utility.
Помимо этого, существует множество загадочных и специализированных утилит, а также программ сторонних разработчиков. Обычно эти программы не имеют аналогов с графическим интерфейсом и, соответственно, доступны только через Terminal. При работе из Terminal в вашем распоряжении окажется все, в том числе и простые утилиты наподобие ping.
Таким образом, хотя Network Utility и представляет собой удобную "стартовую площадку" для начинающих, но если вы желаете по-настоящему овладеть всей мощью сетевых возможностей Mac OS X, то пользоваться нужно именно командной строкой. Так что запускайте терминальный сеанс и начинайте читать man-страницы.
Примечание
К числу сетевых утилит Darwin, о которых следует прочесть документацию, относится ifconfig, позволяющая сконфигурировать ваши сетевые интерфейсы аналогично тому, как это делается на панели Network в параметрах предпочтительной настройки системы, а также tcpdump —утилита, позволяющая исследовать содержимое сетевых пакетов и заменяющая собой популярное приложение tcpflow.