Программа Wireshark станет отличным помощником для тех пользователей, кому требуется произвести детальный анализ сетевых пакетов, - трафика компьютерной сети. Сниффер легко взаимодействует с такими распространенными протоколами, как netbios, fddi, nntp, icq, x25, dns, irc, nfs, http, tcp, ipv6
и многими другими. Позволяет при анализе разделять сетевой пакет на соответствующие составляющие, согласно определенному протоколу, и выдавать на экран удобочитаемую информацию в числовом виде.
поддерживает огромное число разнообразных форматов передаваемой и получаемой информации, способен открывать файлы, которые находятся в пользовании других утилит. Принцип работы заключается в том, что сетевая карточка переходит в широковещательный режим и начинается перехват сетевых пакетов, которые находятся в зоне её видимости. Умеет работать как программа для перехвата пакетов wifi.
Запустив wireshark, Вы увидите на экране главное меню программы, которое расположено в верхней части окна. С помощью него и происходит управление утилитой. Если вам нужно загрузить файлы, которые хранят данные о пакетах, пойманных в предыдущих сессиях, а также сохранить данные о других пакетах, добытые в новом сеансе, то для этого вам потребуется вкладка "File".
Чтобы запустить функцию захвата сетевых пакетов, пользователь должен кликнуть на иконку "Capture", затем отыскать специальный раздел меню под названием "Interfaces", с помощью которого можно открыть отдельное окно "Wireshark Capture Interfaces", где должны будут показаны все доступные сетевые интерфейсы, через которые и будет произведен захват нужных пакетов данных. В том случае, когда программа (сниффер) способна обнаружить только один подходящий интерфейс, она выдаст на экран всю важную информацию о нем.
Результаты работы утилиты являются прямым доказательством того, что, даже если пользователи самостоятельно не занимаются (в данный момент времени) передачей каких-либо данных, в сети не прекращается обмен информацией. Ведь принцип работы локальной сети заключается в том, что для поддержания её в рабочем режиме, каждый её элемент (компьютер, коммутатор и другие устройства) непрерывно обмениваются друг с другом служебной информацией, поэтому для перехвата таких пакетов и предназначены подобные сетевые инструменты.
Имеется версия и для Linux систем.
Следует отметить, что сниффер крайне полезен для сетевых администраторов и службы компьютерной безопасности, ведь утилита позволяет определить потенциально незащищённые узлы сети – вероятные участки, которые могут быть атакованы хакерами.
Помимо своего прямого предназначения Wireshark может использоваться как средство для мониторинга и дальнейшего анализа сетевого трафика с целью организации атаки на незащищённые участки сети, ведь перехваченный трафик можно использовать для достижения различных целей.
Сниффер не всегда является вредоносным. В действительности, данный тип ПО часто используется для анализа сетевого трафика в целях обнаружения и устранения отклонений и обеспечения бесперебойной работы. Однако сниффер может быть использован с недобрым умыслом. Снифферы анализируют все, что через них проходит, включая незашифрованные пароли и учетные данные, поэтому хакеры, имеющие доступ к снифферу, могут завладеть личной информацией пользователей. Кроме того, сниффер может быть установлен на любом компьютере, подключенном к локальной сети, без необходимости его обязательной установки на самом устройстве - иными словами, его невозможно обнаружить на протяжении всего времени подключения.
Хакеры используют снифферы для кражи ценных данных путем отслеживания сетевой активности и сбора персональной информации о пользователях. Как правило, злоумышленники наиболее заинтересованы в паролях и учетных данных пользователей, чтобы с их применением получить доступ к онлайн-банкингу и учетным записям онлайн-магазинов. Чаще всего хакеры устанавливают снифферы в местах распространения незащищенного подключения Wi-Fi, например, в кафе, отелях и аэропортах. Снифферы могут маскироваться под подключенное к сети устройство в рамках так называемой спуфинг атаки с целью похищения ценных данных.
Несанкционированные снифферы крайне сложно распознать виртуально, так как они могут быть установлены практически где угодно, представляя собой весьма серьезную угрозу сетевой безопасности. Обычные пользователи часто не имеют ни малейшего шанса распознать отслеживание своего сетевого трафика сниффером. Теоретически возможно установить собственный сниффер, который бы отслеживал весь трафик DNS на наличие иных снифферов, однако для рядового пользователя гораздо проще установить анти-сниффинговое ПО или антивирусное решение, включающее защиту сетевой активности, чтобы пресечь любое несанкционированное вторжение или скрыть свои сетевые действия.
Вы можете воспользоваться высокоэффективным антивирусом для обнаружения и отстранения всех типов вредоносного ПО, установленного на ваш компьютер для сниффинга. Однако для полного удаления сниффера с компьютера необходимо удалить абсолютно все папки и файлы, имеющие к нему отношение. Так же настоятельно рекомендуется использовать антивирус со сканером сети, который тщательно проверит локальную сеть на наличие уязвимостей и проинструктирует относительно дальнейших действий в случае их обнаружения.
Первое, что пользователь может сделать, чтобы защититься от снифферов - воспользоваться качественным антивирусом, как бесплатный антивирус Avast, который способен досконально просканировать всю сеть на наличие проблем с безопасностью. Дополнительным и высокоэффективным способом защиты информации от сниффинга является шифрование всех отправляемых и принимаемых данных онлайн, включая письма эл. почты. Avast SecureLine позволяет надежно зашифровать весь обмен данными и совершать действия онлайн в условиях 100% анонимности.
Для Win2000 - Windows 10 (2019) (Server, x86, x64). Последняя версия: 4.4.17 build 424 . 24 апреля 2019.
Что представляет собой serial port sniffer – это программа, которая наблюдает за передачей данных другой программой и как бы "вклинивается" между последовательным интерфейсом и изучаемой программой. Перехватчик данных последовательного порта позволяет изучать особенности работы Вашей или другой программы, работающей в Windows. Если изучаемая программа разработана Вами, то перехватчик данных последовательного порта превращается в отладчик RS232 интерфейса, который позволит вам отследить ошибки, возникающие во время обмена данными. Режим мониторинга данных последовательного порта в нашей программе называется "Наблюдатель" и вызывается из меню "Режим" в главном окне программы.
Переключение в режим перехватчика данных последовательного порта должно производиться ДО запуска исследуемой программы. Если не сделать этого, то в последствии serial port sniffer уже не сможет получить доступ к последовательному порту и соответственно не сможет выполнять свои функции.
В режиме перехватчика данных последовательного порта программа отслеживает весь трафик и передаваемый, и принимаемый. Отсылаемые данные при этом могут подсвечиваться на экране программы. Данную возможность можно включить в опциях на закладке "Прочее / Вид данных ".
Наш перехватчик данных последовательного порта позволяет наблюдать за передачей данных на экране в произвольном виде (шестнадцатеричном, десятичном или любом другом). Это позволяет, не покидая перехватчик данных последовательного порта находить повторяющиеся последовательности блоков данных, и выявлять закономерности прохождения данных.
Другим важным свойством нашего перехватчика данных последовательного порта является возможность сохранять отправляемые и принимаемые данные в файл для последующего анализа. Режим формирования файлов перехватчик данных последовательного порта гибко настраивается, что позволяет экономить время при анализе большого объема данных записанном программой.
Нашу программу очень легко превратить в мощный и гибко настраиваемый наблюдатель данных. Для этого достаточно скачать и установить программу. Затем запустите программу. Выберите в главном меню "Режим" режим "Наблюдатель". Затем выберите из списка последовательный порт и нажмите кнопку "Открыть". Не забудьте, что это нужно сделать до запуска исследуемой программы. И все в Ваших руках универсальный инструмент для решения широкого круга задач.
По сравнению с другими serial port sniffer Advanced Serial Port Monitor обладает несколькими уникальными возможностями:
Все возможности перехватчика данных последовательного порта реализованы в нашей программе Advanced Serial Port Monitor . Скачайте пробную версию сейчас это быстро и бесплатно!
Анализаторы сетевых пакетов, или снифферы, первоначально были разработаны как средство решения сетевых проблем. Они умеют перехватывать, интерпретировать и сохранять для последующего анализа пакеты, передаваемые по сети. С одной стороны, это позволяет системным администраторам и инженерам службы технической поддержки наблюдать за тем, как данные передаются по сети, диагностировать и устранять возникающие проблемы. В этом смысле пакетные снифферы представляют собой мощный инструмент диагностики сетевых проблем. С другой стороны, подобно многим другим мощным средствам, изначально предназначавшимся для администрирования, с течением времени снифферы стали применяться абсолютно для других целей. Действительно, сниффер в руках злоумышленника представляет собой довольно опасное средство и может использоваться для завладения паролями и другой конфиденциальной информацией. Однако не стоит думать, что снифферы это некий магический инструмент, посредством которого любой хакер сможет легко просматривать конфиденциальную информацию, передаваемую по сети. И прежде чем доказать, что опасность, исходящая от снифферов, не столь велика, как нередко преподносят, рассмотрим более детально принципы их функционирования.
Дальнейшем в рамках данной статьи мы будем рассматривать только программные снифферы, предназначенные для сетей Ethernet. Сниффер это программа, которая работает на уровне сетевого адаптера NIC (Network Interface Card) (канальный уровень) и скрытым образом перехватывает весь трафик. Поскольку снифферы работают на канальном уровне модели OSI, они не должны играть по правилам протоколов более высокого уровня. Снифферы обходят механизмы фильтрации (адреса, порты и т.д.), которые драйверы Ethernet и стек TCP/IP используют для интерпретации данных. Пакетные снифферы захватывают из провода все, что по нему приходит. Снифферы могут сохранять кадры в двоичном формате и позже расшифровывать их, чтобы раскрыть информацию более высокого уровня, спрятанную внутри (рис. 1).
Для того чтобы сниффер мог перехватывать все пакеты, проходящие через сетевой адаптер, драйвер сетевого адаптера должен поддерживать режим функционирования promiscuous mode (беспорядочный режим). Именно в этом режиме работы сетевого адаптера сниффер способен перехватывать все пакеты. Данный режим работы сетевого адаптера автоматически активизируется при запуске сниффера или устанавливается вручную соответствующими настройками сниффера.
Весь перехваченный трафик передается декодеру пакетов, который идентифицирует и расщепляет пакеты по соответствующим уровням иерархии. В зависимости от возможностей конкретного сниффера представленная информация о пакетах может впоследствии дополнительно анализироваться и отфильтровываться.
аибольшую опасность снифферы представляли в те времена, когда информация передавалась по сети в открытом виде (без шифрования), а локальные сети строились на основе концентраторов (хабов). Однако эти времена безвозвратно ушли, и в настоящее время использование снифферов для получения доступа к конфиденциальной информации задача отнюдь не из простых.
Дело в том, что при построении локальных сетей на основе концентраторов существует некая общая среда передачи данных (сетевой кабель) и все узлы сети обмениваются пакетами, конкурируя за доступ к этой среде (рис. 2), причем пакет, посылаемый одним узлом сети, передается на все порты концентратора и этот пакет прослушивают все остальные узлы сети, но принимает его только тот узел, которому он адресован. При этом если на одном из узлов сети установлен пакетный сниффер, то он может перехватывать все сетевые пакеты, относящиеся к данному сегменту сети (сети, образованной концентратором).
Коммутаторы являются более интеллектуальными устройствами, чем широковещательные концентраторы, и изолируют сетевой трафик. Коммутатор знает адреса устройств, подключенных к каждому порту, и передает пакеты только между нужными портами. Это позволяет разгрузить другие порты, не передавая на них каждый пакет, как это делает концентратор. Таким образом, посланный неким узлом сети пакет передается только на тот порт коммутатора, к которому подключен получатель пакета, а все остальные узлы сети не имеют возможности обнаружить данный пакет (рис. 3).
Поэтому если сеть построена на основе коммутатора, то сниффер, установленный на одном из компьютеров сети, способен перехватывать только те пакеты, которыми обменивается данный компьютер с другими узлами сети. В результате, чтобы иметь возможность перехватывать пакеты, которыми интересующий злоумышленника компьютер или сервер обменивается с остальными узлами сети, необходимо установить сниффер именно на этом компьютере (сервере), что на самом деле не так-то просто. Правда, следует иметь в виду, что некоторые пакетные снифферы запускаются из командной строки и могут не иметь графического интерфейса. Такие снифферы, в принципе, можно устанавливать и запускать удаленно и незаметно для пользователя.
Кроме того, необходимо также иметь в виду, что, хотя коммутаторы изолируют сетевой трафик, все управляемые коммутаторы имеют функцию перенаправления или зеркалирования портов. То есть порт коммутатора можно настроить таким образом, чтобы на него дублировались все пакеты, приходящие на другие порты коммутатора. Если в этом случае к такому порту подключен компьютер с пакетным сниффером, то он может перехватывать все пакеты, которыми обмениваются компьютеры в данном сетевом сегменте. Однако, как правило, возможность конфигурирования коммутатора доступна только сетевому администратору. Это, конечно, не означает, что он не может быть злоумышленником, но у сетевого администратора существует множество других способов контролировать всех пользователей локальной сети, и вряд ли он будет следить за вами столь изощренным способом.
Другая причина, по которой снифферы перестали быть настолько опасными, как раньше, заключается в том, что в настоящее время наиболее важные данные передаются в зашифрованном виде. Открытые, незашифрованные службы быстро исчезают из Интернета. К примеру, при посещении web-сайтов все чаще используется протокол SSL (Secure Sockets Layer); вместо открытого FTP используется SFTP (Secure FTP), а для других служб, которые не применяют шифрование по умолчанию, все чаще используются виртуальные частные сети (VPN).
Итак, те, кто беспокоится о возможности злонамеренного применения пакетных снифферов, должны иметь в виду следующее. Во-первых, чтобы представлять серьезную угрозу для вашей сети, снифферы должны находиться внутри самой сети. Во-вторых, сегодняшние стандарты шифрования чрезвычайно затрудняют процесс перехвата конфиденциальной информации. Поэтому в настоящее время пакетные снифферы постепенно утрачивают свою актуальность в качестве инструментов хакеров, но в то же время остаются действенным и мощным средством для диагностирования сетей. Более того, снифферы могут с успехом использоваться не только для диагностики и локализации сетевых проблем, но и для аудита сетевой безопасности. В частности, применение пакетных анализаторов позволяет обнаружить несанкционированный трафик, обнаружить и идентифицировать несанкционированное программное обеспечение, идентифицировать неиспользуемые протоколы для удаления их из сети, осуществлять генерацию трафика для испытания на вторжение (penetration test) с целью проверки системы защиты, работать с системами обнаружения вторжений (Intrusion Detection System, IDS).
се программные снифферы можно условно разделить на две категории: снифферы, поддерживающие запуск из командной строки, и снифферы, имеющие графический интерфейс. При этом отметим, что существуют снифферы, которые объединяют в себе обе эти возможности. Кроме того, снифферы отличаются друг от друга протоколами, которые они поддерживают, глубиной анализа перехваченных пакетов, возможностями по настройке фильтров, а также возможностью совместимости с другими программами.
Обычно окно любого сниффера с графическим интерфейсом состоит их трех областей. В первой из них отображаются итоговые данные перехваченных пакетов. Обычно в этой области отображается минимум полей, а именно: время перехвата пакета; IP-адреса отправителя и получателя пакета; MAC-адреса отправителя и получателя пакета, исходные и целевые адреса портов; тип протокола (сетевой, транспортный или прикладного уровня); некоторая суммарная информация о перехваченных данных. Во второй области выводится статистическая информация об отдельном выбранном пакете, и, наконец, в третьей области пакет представлен в шестнадцатеричном виде или в символьной форме ASCII.
Практически все пакетные снифферы позволяют производить анализ декодированных пакетов (именно поэтому пакетные снифферы также называют пакетными анализаторами, или протокольными анализаторами). Сниффер распределяет перехваченные пакеты по уровням и протоколам. Некоторые анализаторы пакетов способны распознавать протокол и отображать перехваченную информацию. Этот тип информации обычно отображается во второй области окна сниффера. К примеру, любой сниффер способен распознавать протокол TCP, а продвинутые снифферы умеют определять, каким приложением порожден данный трафик. Большинство анализаторов протоколов распознают свыше 500 различных протоколов и умеют описывать и декодировать их по именам. Чем больше информации в состоянии декодировать и представить на экране сниффер, тем меньше придется декодировать вручную.
Одна из проблем, с которой могут сталкиваться анализаторы пакетов, невозможность корректной идентификации протокола, использующего порт, отличный от порта по умолчанию. К примеру, с целью повышения безопасности некоторые известные приложения могут настраиваться на применение портов, отличных от портов по умолчанию. Так, вместо традиционного порта 80, зарезервированного для web-сервера, данный сервер можно принудительно перенастроить на порт 8088 или на любой другой. Некоторые анализаторы пакетов в подобной ситуации не способны корректно определить протокол и отображают лишь информацию о протоколе нижнего уровня (TCP или UDP).
Существуют программные снифферы, к которым в качестве плагинов или встроенных модулей прилагаются программные аналитические модули, позволяющие создавать отчеты с полезной аналитической информацией о перехваченном трафике.
Другая характерная черта большинства программных анализаторов пакетов возможность настройки фильтров до и после захвата трафика. Фильтры выделяют из общего трафика определенные пакеты по заданному критерию, что позволяет при анализе трафика избавиться от лишней информации.
В этой статье мы рассмотрим создание простого сниффера под ОС Windows.
Кому интересно, добро пожаловать под кат.
Надеюсь, Вам будет интересно.
Для чего это может понадобиться:
Как так? Очень просто.
Ключевым шагом в превращении простого сетевого приложения в сетевой анализатор является переключение сетевого интерфейса в режим прослушивания (promiscuous mode), что и позволит ему получать пакеты, адресованные другим интерфейсам в сети. Этот режим заставляют сетевую плату принимать все кадры, вне зависимости от того, кому они адресованы в сети.
Начиная с Windows 2000 (NT 5.0) создать программу для прослушивания сегмента сети стало очень просто, т.к. ее сетевой драйвер позволяет перевести сокет в режим приёма всех пакетов.
Идем дальше. Известно, что IP-пакет состоит из заголовка, служебной информации и, собственно, данных. Советую заглянуть сюда , чтобы освежит знания. Опишем в виде структуры IP-заголовок (спасибо отличной статье на RSDN ):
В принципе, можно пойти дальше, и описать заголовки всех последующих протоколов, находящихся выше. Для этого необходимо анализировать поле protocol в структуре IPHeader . Посмотрите на пример кода (да, там должен быть switch, чёрт возьми!), где происходит раскрашивание заголовка в зависимости от того, какой протокол имеет пакет, инкапсулированный в IP:
/* * Выделение пакета цветом */ void ColorPacket(const IPHeader *h, const u_long haddr, const u_long whost = 0) { if (h->xsum) SetConsoleTextColor(0x17); // если пакет не пустой else SetConsoleTextColor(0x07); // пустой пакет if (haddr == h->src) { SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_RED | FOREGROUND_INTENSITY); // "родной" пакет на отдачу } else if (haddr == h->dest) { SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_GREEN | FOREGROUND_INTENSITY); // "родной" пакет на прием } if (h->protocol == PROT_ICMP || h->protocol == PROT_IGMP) { SetConsoleTextColor(0x70); // ICMP-пакет } else if(h->protocol == PROT_IP || h->protocol == 115) { SetConsoleTextColor(0x4F); // IP-in-IP-пакет, L2TP } else if(h->protocol == 53 || h->protocol == 56) { SetConsoleTextColor(0x4C); // TLS, IP with Encryption } if(whost == h->dest || whost == h->src) { SetConsoleTextColor(0x0A); } }
Однако это существенно выходит за рамки этой статьи. Для нашего учебного примера вполне достаточно будет посмотреть ip-адреса хостов, с которых и на которые идет трафик, и посчитать его количество в единицу времени(готовая программа в архиве в конце статьи).
Для того, чтобы отобразить данные IP-заголовка, необходимо реализовать функцию преобразования заголовка (но не данных) дейтаграммы в строку. В качестве примера реализации, можно предложить такой вариант:
Исходный и бинарный код предоставляю как есть, таким как он был несколько лет назад. Сейчас мне на него страшно смотреть, и все же, он вполне читабельный (конечно же, нельзя быть таким самоуверенным). Для компиляции будет достаточно даже Visual Studio Express 2005.
Что у нас получилось в итоге: