Скачать программу сниффер. Зачем нужны Снифферы – что это такое и как их используют. Как защититься от снифферов

Перед вами неплохой сниффер (анализатор сетевого трафика, с его помощью можно перехватывать информацию), который позволит вам в наглядном видео получать достаточно полную информацию о всех пакетах проходящих по выбранному вами протоколу, в полной новости можно без трудностей скачать IP Sniffer . Разработчики постарались и сделали из обычного сниффера более мощную программу, так как теперь возможно фильтровать обрабатываемые данные и вести полное декодирование всего содержимого пакетов.

IP Sniffer имеет ряд дополнительных утилит, среди которых довольно неплохой мониторинг трафика, можно просматривать в диаграммах IP адреса которые чаще остальных используются, тоже самое можно сказать и про протоколы. При жедании желании вы сможете работать с протоколом определения адреса или более известным как ARM - вести его просмотр, удаление разных записей, отправлять ответы. Есть функция помогающая получать Netbios имя для заданного IP адреса. Хотелось отметить в IP Sniffer инструмент Netstat - он отобразит разного рода сетевые подключения и у вас будет возможность принудительно завершать выбранные вами подключения, что достаточно удобно.

Если вам надо получить полную информацию по используемому сетевому адаптеру, то программа поможет и тут. Помимо прочего есть поддержка Spoofing разного рода протоколов, в том числе и ARP, что означает поддержу перехвата трафика между разными хостами. IP Sniffer умеет осуществлять поиск DHCP серверов, встроена служба по выдачи информации по нужным вам IP адресам, можно вести преобразование IP в Hostname и соответственно наоборот, конечно пинговать хосты и сети тоже возможно.

IP Sniffer не нуждается в установке, может запускаться с носителей, не имеет Русской поддержки, и обладает простым интерфейсом без поддержки смены сников. В общем вот такая перед вами разработка, думаю при определенных целях будет достаточно полезна. Не забываем оставлять своим мнения по поводу этой программы, если кто найдет ей применение делимся впечатлениями, и не забываем, что она полностью бесплатна.

Название выпуска : IP.Sniffer.1.99.3.6
Разработчик :

Erwan"s Blog

Лицензия : FreeWare
Язык : English
Размер : 7.16 MB
ОС : Windows
Скачать :

- 7.16 MB

Анализаторы сетевых пакетов, или снифферы, первоначально были разработаны как средство решения сетевых проблем. Они умеют перехватывать, интерпретировать и сохранять для последующего анализа пакеты, передаваемые по сети. С одной стороны, это позволяет системным администраторам и инженерам службы технической поддержки наблюдать за тем, как данные передаются по сети, диагностировать и устранять возникающие проблемы. В этом смысле пакетные снифферы представляют собой мощный инструмент диагностики сетевых проблем. С другой стороны, подобно многим другим мощным средствам, изначально предназначавшимся для администрирования, с течением времени снифферы стали применяться абсолютно для других целей. Действительно, сниффер в руках злоумышленника представляет собой довольно опасное средство и может использоваться для завладения паролями и другой конфиденциальной информацией. Однако не стоит думать, что снифферы — это некий магический инструмент, посредством которого любой хакер сможет легко просматривать конфиденциальную информацию, передаваемую по сети. И прежде чем доказать, что опасность, исходящая от снифферов, не столь велика, как нередко преподносят, рассмотрим более детально принципы их функционирования.

Принципы работы пакетных снифферов

Дальнейшем в рамках данной статьи мы будем рассматривать только программные снифферы, предназначенные для сетей 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).

Существуют программные снифферы, к которым в качестве плагинов или встроенных модулей прилагаются программные аналитические модули, позволяющие создавать отчеты с полезной аналитической информацией о перехваченном трафике.

Другая характерная черта большинства программных анализаторов пакетов — возможность настройки фильтров до и после захвата трафика. Фильтры выделяют из общего трафика определенные пакеты по заданному критерию, что позволяет при анализе трафика избавиться от лишней информации.

Когда обычный пользователь слышит термин «сниффер», он сразу же начинает интересоваться тем, что это такое и зачем оно нужно.

Мы постараемся объяснить все простым языком.

Впрочем, данная статья будет предназначена не только для начинающих юзеров, но и для .

Определение

Сниффер – это анализатор трафика. В свою очередь, трафик – это вся информация, которая проходит через компьютерные сети.

Этот анализатор смотрит, какая информация передается. Для этого ее необходимо перехватить. Фактически, это незаконная вещь, ведь таким образом люди часто получают доступ к чужим данным.

Это можно сравнить с ограблением поезда – классический сюжет большинства вестернов.

Вы передаете какую-то информацию другому пользователю. Ее везет «поезд», то есть сетевой канал.

Придурки из банды кровавого Джо перехватывают состав и грабят его до нитки. В нашем случае информация идет дальше, то есть злоумышленники не крадут ее в прямом смысле этого слова.

Но, допустим, что эта информация представляет собой пароли, личные записи, фотографии и тому подобное.

Злоумышленники могут просто переписать и сфотографировать все это. Таким образом они получат доступ к секретным данным, которые вы хотели бы скрыть.

Да, у вас будет вся эта информация, она к вам дойдет.

Но вы будете знать, что все то же самое знают и совершенно посторонние люди. А ведь в XXI веке больше всего ценится именно информация!

В нашем случае используется именно такой принцип. Определенные люди останавливают трафик, считывают с него данные и отсылают их дальше.

Правда, в случае со снифферами все не всегда так страшно. Они используются не только для того, чтобы получать несанкционированный доступ к данным, а еще и для анализа самого трафика. Это важная часть работ сисадминов и просто админов различных и ресурсов. О применении стоит поговорить более подробно. Но перед этим мы затронем то, как работают эти самые снифферы.

Принцип работы

На практике снифферы могут являть собой портативные устройства, которые в буквальном смысле ставятся на кабель и считывают с него данные, а также программы.

В некоторых случаях это просто набор инструкций, то есть кодов, которые необходимо вводить в определенной последовательности и в определенной среде программирования.

Если более детально, что перехват трафика такими устройствами может считываться одним из следующих способов:

1 Путем установки концентраторов вместо коммутаторов. В принципе, прослушивание сетевого интерфейса можно выполнять и другими способами, но все они малоэффективны.

2 Подключением буквального сниффера в место разрыва канала. Это именно то, о чем шла речь выше – и ставится небольшое устройство, которое и считывает все, что движется по каналу.

3 Установкой ответвления от трафика. Это ответвление направляется на какое-то другое устройство, возможно, расшифровывается и направляется пользователю.

4 Атакой, целью которой является полное перенаправление трафика в сниффер. Конечно же, после попадания информации на считывающее устройство, она опять отправляется конечному пользователю, которому изначально и предназначалась. в чистом виде!

5 Путем анализа электромагнитных излучений , которые возникают из-за движения трафика. Это самый сложный и редко используемый метод.

Вот примерная схема работы второго способа.

Правда, здесь показано, что считывающее устройство просто подключается к кабелю.

На самом же деле сделать это таким образом практически нереально.

Дело в том, что конечный пользователь все равно заметит, что в каком-то месте имеет место разрыв канала.

Сам принцип работы обычного сниффера основывается на том, что в рамках одного сегмента рассылаются всем подключенным машинам. Достаточно глупый, но пока безальтернативный метод! А между сегментами данные передаются при помощи коммутаторов. Вот здесь и появляется возможность перехвата информации одним из вышеперечисленных способов.

Собственно, это и называется кибератаками и хаккерством!

Кстати, если грамотно установить эти самые коммутаторы, то можно полностью защитить сегмент от всевозможных кибератак.

Существуют и другие методы защиты, о которых мы еще поговорим в самом конце.

Полезная информация:

Обратите внимание на программу . Она используется для анализа сетевого трафика и разбора пакетов данных, для которого используется библиотека pcap. Это значительно сужает количество доступных для разбора пакетов, так как разбирать можно лишь те пакеты, которые поддерживаются данной библиотекой.

Применение

Разумеется, в первую очередь, данное понятие имеет то применение, о котором шла речь выше, то есть хаккерские атаки и незаконное получение пользовательских данных.

Но кроме этого, снифферы используют и в других сферах, а конкретно, в работе системных администраторов.

В частности, такие приспособления или программы помогают выполнить такие задачи:

Как видим, рассматриваемые нами приспособления или программы способны очень сильно облегчить работу системных администраторов и других людей, которые пользуются сетями. А это все мы.

Теперь переходим к самому интересному – обзору программ-снифферов.

Выше мы разобрались, что они могут быть выполнены в виде физических приспособлений, но в большинстве случаев используются специальные .

Их изучением и займемся.

Программы-сниферы

Вот список наиболее популярных таких программ:

CommView . Программа платная, как и все остальных в нашем списке. Одна минимальная лицензия стоит 300 долларов. Зато функционал у ПО богатейший. Первое, что стоит отметить, так это возможность самостоятельной установки правил . К примеру, можно сделать так, чтобы (это протоколы) полностью игнорировались. Примечательно также, что программа позволяет просматривать детали и лог всех пересылаемых пакетов. Существует обычная версия и версия для Wi-Fi .

SpyNet. Это, фактически, троян, от которых мы все так устали. Но он может использоваться и в благородных целях, о которых мы говорили выше. Программа выполняет перехват и , которые есть в трафике. Есть множество необычных функций. К примеру, можно воссоздавать страницы в интернете, на которых побывала «жертва». Примечательно, что это ПО бесплатное, но найти его достаточно непросто.

BUTTSniffer. Это сниффер в чистом виде, который помогает анализировать сетевые пакеты, а не перехватывать чужие пароли и историю браузера. По крайней мере, так думал ее автор. На самом же деле его творение используется сами понимаете для чего. Это обычная пакетная программа, которая работает через командную строку. Для начала использования загружаются и запускаются два файла. «Захваченные» пакеты сохраняются на жестком диске, что очень удобно.

Существует множество других программ-снифферов. К примеру, известны fsniff, WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer и многие другие. Выбирайте любую! Но, справедливости ради стоит отметить, что лучшая – CommView.

Итак, мы разобрали, что такое снифферы, как они работают и какие бывают.

Теперь перейдем с места хакера или сисадмина на место обычного юзера.

Мы прекрасно понимаем, что наши данные могут украсть. Что же делать, чтобы этого не произошло?здесь). Работает она крайне просто – сканирует сеть на предмет всевозможных шпионов и сообщает, если таковые будут обнаружены. Это самый простой и понятный принцип, который позволяет обезопасить себя от кибератак.

3 Используйте PromiScan. По своим свойствам и выполняемым задачам эта программа очень схожа с AntiSniff for Windows, поэтому выберете что-то одно. В сети тоже есть множество ссылок на скачивание (вот одна из них). Это инновационная программа, которая позволяет отдаленно контролировать компьютеры, подключенные к одной сети. Принцип ее работы состоит в определении узлов, которых не должно быть в сети. Собственно, это, скорее всего, и есть снифферы. Программа выявляет их и сигнализирует об этом красноречивым сообщением. Очень удобно!.

4 Используйте криптографию, а если развернуто, криптографическую систему с открытым ключом. Это специальная система шифрования или электронной подписи. Ее «фишка» в том, что ключ открытый и все могут его видеть, но изменить данные невозможно, так как это нужно сделать на всех компьютерах сети одновременно. Прекрасный метод – как приманка для вора. В вы можете прочитать про блокчейн, где используется именно такая система.

5 Не скачивайте подозрительные программы, не заходите на подозрительные сайты и так далее. Об этом знает каждый современный пользователь и все же именно этот путь является основным для попадания троянов и других пакостей в вашу операционную систему. Поэтому очень ответственно относитесь к использованию интернета в принципе!

Если у вас есть еще вопросы, задавайте их в комментариях ниже.

Надеемся, мы смогли все объяснить простым и понятным языком.

Сниффер по-другому называют анализатор трафика — это программа или другое аппаратное устройство, которое перехватывает, а затем анализирует сетевой трафик. В настоящее время эти программы имеют вполне законное обоснование, поэтому широко используются в сети, но применяться они могут как во благо, так и во вред.

История их возникновения уходит к 90-м годам, когда хакеры могли используя подобный софт без труда захватить пользовательский логин и пароль, которые на тот момент были очень слабо зашифрованными.

Слово sniffer происходит от англ. to sniff – нюхать, принцип действия в том, что эта программа регистрирует и анализирует программы, которые установлены на машинах, передающих информационные пакеты. Для эффективности операции по считыванию информации он должен находиться поблизости от главного ПК.

Программисты используют данное приложение для анализа трафика , иные цели преследуют хакеры в сети, они как раз и выслеживают пароли или другую необходимую им информацию.

Виды анализаторов трафика

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

Чаще всего они используются для перехвата паролей , при этом приложение получает доступ к кодам зашифрованной информации. Это может принести огромные неудобства пользователю, поскольку нередко бывают случаи, когда нескольким программам или сайтам устанавливаются одинаковые пароли, что, в конечном счете, ведет к утрате доступа к необходимым ресурсам.

Существует тип сниффинга, который используется для перехвата снимка оперативной памяти, поскольку сложно считывать информацию постоянно, и при этом не использовать мощность процессора. Обнаружить шпиона можно путем отслеживания максимальной файловой загрузки ПК во время работы.

Еще один тип программ работает с большим каналом передачи данных, при этом вредитель может каждый день генерировать до 10 мегабайтовых протоколов.

Как это работает

Анализаторы работают только с протоколами TCP/IP, таким программам нужно проводное подключение, например маршрутизаторы, раздающие интернет. Передача данных осуществляется с помощью отдельных пакетов, которые при достижении конечной цели вновь становятся единым целым. Они так же способны перехватить пакеты на любом этапе передачи и получить вместе с ним ценную информацию в виде незащищенных паролей. В любом случае, с помощью программ дешифраторов возможно получить ключ даже к защищенному паролю.

Проще всего использовать WiFi снифферы в сетях со слабой защитой – в кафе, общественных местах и т.п.

Провайдеры с помощью этих программ могут отследить несанкционированный доступ к внешним системным адресам.

Как защититься от снифферов

Чтобы понять, что в локальную сеть кто-то проник, в первую очередь стоит обратить внимание на скорость загрузки пакетов , если она значительно ниже заявленной, это должно насторожить. Быстродействие компьютера можно отследить при помощи Диспетчера задач. Можно использовать специальные утилиты, но они чаще всего конфликтуют с брандмауэром windows, поэтому его лучше на какое-то время отключить.

Для системных администраторов проверка и поиск анализаторов трафика в локальной сети — это необходимое мероприятие. Для обнаружения вредных приложений можно использовать известные сетевые антивирусы, такие как Доктор Веб или Касперский Антивирус, которые позволяют обнаружить вредителей как на удаленных хостах, так и непосредственно внутри локальной сети.

Помимо специальных приложений, которые просто устанавливают на компьютер, можно использовать более сложные пароли и криптографические системы. Криптографические системы работают непосредственно с информацией, шифруя ее при помощи электронной подписи.

Обзор приложений и основные возможности

CommView

CommView декодирует пакеты переданной информации, выдает статистику используемых протоколов, в виде диаграмм. Сниффер трафика позволяет анализировать IP-пакеты, причем те, которые необходимы. Сниффер для Windows работает с известными протоколами : HTTP, HTTPS, DHCP, DDNH, DIAG, POP3, TCP, WAP и др. CommView работает с модемами Ethernet, wi-fi и другими. Захват пакетов происходит через установленное соединение, при помощи вкладки «Текущие IP -соединения », где можно создавать псевдонимы адресов.

Вкладка «Пакеты » отражает информацию о них, при этом их можно скопировать в буфер обмена.

«LOG -файлы » позволяет просматривать пакеты в формате NFC.

Вкладка «Правила ». Здесь можно задать условия перехвата пакетов. Разделы данной вкладки: IP-адреса, MAC-адреса, Порты, Процесс, Формулы и Индивидуальные параметры.

«Предупреждение »: предусматривает настройку извещений в локальной сети, функционирует с помощью кнопки «Добавить». Здесь можно задать условия, тип событий:

  • «Пакеты в секунду» — при превышении уровня загрузки сети.
  • «Байты в секунду» — при превышении частоты передачи данных.
  • «Неизвестный адрес», т. е. обнаружение несанкционированных подключений.

Вкладка «Вид » — здесь отражается статистика трафика.

CommView совместима с Windows 98, 2000, XP, 2003. Для работы с приложением необходим адаптер Ethernet.

Преимущества: удобный интерфейс на русском языке, поддерживает распространенные типы сетевых адаптеров, статистика визуализирована. К минусам можно отнести разве что высокую цену.

Spynet

Spynet выполняет функции декодирования пакетов, их перехвата. С его помощью можно воссоздать страницы, на которых побывал пользователь. Состоит из 2-х программ CaptureNet и PipeNet. Ее удобно использовать в локальной сети. CaptureNet сканирует пакеты данных, вторая программа контролирует процесс.

Интерфейс достаточно прост:

  • Кнопка Modify Filter – настройка фильтров.
  • Кнопка Layer 2,3 – устанавливает протоколы Flame – IP; Layer 3 – TCP.
  • Кнопка Pattern Matching осуществляет поиск пакетов с заданными параметрами.
  • Кнопка IP Adresses позволяет сканировать необходимые IP-адреса, передающие интересующую информацию. (Варианты 1-2, 2-1, 2=1). В последнем случае весь трафик.
  • Кнопка Ports , т. е. выбор портов.

Для перехвата данных необходимо запустить программу Capture Start (запуск), т. е. запускается процесс по перехвату данных. Файл с сохраненной информацией копируется только после команды Stop, т. е. прекращение действий по захвату.

Преимуществом Spynet является возможность декодирования web страниц, которые посещал пользователь. Так же программу можно скачать бесплатно, хотя и довольно тяжело найти. К недостаткам можно отнести малый набор возможностей в Windows. Работает в Windows XP, Vista.

BUTTSniffer

BUTTSniffer анализирует непосредственно сетевые пакеты. Принцип работы — это перехват передаваемых данных, а так же возможность их автоматического сохранения на носителе, что очень удобно. Запуск данной программы происходит через командную строку . Есть так же параметры фильтров. Программа состоим из BUTTSniff.exe и BUTTSniff. dll.

К значительным минусам BUTTSniffer относятся нестабильная работа, нередки частые сбои вплоть до сноса ОС (синего экрана смерти).

Помимо этих программ-снифферов, существует множество других, не менее известных: WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorter, Ne Analyzer.

Также существуют онлайн-снифферы (online sniffer), которые кроме получения IP-адреса жертвы меняют IP-адрес непосредственно злоумышленника. Т.е. взломщик сначала регистрируется под каким-либо IP-адресом, посылает на компьютер жертвы картинку, которую необходимо скачать или электронное письмо, которое нужно просто открыть. После этого хакер получает все необходимые данные.

Стоит напомнить, что вмешательство к данным чужого компьютера является уголовно наказуемым деянием.

В этой статье мы рассмотрим создание простого сниффера под ОС Windows.
Кому интересно, добро пожаловать под кат.

Введение

Цель: написать программу, которая будет захватывать сетевой трафик (Ethernet, WiFi), передающийся по протоколу IP.
Средства: Visual Studio 2005 или выше.
Подход, который здесь описан, не принадлежит лично автору и успешно применяется во многих коммерческих, а также категорически бесплатных программах (привет, GPL).
Сей труд предназначен прежде всего для новичков в сетевом программровании, которые, однако, имеют хотя бы базовые знания в области сокетов вообще, и windows-сокетов в частности. Здесь я часто буду писать общеизвестные вещи, потому что предметная область специфическая, если что-то пропустить - в голове будет каша.

Надеюсь, Вам будет интересно.

Теория (читать не обязательно, но желательно)

В данный момент подавляющее большинство современных информационных сетей базируются на фундаменте стека протоколов TCP/IP. Стек протоколов TCP/IP (англ. Transmission Control Protocol/Internet Protocol) - собирательное название для сетевых протоколов разных уровней, используемых в сетях. В настоящей статье нас будет интересовать в основном протокол IP - маршрутизируемый сетевой протокол, используемый для негарантированной доставки данных, разделяемых на так называемые пакеты (более верный термин – дейтаграмма) от одного узла сети к другому.
Особый интерес для нас представляют IP-пакеты, предназначенные для передачи информации. Это достаточно высокий уровень сетевой OSI-модели данных, когда можно обстрагироваться от устройства и среды передачи данных, оперируя лишь логическим представлением.
Совершенно логичным является то обстоятельство, что рано или поздно должны были появится инструменты для перехвата, контроля, учета и анализа сетевого трафика. Такие средства обычно называется анализаторами трафика, пакетными анализаторыми или снифферами (от англ. to sniff - нюхать). Это - сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.

Практика (разговор по существу)

На данный момент создано достаточно много программного обеспечения для прослушивания трафика. Наиболее известный из них: Wireshark . Естественно, пожинать его лавры цель не стоит - нас интересует задача перехвата трафика методом обычного «прослушивания» сетевого интерфейса. Важно понимать, что мы не собираемся заниматься взломом и перехватывать чужой трафик. Нужно всего лишь просматривать и анализировать трафик, который проходит через наш хост.

Для чего это может понадобиться:

  1. Смотреть текущий поток трафика через сетевое соеднинение (входящий/исходящий/всего).
  2. Перенаправлять трафик для последующего анализа на другой хост.
  3. Теоретически, можно попытаться применить его для взлома WiFi-сети (мы ведь не собираемся этим заниматься?).
В отличие от Wireshark, который базируется на библиотеке libpcap/WinPcap, наш анализатор не будет использовать этот драйвер. Чего уж там, у нас вообще не будет драйвера, и свой NDIS(о ужас!) мы писать не собираемся. Про это можно прочитать в этом топике . Он будет просто пассивным наблюдателем, использующим только библиотеку WinSock. Использование драйвера в данном случае избыточно.

Как так? Очень просто.
Ключевым шагом в превращении простого сетевого приложения в сетевой анализатор является переключение сетевого интерфейса в режим прослушивания (promiscuous mode), что и позволит ему получать пакеты, адресованные другим интерфейсам в сети. Этот режим заставляют сетевую плату принимать все кадры, вне зависимости от того, кому они адресованы в сети.

Начиная с Windows 2000 (NT 5.0) создать программу для прослушивания сегмента сети стало очень просто, т.к. ее сетевой драйвер позволяет перевести сокет в режим приёма всех пакетов.

Включение неразборчивого режима
long flag = 1; SOCKET socket; #define SIO_RCVALL 0x98000001 ioctlsocket(socket, SIO_RCVALL, &RS_Flag);
Наша программа оперирует IP-пакетами, и использует библиотеку Windows Sockets версии 2.2 и «сырые» сокеты (raw sockets). Для того чтобы получить прямой доступ к IP-пакету, сокет нужно создавать следующим образом:
Создание сырого сокета
s = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
Здесь вместо константы SOCK_STREAM (протокол TCP) или SOCK_DGRAM (протокол UDP), мы используем значение SOCK_RAW . Вообще говоря, работа с raw sockets интересна не только с точки зрения захвата трафика. Фактически, мы получаем полный контроль за формированием пакета. Вернее, формируем его вручную, что позволяет, например, послать специфический ICMP-пакет…

Идем дальше. Известно, что IP-пакет состоит из заголовка, служебной информации и, собственно, данных. Советую заглянуть сюда , чтобы освежит знания. Опишем в виде структуры IP-заголовок (спасибо отличной статье на RSDN ):

Описание структуры IP-пакета
typedef struct _IPHeader { unsigned char ver_len; // версия и длина заголовка unsigned char tos; // тип сервиса unsigned short length; // длина всего пакета unsigned short id; // Id unsigned short flgs_offset; // флаги и смещение unsigned char ttl; // время жизни unsigned char protocol; // протокол unsigned short xsum; // контрольная сумма unsigned long src; // IP-адрес отправителя unsigned long dest; // IP-адрес назначения unsigned short *params; // параметры (до 320 бит) unsigned char *data; // данные (до 65535 октетов) }IPHeader;
Главная функция алгоритма прослушивания будет выглядеть следующим образом:
Функция захвата одного пакета
IPHeader* RS_Sniff() { IPHeader *hdr; int count = 0; count = recv(RS_SSocket, (char*)&RS_Buffer, sizeof(RS_Buffer), 0); if (count >= sizeof(IPHeader)) { hdr = (LPIPHeader)malloc(MAX_PACKET_SIZE); memcpy(hdr, RS_Buffer, MAX_PACKET_SIZE); RS_UpdateNetStat(count, hdr); return hdr; } else return 0; }
Здесь все просто: получаем порцию данных с помощью стандартной функции socket-функции recv , а затем копируем их в структуру типа IPHeader .
И, наконец, запускаем бесконечный цикл захвата пакетов:
Захватым все пакеты, которые попадут на наш сетевой интерфейс
while (true) { IPHeader* hdr = RS_Sniff(); // обработка IP-пакета if (hdr) { // печатаем заголовок в консоли } }
Немного оффтопика
Здесь и далее у некоторых важных функций и переменных автор сделал префкис RS_ (от Raw Sockets). Проект делал 3-4 года назад, и была шальная мысль написать полноценную библиотеку для работы с сырыми сокетами. Как это часто бывает, после получения сколь-нибудь значимых(для автора) результатов, энтузиазм угас, и дальше учебного примера дело не полшло.

В принципе, можно пойти дальше, и описать заголовки всех последующих протоколов, находящихся выше. Для этого необходимо анализировать поле 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-заголовка, необходимо реализовать функцию преобразования заголовка (но не данных) дейтаграммы в строку. В качестве примера реализации, можно предложить такой вариант:

Преобразование IP-заголовка в строку
inline char* iph2str(IPHeader *iph) { const int BUF_SIZE = 1024; char *r = (char*)malloc(BUF_SIZE); memset((void*)r, 0, BUF_SIZE); sprintf(r, "ver=%d hlen=%d tos=%d len=%d id=%d flags=0x%X offset=%d ttl=%dms prot=%d crc=0x%X src=%s dest=%s", BYTE_H(iph->ver_len), BYTE_L(iph->ver_len)*4, iph->tos, ntohs(iph->length), ntohs(iph->id), IP_FLAGS(ntohs(iph->flgs_offset)), IP_OFFSET(ntohs(iph->flgs_offset)), iph->ttl, iph->protocol, ntohs(iph->xsum), nethost2str(iph->src), nethost2str(iph->dest)); return r; }
На основании приведенных выше базовых сведений, получается вот такая небольшая программа (жуткое название ss, сокр. от англ. simple sniffer), реализующая локальное прослушивание IP-трафика. Интерфейс ее приведен ниже на рисунке.

Исходный и бинарный код предоставляю как есть, таким как он был несколько лет назад. Сейчас мне на него страшно смотреть, и все же, он вполне читабельный (конечно же, нельзя быть таким самоуверенным). Для компиляции будет достаточно даже Visual Studio Express 2005.

Что у нас получилось в итоге:

  • Сниффер работает в режиме пользователя, однако требует привилегии администратора.
  • Пакеты не фильтруются, отображаясь как есть (можно добавить настраиваемые фильтры - предлагаю подробно рассмотреть эту тему в следующей статье, если интересно).
  • WiFi-трафик тоже захватывается(все зависит от конкретной модели чипа, у Вас может и не работать, как у меня несколько лет назад), хотя есть AirPcap, которая чудесно это умеет делать, но стоит денег.
  • Весь поток дейтаграмм логируется в файл (см. архив, приложенный в конце статьи).
  • Программа работает в качестве сервера на порту 2000. Можно подключиться с помощью утилиты telnet к хосту и произвести мониторинг потоков трафика. Количество подключений ограничено двадцатью (код не мой, нашел на просторах сети и применял для экспериментов; удалять не стал - жалко)
Спасибо за внимание, проздравляю хабровчан и хабровчанок и всех-всех-всех с наступающим Рождеством!
2024 samgupsnn.ru. Samgupsnn - Немного о компьютере и современных гаджетах.