23.08.2013

Wireshark для самых маленьких

Меня всегда пугал этот инструмент. Пугал тем, что я НИЧЕГО не понимал в том, что он выводит. Я не понимал, как настраивать фильтры, не понимал, что вообще происходит и как это использовать. Мешал высокий порог вхождения. Когда-то такими же сложными для меня были 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, во втором случае предлагается пошаманить с маршрутизацией. Судя по отзывам, оба способа работают, так что всё ок :)

Отсюда. Блоггеры, вы уж извините, что я копирую ваши статьи. Раньше просто ссылки оставлял, но сайты-оригиналы пропадают, переносятся, статьи удаляются, и мои ссылки остаются просто ссылками без смысловой нагрузки. Поэтому и копипижжю.

2 комментария:

  1. В вайршарке удобно смотреть логи снятые tcpdump'ом в linux.
    $ tcpdump -pni eth0 -s0 -vvv -w /tmp/log.cap host X.X.X.X and port XXXX

    ОтветитьУдалить
  2. это конечно всё хорошо, но мало чего описано именно на уже полученный журнал пакетов. Расписали бы как дальше смотреть и что видит пользователь. К примеру пакет такой-то описывает это и т.д. Этот пакет показывает проблемы с сетью в данном направлении. Вот это и есть большой проблемой начинающих пользоваться вайршерком.

    ОтветитьУдалить