Інтернет Windows Android

Сніффер під Windows Intercepter-NG (інструкція по використанню). Кращі інструменти пен-тестера: сніфери і робота з пакетами Завантажити програму сниффер

SmartSniff - TCP / IP сниффер, який дозволяє захоплювати пакети, які проходять через ваш мережевий адаптер і переглядати захоплені дані як послідовність спілкування між клієнтом і сервером. Перегляд вмісту пакетів можливий в форматі ASCII (для текстових протоколів, таких як HTTP, SMTP, POP3 і FTP) і у вигляді HEX \u200b\u200bкоду. Для використання SmartSniff установка не потрібно, просто розпакуйте архів і запустіть програму. Розробник поширює SmartSniff абсолютно безкоштовно.

Ключові особливості та функції

SmartSniff надає три способи захоплення TCP / IP пакетів:

1. Raw Sockets. Дозволяє захоплювати мережеві пакети без установки драйвера захоплення. Але цей метод має ряд обмежень:

  • вихідні UDP і ICMP пакети не відслідковуються;
  • в Windows XP SP1 не відслідковуються взагалі завдяки помилку Microsoft, Яка присутня в SP1. Ця помилка була усунена в пакеті оновлень SP2, але знову з'явилася в Windows Vista;
  • в Windows Vista SP1 відслідковуються тільки UDP пакети.

2. За допомогою драйвера захоплення пакетів WinPсap. Дозволяє фіксувати всі пакети під усіма операційними системами Windows. Цей спосіб є кращим і для його використання необхідно встановити драйвер WinPcap.

3. Microsoft Network Monitor Driver (тільки для Windows 2000 / XP / 2003). Microsoft надає безкоштовний драйвер для захоплення пакетів, але він не встановлений за замовчуванням, тому його потрібно встановити. Є два способи для установки Microsoft Network Monitor Driver:

  • з диска Windows;
  • скачати Windows XP Service Pack 2 Support Tools. Один з інструментів в цьому пакеті - netcap.exe. Запустіть його, і драйвер встановиться автоматично.

Режим перегляду.
SmartSniff має три режими перегляду пакетів: Автоматичний, ASCII, HEX. При автоматичному режимі SmartSniff перевіряє перший байт захоплених даних - якщо він містить символ менше ніж 0x20, то він виводить дані в режимі HEX, інакше в режимі ASCII. Режим показу вмісту пакетів можна легко переключити, вибравши потрібний в меню.

Експорт даних.
Верхня панель: Ви можете вибрати потрібні елементи у верхній панелі, скопіювати в буфер обміну і вставити в Excel або електронну таблицю OpenOffice.org. Також можна зберегти їх у форматі text / HTML / XML (використовуючи "Save Packet Summaries").
Нижня панель: Можна виділити потрібний текст, і вставити його в потрібний текстовий редактор або зберегти його прямо в текстовий файл, файл HTML або RAW файл, Використовуючи опцію "Export TCP / IP Streams".

Що нового в цій версії?

2.26 (20.07.2016)

  • тепер програма автоматично завантажує нову версію драйвера WinPCap з https://nmap.org/npcap/ якщо він встановлений в системі;
  • SmartSniff тепер намагається завантажити DLL Network Monitor Driver 3.x (NmApi.dll) відповідно до шляхом, позначеним в HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Microsoft \\ Netmon3. Це повинно вирішити проблему із завантаженням Network Monitor Driver 3.x на деяких системах.

У кожного з команди] [свої переваги по частині софта і утиліт для
пен-тесту. Порадившись, ми з'ясували, що вибір так різниться, що можна
скласти справжній джентльменський набір з перевірених програм. На тому і
вирішили. Щоб не робити збірну солянку, весь список ми розбили на теми - і в
Цього разу торкнемося утиліт для сніфінга і маніпулювання пакетами. користуйся на
здоров'я.

Wireshark

Netcat

Якщо говорити про перехоплення даних, то Network Miner зніме з «ефіру»
(Або з заздалегідь підготовленого дампа в PCAP-форматі) файли, сертифікати,
зображення та інші медіа, а також паролі та іншу інфу для авторизації.
Корисна можливість - пошук тих ділянок даних, що містять ключові слова
(Наприклад, логін користувача).

Scapy

сайт:
www.secdev.org/projects/scapy

Must-have для будь-якого хакера, який представляє собою найпотужнішу ТУЛЗ для
інтерактивної маніпуляції пакетами. Прийняти і декодувати пакети самих
різних протоколів, відповісти на запит, инжектировать модифікований і
власноруч створений пакет - все легко! З її допомогою можна виконувати цілий
ряд класичних задач, на кшталт сканування, tracorute, атак і визначення
інфраструктури мережі. В одному флаконі ми отримуємо заміну таких популярних утиліт,
як: hping, nmap, arpspoof, arp-sk, arping, tcpdump, tetheral, p0f і т.д. У той
же самий час Scapy дозволяє виконати будь-яке, навіть саме специфічне
завдання, яке ніколи не зможе зробити вже створене іншим розробником
засіб. Замість того щоб писати цілу гору рядків на Сі, щоб, наприклад,
згенерувати неправильний пакет і зробити фаззінга якогось демона, досить
накидати пару рядків коду з використанням Scapy! У програми немає
графічного інтерфейсу, а інтерактивність досягається за рахунок інтерпретатора
Python. Трохи освоїшся, і тобі вже нічого не буде коштувати створити некоректні
пакети, инжектировать потрібні фрейми 802.11, поєднувати різні підходи в атаках
(Скажімо, ARP cache poisoning і VLAN hopping) і т.д. Розробники самі наполягають
на те, щоб можливості Scapy використовувалися в інших проектах. підключивши її
як модуль, легко створити утиліту для різного роду дослідження локалки,
пошуку вразливостей, Wi-Fi інжекції, автоматичного виконання специфічних
задач і т.д.

packeth

сайт:
Платформа: * nix, є порт під Windows

Цікава технологія, що дозволяє, з одного боку, генерувати будь-який
ethernet пакет, і, з іншого, відправляти послідовності пакетів з метою
перевірки пропускної здатності. На відміну від інших подібних тулз, packeth
має графічний інтерфейс, дозволяючи створювати пакети в максимально простий
формі. Далі більше. Особливо опрацьовано створення і відправка
послідовностей пакетів. Ти можеш встановлювати затримки між відправленням,
слати пакети з максимальною швидкістю, щоб перевірити пропускну здатність
ділянки мережі (ага, ось сюди-то і будуть ДДОС) і, що ще цікавіше -
динамічно змінювати параметри в пакетах (наприклад, IP або MAC-адресу).

У цій статті ми розглянемо створення простого сніффер під ОС 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 \u003d 1; SOCKET socket; #define SIO_RCVALL 0x98000001 ioctlsocket (socket, SIO_RCVALL, & RS_Flag);
Наша програма оперує IP-пакетами, і використовує бібліотеку Windows Sockets версії 2.2 і «сирі» сокети (raw sockets). Для того щоб отримати прямий доступ до IP-пакету, сокет потрібно створювати такий спосіб:
Створення сирого сокета
s \u003d 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 \u003d 0; count \u003d recv (RS_SSocket, (char *) & RS_Buffer, sizeof (RS_Buffer), 0); if (count\u003e \u003d sizeof (IPHeader)) (hdr \u003d (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 \u003d 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 \u003d 0) (if (h-\u003e xsum) SetConsoleTextColor (0x17); // якщо пакет не порожній else SetConsoleTextColor (0x07) ; // порожній пакет if (haddr \u003d\u003d h-\u003e src) (SetConsoleTextColor (BACKGROUND_BLUE | / * BACKGROUND_INTENSITY | * / FOREGROUND_RED | FOREGROUND_INTENSITY); // "рідний" пакет на віддачу) else if (haddr \u003d\u003d h-\u003e dest ) (SetConsoleTextColor (BACKGROUND_BLUE | / * BACKGROUND_INTENSITY | * / FOREGROUND_GREEN | FOREGROUND_INTENSITY); // "рідний" пакет на прийом) if (h-\u003e protocol \u003d\u003d PROT_ICMP || h-\u003e protocol \u003d\u003d PROT_IGMP) (SetConsoleTextColor (0x70) ; // ICMP-пакет) else if (h-\u003e protocol \u003d\u003d PROT_IP || h-\u003e protocol \u003d\u003d 115) (SetConsoleTextColor (0x4F); // IP-in-IP-пакет, L2TP) else if (h- \u003e protocol \u003d\u003d 53 || h-\u003e protocol \u003d\u003d 56) (SetConsoleTextColor (0x4C); // TLS, IP with Encryption) if (whost \u003d\u003d h-\u003e dest || whost \u003d\u003d h-\u003e src) (SetConsoleTextColor (0x0A);))

Однак це суттєво виходить за рамки цієї статті. Для нашого навчального прикладу цілком достатньо буде подивитися ip-адреси хостів, з яких і на які йде трафік, і порахувати його кількість в одиницю часу (готова програма в архіві в кінці статті).

Для того, щоб відобразити дані IP-заголовка, необхідно реалізувати функцію перетворення заголовка (але не даних) дейтаграми в рядок. Як приклад реалізації, можна запропонувати такий варіант:

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

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

Що у нас вийшло в результаті:

  • Сніффер працює в режимі користувача, однак вимагає привілеї адміністратора.
  • Пакети не фільтруються, відображаючись як є (можна додати настроюються фільтри - пропоную детально розглянути цю тему в наступній статті, якщо цікаво).
  • WiFi-трафік теж захоплюється (все залежить від конкретної моделі чіпа, у Вас може і не працювати, як у мене кілька років тому), хоча є AirPcap, яка чудово це вміє робити, але коштує грошей.
  • Весь потік дейтаграм логіруется в файл (див. Архів, прикладений в кінці статті).
  • Програма працює в якості сервера на порту 2000. Можна підключитися за допомогою утиліти telnet до хосту і зробити моніторинг потоків трафіку. Кількість підключень обмежена двадцятьма (код не мій, знайшов на просторах мережі і застосовував для експериментів; видаляти не став - шкода)
Дякую за увагу, проздравлять хабровчан і хабровчанок і всіх-всіх-всіх з наступаючим Різдвом!

Програма Wireshark стане відмінним помічником для тих користувачів, кому потрібно зробити детальний аналіз мережевих пакетів, - трафіку комп'ютерної мережі. Сніффер легко взаємодіє з такими поширеними протоколами, як netbios, fddi, nntp, icq, x25, dns, irc, nfs, http, tcp, ipv6 і багатьма іншими. Дозволяє при аналізі розділяти мережевий пакет на відповідні складові, згідно з визначеним протоколу, і видавати на екран легку для читання інформацію в числовому вигляді.
підтримує величезну кількість різноманітних форматів переданої і отриманої інформації, здатний відкривати файли, які знаходяться в користуванні інших утиліт. Принцип роботи полягає в тому, що мережева картка переходить в широкомовний режим і починається перехоплення мережевих пакетів, які знаходяться в зоні її видимості. Вміє працювати як програма для перехоплення пакетів wifi.

Як користуватися wireshark

Програма займається вивченням вмісту інформаційних пакетів, які проходять через мережу. Щоб запустити і скористатися результатами роботи сніффер не потрібно ніяких специфічних знань, просто потрібно відкрити її в "Пуск" меню або клікнути по значку на робочому столі (її запуск нічим не відрізняється від будь-якої іншої Windows програми). Особлива функція утиліти дозволяє їй захоплювати інформаційні пакети, ретельно розшифровувати їх вміст і видавати користувачу для аналізу.

Запустивши wireshark, Ви побачите на екрані головне меню програми, яке розташоване у верхній частині вікна. За допомогою нього і відбувається управління утилітою. Якщо вам потрібно завантажити файли, які зберігають дані про пакетах, спійманих в попередніх сесіях, а також зберегти дані про інших пакетах, здобуті в новому сеансі, то для цього вам буде потрібно вкладка "File".

Щоб запустити функцію захоплення мережевих пакетів, користувач повинен натиснути на іконку "Capture", потім відшукати спеціальний розділ меню під назвою "Interfaces", за допомогою якого можна відкрити окреме вікно "Wireshark Capture Interfaces", де повинні будуть показані всі доступні мережеві інтерфейси, через які і буде проведений захоплення потрібних пакетів даних. У тому випадку, коли програма (сниффер) здатна виявити тільки один відповідний інтерфейс, вона видасть на екран всю важливу інформацію про нього.

Результати роботи утиліти є прямим доказом того, що, навіть якщо користувачі самостійно не займаються (в даний момент часу) передачею будь-яких даних, в мережі не припиняється обмін інформацією. Адже принцип роботи локальної мережі полягає в тому, що для підтримки її в робочому режимі, кожен її елемент (комп'ютер, комутатор та інші пристрої) безперервно обмінюються між собою службовою інформацією, тому для перехоплення таких пакетів і призначені подібні мережеві інструменти.

Є версія і для Linux систем.

Варто зазначити, що сниффер вкрай корисний для мережевих адміністраторів і служби комп'ютерної безпеки, адже утиліта дозволяє визначити потенційно незахищені вузли мережі - ймовірні ділянки, які можуть бути атаковані хакерами.

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


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