QuickStart для Wireshark

Written by elwood

wireshark-logo

Меня всегда пугал этот инструмент. Пугал тем, что я НИЧЕГО не понимал в том, что он выводит. Я не понимал, как настраивать фильтры, не понимал, что вообще происходит и как это использовать. Мешал высокий порог вхождения. Когда-то такими же сложными для меня были Eclipse, IntelliJ IDEA, mercurial, maven ну и так далее. И чтобы преодолеть этот порог, обычно нужен хороший QuickStart – пятиминутный гайд, как включиться в работу. Без него всё идёт туго и невесело. Вот такой гайд я и хочу предложить.

Итак, задача наша такая – посмотреть TCP-пакеты, идущие “на” или “с” заданного IP-адреса.

1. Включаем wireshark, выбираем сетевой интерфейс, который будем мониторить. Можно выбрать несколько интерфейсов. Выбираем тот, который используется для нашего сетевого взаимодействия. То есть например у вас программа обращается к серверу, который расположен в интернете, и несколько интерфейсов: один Ethernet, подключенный к интернету, другой – Wi-Fi для взаимодействия в рамках вашей локальной сети. Нас в этой ситуации будет интересовать Ethernet-адаптер. Его и выбираем. Нажимаем Start.

2. Пошли пакетики, их очень много, и нам нужно задать правила для фильтрации. Так как нас интересует TCP протокол, то мы можем использовать например следующее правило:

tcp && (tcp.srcport == 80 || tcp.dstport == 80)

Первое условие отфильтровывает tcp-пакеты, второе – применяет дополнительные правила для порта.

Если нужно наложить условие на IP адреса, то это можно сделать так: ip.src_host == 87.31.220.35

3. Всё работает ! Достраивать правила для фильтрации несложно, поскольку есть автодополнение.

4. Если вы хотите перехватывать loopback-траффик (который идет через localhost), то тут, к сожалению, есть проблема. Дело в том, что этот траффик не доходит до сетевых адаптеров, и WireShark не в состоянии его перехватить. http://stackoverflow.com/questions/5847168/wireshark-localhost-traffic-capture Вот тут есть 2 решения этой проблемы: в первом случае предлагается установить Microsoft Loopback Adapter и натравить на него WireShark, во втором случае предлагается пошаманить с маршрутизацией. Судя по отзывам, оба способа работают, так что всё ок 🙂