Библиотека сайта rus-linux.net
Подробнее о фильтрах в Wireshark
Оригинал: More Fun with Wireshark FiltersАвтор: Riccardo Capecchi
Дата публикации: 22 марта 2011 г.
Перевод: А.Панин
Дата публикации перевода: 29 ноября 2012 г.
В этой статье мы рассмотрим процесс применения BPF-фильтров в Wireshark для показа подробностей функционирования сессии HTTP, сессии e-mail, а также рассмотрим процесс мониторинга посетителей выбранного сайта из локальной сети. В качестве заключения я приведу список особо полезных выражений фильтров для использования в Wireshark.
Помимо примера с FTP, описанного в предыдущей части статьи, существует еще один классический пример использования Wireshark - исследование HTTP-сессии. Как и раньше, запустите Wireshark и начните захват трафика с интерфейса, направленного во внешнюю сеть. В настоящее время большая часть HTTP-трафика подвергается сжатию для повышения скорости обмена информацией, поэтому по умолчанию Wireshark производит декомпрессию полезной нагрузки HTTP-пакетов. Вы можете выбрать пункты меню "Edit->Preferences->Protocols->HTTP
" и убедиться, что параметр "Uncompress entity bodies
" выбран.
Во время захвата пакетов, установите фильтр для отображения исключительно HTTP-трафика, введя http
в качестве выражения фильтрации. Каждая веб-страница, которую посещает любой пользователь из вашей сети, будет генерировать вид трафика, который вы будете захватывать - следует ожидать большое количество информации. Возможно, вас интересует вас интересует определенный вид информации или определенный пользователь. Для этого в главном окне, где представлены все принятые пакеты, выберите http-запрос и с помощью правой кнопки мыши выберите пункт меню "Follow TCP Stream
". Wireshark откроет новое окно, содержащее полную реконструкцию HTTP-сессии в хронологическом порядке.
Вы также можете отделить запросы к определенному сайту, например, к Facebook - для того, чтобы увидеть, с каких IP-адресов происходили запросы, выражение в поле фильтра должно быть следующим: http.request.uri contains facebook
.
arp
:
ping target.com arp -a
arp
, необходимо найти IP-адрес, полученный в результате выполнения команды ping
. После того, как у вас в распоряжении будет MAC-адрес, скажем, "AA:BB:CC:DD:EE:FF
" - введите выражение в поле фильтра:
eth.addr == AA:BB:CC:DD:EE:FF
ip.addr == 192.168.0.1
Нажмите "Apply
" и вы увидите только входящий и исходящий трафик для выбранного IP- или MAC-адреса. В случае применения параметра "ip
" отображается весь трафик, относящийся к межсетевому протоколу (Internet Protocol), что подходит в 99% случаев исследования сетей.
ip.addr
", вы можете использовать параметр "host
" следующим образом:
host 192.168.0.1
После установки такого фильтра, Wireshark захватывает весь трафик, идущий к узлу и от узла с адресом 192.168.0.1 независимо от типа.
pop3
, ftp
, http
или messenger
. Введите выражение в поле фильтра:
ip.addr == 192.168.0.1 and (http or ftp or messenger or pop)
Это выражение сообщает о том, что следует показывать только трафик, генерируемый или направленный к узлу с IP-адресом 192.168.0.1 и отображать только пакеты, относящиеся к протоколам ftp
, pop
или messenger
.
ip.addr == 192.168.0 and (http or ftp or messenger or pop)
Наиболее часто используемые фильтры для Wireshark
ip.addr == 192.168.0.1
- Отображать трафик, передающийся относительно узла 192.168.0.1 в обоих направлениях.tcp.port == 80
- Отображать весь трафик с исходным или целевым портом 80.ip.src == 192.168.0.1 and ip.dst == 10.100.1.1
- Отображать весь трафик, генерируемый узлом 192.168.0.1 и направленный на узел 10.100.1.1ftp
- Отображать трафик, относящийся к протоколу FTPhttp
- Отображать трафик, относящийся к протоколу HTTPdns
- Отображать трафик, относящийся к протоколу DNShttp.request.uri contains string
- Отображать HTTP-трафик, в том случае, когда URL содержит строку "string".
Технология BPF-фильтров делает Wireshark мощным и гибким инструментом, но в этой статье перечислена лишь малая часть того, что можно сделать при его помощи. Понадобится еще одна или даже несколько статей для того, чтобы описать такие вещи, как при помощи Wireshark вы можете проверить возможность атак отказа в обслуживании на вашу сеть или проанализировать качество связи для работы VOIP-системы на базе SIP-протокола.