Одним из полезнейших инструментов для исследования сетевого трафика является Wireshark. Это кроссплатформенная программа, доступная для MacOS X в частности и для Unix в общем, для Windows. Консольную часть я даже видел на сетевом оборудовании под управлением какого-то проприетарного диалекта Unix. Кроссплатформенность – это огромное достоинство, но для MacOS оно же является и недостатком – для запуска GUI требуется X Window (я его ставлю всегда, но некоторым придётся доставать диски с дистрибутивом MacOS X и его доставлять), и интерфейс программы вызывает отнюдь не самые тёплые эмоции (с внешним видом можно смириться, но есть проблемы с копированием, отработкой клавиатурных комбинаций и прочие мелочи, не дающие нормально работать). Поэтому для MacOS (да и для других Unix) я использую консольную часть, в основном это tshark.
Wireshark даёт много возможностей, перечислю их без перевода:
- Deep inspection of hundreds of protocols, with more being added all the time
- Live capture and offline analysis
- Standard three-pane packet browser
- Multi-platform: Runs on Windows, Linux, OS X, Solaris, FreeBSD, NetBSD, and many others
- Captured network data can be browsed via a GUI, or via the TTY-mode TShark utility
- The most powerful display filters in the industry
- Rich VoIP analysis
- Read/write many different capture file formats: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (compressed and uncompressed), Sniffer® Pro, and NetXray®, Network Instruments Observer, NetScreen snoop, Novell LANalyzer, RADCOM WAN/LAN Analyzer, Shomiti/Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, WildPackets EtherPeek/TokenPeek/AiroPeek, and many others
- Capture files compressed with gzip can be decompressed on the fly
- Live data can be read from Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI, and others (depending on your platform)
- Decryption support for many protocols, including IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, and WPA/WPA2
- Coloring rules can be applied to the packet list for quick, intuitive analysis
- Output can be exported to XML, PostScript®, CSV, or plain text
Например, с помощью Wireshark параноики могут убедиться, что Adium при работе с Google Talk по протоколу Jabber не передаёт пароли в открытом виде и для обмена использует шифрование xmpp-tls, а именно TLSv1 TLS_RSA_WITH_RC4_128_SHA:
Jabber XML Messaging
to='gmail.com'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'
from="gmail.com"
id="..."
version="1.0"
xmlns:stream="http://etherx.jabber.org/streams"
xmlns="jabber:client"
xmlns="urn:ietf:params:xml:ns:xmpp-tls"
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
X-GOOGLE-TOKEN
xmlns='urn:ietf:params:xml:ns:xmpp-tls'
xmlns="urn:ietf:params:xml:ns:xmpp-tls"
Secure Socket Layer
Version: TLS 1.0 (0x0301)
Handshake Protocol: Client Hello
Handshake Type: Client Hello (1)
Version: TLS 1.0 (0x0301)
Handshake Protocol: Server Hello
Handshake Type: Server Hello (2)
Version: TLS 1.0 (0x0301)
Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005)
Compression Method: null (0)
Я планирую написать несколько статей о детальном исследовании трафика, но для начала расскажу, как установить Wireshark (с другой стороны, если Вы добрались до этой фразы, то поставить Wireshark можете без малейшей моей помощи ;-).
Списать установочный образ можно списать с сайта Wireshark. Берём образ “OS X 10.5 (Leopard) Intel.dmg” (40 MB)
Как я сказал выше, нужно обязательно иметь установленную поддержку подсистемы X Window (это XQuartz или же X11.app). Она может уже у вас стоять, но если Wireshark не будет запускаться, то нужно будет поставить X11 с дистрибутива MacOS X.
- Перетаскиваем Wireshark в Applications.
-
Открывем Utility, в нём будут такие файлы:
-
Перетащить содержимое каталога “Command Line” в $HOME/bin, /usr/local/bin, /usr/sbin или же в другой каталог, который есть в $PATH. Я расположил утилиты в /usr/sbin. Этот каталог недоступен через Finder, в него нужно явно перейти, используя меню Finder “Go/Go to Folder…”.
- Для решения вопроса с доступом к устройствам захвата трафика /dev/bpf* перетащить каталог ChmodBPF на алиас StartupItems.
Программа установлена. Это только начало серии. В следующих статьях я приведу примеры захвата и анализа сетевого трафика на Вашем Маке.
Сайт программы: Wireshark.

