Informatie (ENG):
SmartSniff is a network monitoring utility that allows you to capture TCP/IP packets that pass through your network adapter, and view the captured data as sequence of conversations between clients and servers. You can view the TCP/IP conversations in Ascii mode (for text-based protocols, like HTTP, SMTP, POP3 and FTP.) or as hex dump. (for non-text base protocols, like DNS)
SmartSniff provides 3 methods for capturing TCP/IP packets:
Raw Sockets (Only for Windows 2000/XP or greater): Allows you to capture TCP/IP packets on your network without installing a capture driver. This method has some limitations and problems.
WinPcap Capture Driver: Allows you to capture TCP/IP packets on all Windows operating systems. (Windows 98/ME/NT/2000/XP/2003/Vista) In order to use it, you have to download and install WinPcap Capture Driver from this Web site. (WinPcap is a free open-source capture driver.)
This method is generally the preferred way to capture TCP/IP packets with SmartSniff, and it works better than the Raw Sockets method.
Microsoft Network Monitor Driver (Only for Windows 2000/XP/2003): Microsoft provides a free capture driver under Windows 2000/XP/2003 that can be used by SmartSniff, but this driver is not installed by default, and you have to manually install it, by using one of the following options:
Option 1: Install it from the CD-ROM of Windows 2000/XP according to the instructions in Microsoft Web site
Option 2 (XP Only) : Download and install the Windows XP Service Pack 2 Support Tools. One of the tools in this package is netcap.exe. When you run this tool in the first time, the Network Monitor Driver will automatically be installed on your system.
Microsoft Network Monitor Driver 3: Microsoft provides a new version of Microsoft Network Monitor driver (3.x) that is also supported under Windows 7/Vista/2008. Starting from version 1.60, SmartSniff can use this driver to capture the network traffic.
The new version of Microsoft Network Monitor (3.x) is available to download from Microsoft Web site.
System Requirements
SmartSniff can capture TCP/IP packets on any version of Windows operating system (Windows 98/ME/NT/2000/XP/2003/2008/Vista/7/8) as long as WinPcap capture driver is installed and works properly with your network adapter.
You can also use SmartSniff with the capture driver of Microsoft Network Monitor, if it’s installed on your system.
Under Windows 2000/XP (or greater), SmartSniff also allows you to capture TCP/IP packets without installing any capture driver, by using ‘Raw Sockets’ method. However, this capture method has some limitations and problems:
* Outgoing UDP and ICMP packets are not captured.
* On Windows XP SP1 outgoing packets are not captured at all – Thanks to Microsoft’s bug that appeared in SP1 update… This bug was fixed on SP2 update, but under Vista, Microsoft returned back the outgoing packets bug of XP/SP1.
* On Windows Vista/7/8: Be aware that Raw Sockets method doesn’t work properly on all systems. It’s not a bug in SmartSniff, but in the API of Windows operating system. If you only see the outgoing traffic, try to turn off Windows firewall, or add smsniff.exe to the allowed programs list of Windows firewall.
Сниффер не всегда является вредоносным. В действительности, данный тип ПО часто используется для анализа сетевого трафика в целях обнаружения и устранения отклонений и обеспечения бесперебойной работы. Однако сниффер может быть использован с недобрым умыслом. Снифферы анализируют все, что через них проходит, включая незашифрованные пароли и учетные данные, поэтому хакеры, имеющие доступ к снифферу, могут завладеть личной информацией пользователей. Кроме того, сниффер может быть установлен на любом компьютере, подключенном к локальной сети, без необходимости его обязательной установки на самом устройстве - иными словами, его невозможно обнаружить на протяжении всего времени подключения.
Хакеры используют снифферы для кражи ценных данных путем отслеживания сетевой активности и сбора персональной информации о пользователях. Как правило, злоумышленники наиболее заинтересованы в паролях и учетных данных пользователей, чтобы с их применением получить доступ к онлайн-банкингу и учетным записям онлайн-магазинов. Чаще всего хакеры устанавливают снифферы в местах распространения незащищенного подключения Wi-Fi, например, в кафе, отелях и аэропортах. Снифферы могут маскироваться под подключенное к сети устройство в рамках так называемой спуфинг атаки с целью похищения ценных данных.
Несанкционированные снифферы крайне сложно распознать виртуально, так как они могут быть установлены практически где угодно, представляя собой весьма серьезную угрозу сетевой безопасности. Обычные пользователи часто не имеют ни малейшего шанса распознать отслеживание своего сетевого трафика сниффером. Теоретически возможно установить собственный сниффер, который бы отслеживал весь трафик DNS на наличие иных снифферов, однако для рядового пользователя гораздо проще установить анти-сниффинговое ПО или антивирусное решение, включающее защиту сетевой активности, чтобы пресечь любое несанкционированное вторжение или скрыть свои сетевые действия.
Вы можете воспользоваться высокоэффективным антивирусом для обнаружения и отстранения всех типов вредоносного ПО, установленного на ваш компьютер для сниффинга. Однако для полного удаления сниффера с компьютера необходимо удалить абсолютно все папки и файлы, имеющие к нему отношение. Так же настоятельно рекомендуется использовать антивирус со сканером сети, который тщательно проверит локальную сеть на наличие уязвимостей и проинструктирует относительно дальнейших действий в случае их обнаружения.
Первое, что пользователь может сделать, чтобы защититься от снифферов - воспользоваться качественным антивирусом, как бесплатный антивирус Avast, который способен досконально просканировать всю сеть на наличие проблем с безопасностью. Дополнительным и высокоэффективным способом защиты информации от сниффинга является шифрование всех отправляемых и принимаемых данных онлайн, включая письма эл. почты. Avast SecureLine позволяет надежно зашифровать весь обмен данными и совершать действия онлайн в условиях 100% анонимности.
Программа Wireshark станет отличным помощником для тех пользователей, кому требуется произвести детальный анализ сетевых пакетов, - трафика компьютерной сети. Сниффер легко взаимодействует с такими распространенными протоколами, как netbios, fddi, nntp, icq, x25, dns, irc, nfs, http, tcp, ipv6
и многими другими. Позволяет при анализе разделять сетевой пакет на соответствующие составляющие, согласно определенному протоколу, и выдавать на экран удобочитаемую информацию в числовом виде.
поддерживает огромное число разнообразных форматов передаваемой и получаемой информации, способен открывать файлы, которые находятся в пользовании других утилит. Принцип работы заключается в том, что сетевая карточка переходит в широковещательный режим и начинается перехват сетевых пакетов, которые находятся в зоне её видимости. Умеет работать как программа для перехвата пакетов wifi.
Запустив wireshark, Вы увидите на экране главное меню программы, которое расположено в верхней части окна. С помощью него и происходит управление утилитой. Если вам нужно загрузить файлы, которые хранят данные о пакетах, пойманных в предыдущих сессиях, а также сохранить данные о других пакетах, добытые в новом сеансе, то для этого вам потребуется вкладка "File".
Чтобы запустить функцию захвата сетевых пакетов, пользователь должен кликнуть на иконку "Capture", затем отыскать специальный раздел меню под названием "Interfaces", с помощью которого можно открыть отдельное окно "Wireshark Capture Interfaces", где должны будут показаны все доступные сетевые интерфейсы, через которые и будет произведен захват нужных пакетов данных. В том случае, когда программа (сниффер) способна обнаружить только один подходящий интерфейс, она выдаст на экран всю важную информацию о нем.
Результаты работы утилиты являются прямым доказательством того, что, даже если пользователи самостоятельно не занимаются (в данный момент времени) передачей каких-либо данных, в сети не прекращается обмен информацией. Ведь принцип работы локальной сети заключается в том, что для поддержания её в рабочем режиме, каждый её элемент (компьютер, коммутатор и другие устройства) непрерывно обмениваются друг с другом служебной информацией, поэтому для перехвата таких пакетов и предназначены подобные сетевые инструменты.
Имеется версия и для Linux систем.
Следует отметить, что сниффер крайне полезен для сетевых администраторов и службы компьютерной безопасности, ведь утилита позволяет определить потенциально незащищённые узлы сети – вероятные участки, которые могут быть атакованы хакерами.
Помимо своего прямого предназначения Wireshark может использоваться как средство для мониторинга и дальнейшего анализа сетевого трафика с целью организации атаки на незащищённые участки сети, ведь перехваченный трафик можно использовать для достижения различных целей.
В этой статье мы рассмотрим создание простого сниффера под ОС 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.
Что у нас получилось в итоге:
SmartSniff позволяет перехватить сетевой трафик и отобразить его содержимое в ASCII. Программа захватывает пакеты проходящие через сетевой адаптер и выводит на экран содержание пакетов в текстовом виде (протоколы http, pop3, smtp, ftp) и в виде шестнадцатеричного дампа. Для захвата TCP/IP пакетов SmartSniff использует методики: необработанные сокеты - RAW Sockets, WinCap Capture Driver и Microsoft Network Monitor Driver. Программа поддерживает русский язык и проста в использовании.
SmartSniff отображает следующую информацию: название протокола, локальный и удаленный адрес, локальный и удаленный порт, локальный узел, название службы, объем данных, общий размер, время захвата и время последнего пакета, длительность, локальный и удаленный МАС адрес, страны и содержание пакета данных. Программа обладает гибкими настройками, в ней реализована функция фильтра захвата, распаковка ответов http, преобразования ip адреса, утилита сворачивается в системный трей. SmartSniff формирует отчет о потоках пакетовв виде HTML страницы. В программе возможно выполнить экспорт потоков TCP/IP.