Какой самый распространенный протокол используется в таких одноранговых приложениях как wireshare
Что ни говори, но мы все привыкли делиться определенной информацией самыми различными способами. В современной глобальной сети существуют различные варианты для получения необходимых данных, но сами эти данные бывают разными. Это может быть обычный текст, музыкальная композиция, программа, видеоролик, целый фильм или что-то иное.
Для разных типов данных применяются разные способы их передачи. К одному из таких способов можно отнести пиринговые сети (P2P), с помощью которых можно обмениваться файлами практически любого размера – от совсем небольших, до тех, которые достигают нескольких десятков гигабайт. Конечно, это не единственная сфера применения одноранговых сетей (это исходное название сетей такого типа). Например, с помощью них можно производить распределенные вычисления, позволяющие задействовать удаленные компьютеры пользователей для выполнения сложной обработки данных. Но в рамках нашего материала мы будем рассматривать эту технологию, именно как удобный инструмент для файлообмена в сети между пользователями.
Пиринговые сети имеют свои правила обмена данными между пользователями, а для осуществления самого обмена требуется использование определённых программ. Наверняка многие из вас слышали такие названия, как µTorrent, eMule, Shareaza, KaZaAи прочие, которые упоминаются, как правило, когда речь заходит о получении какой-либо информацией из сети. Но давайте обо все по порядку. В этом материале мы разберемся, что же такое пиринговые сети, а так же обратим внимание на их самые важные и ключевые моменты работы, дабы принцип их существования стал более понятным.
ЧТО ТАКОЕ ПИРИНГОВЫЕ СЕТИ
Для возможности получения доступа к определенной информации, находящейся у разных пользователей, придумали компьютеры объединять в локальные сети, с помощью которых, у людей появилась возможность удаленно обмениваться данными, хранящимися на их устройствах. При этом сами способы организации сетей могут быть разными и иметь свои достоинства и недостатки.
Одним из таковых является вариант, когда все объединённые между собой компьютеры имеют равнозначные функции, то есть, могут, как принимать информацию, выступая в роли сервера, так ее и отдавать, выступая в роли клиента. Такие сети получили название одноранговых или пиринговых (P2P), от английского «peer-to-peer», что дословно можно перевести как, «равный к равному». Еще такие сетевые объединения называют децентрализованными.
ПРИНЦИП РАБОТЫ ПИРИНГОВЫХ СЕТЕЙ
По своей сути пиринговая сеть представляет собой объединение компьютеров, которое базируется исключительно на равноправии всех участников, называемых в таких системах пирами. От клиент-серверной архитектуры, легшую в основу построения Интернета, такие сети отличаются непосредственно тем, что подобная организация способна сохранить работоспособность совершенно всей пиринговой сети при любом количестве доступных узлов (пиров), а также при любом их сочетании. То есть, при работе с обычными сетями все зависит от пропускной способности самого сервера, а в случае пиринговых сетей такого существенного недостатка нет.
Что бы более наглядно понять разницу между клиент-серверной и пиринговой архитектурой, давайте рассмотрим пример передачи файла по сети в каждой из них. Любая информация в сети передается небольшими кусочками, так называемыми пакетами. Чтобы передать файл от одного компьютера другому, его тоже необходимо разделить на множество частей (пакетов), которые после скачивания собираются в единое целое на машине пользователя, который этот файл запросил.
В случае, когда используется клиент-серверная модель, вам необходимо найти в сети какой-то определенный сервер с нужным вам файлом и скачать его оттуда. При этом, скорость отдачи файла сервером, будет напрямую зависеть от его пропускной способности и загруженности в этот момент времени. То есть, если будут тысячи желающих получить единовременно какие-то данные с этого узла, то скорость отдачи в этот момент может быть очень низкой, так как возможности сервера будут поделены между всеми запросами. Так же стоит отметить, что в случае какого-либо сбоя в работе сервера, вся информация на нем станет недоступна и вам придется заняться поиском нового источника нужного файла.
С пиринговой моделью передачи данных по сети дела обстоят несколько по-другому. Здесь не нужно находить конкретный сервер (узел), содержащий необходимый вам файл. С помощью специальных каталогов достаточно просто убедиться, что он где-то присутствует в сети. Если объект найден, то вы легко его можете скачать с помощью специальной программы. Основное отличие от вышеописанного способа заключается в том, что кусочки файла будут приниматься одновременно от нескольких источников. Помните, о чем мы говорили ранее? В одноранговых сетях все компьютеры пользователей являются серверами, а это значит, что закачка файла может вестись одновременно с многих машин, на которых он имеется. Именно поэтому, если каких-то пользователей имеющих нужный вам объект в определенное время не будет в сети, то выручат другие, а скорость получения информации, будет зависеть от количества людей, имеющих ее и конечно, возможностей вашего пропускного канала.
Как уже было сказано ранее, одной из основных сфер применения P2P-сетей является обмен файлами. Описанная выше модель «чистой» одноранговой сети в современной сфере файлообмена практически не встречается. Несмотря на некоторые преимущества такого варианта, например высокую скорость распространения запросов и надежность самой системы, при такой организации обмена данными, существуют и недостатки. Одним из таковых можно назвать сложность поиска именно тех пользователей, у которых имеется нужный в данный момент времени файл и в тоже время находящихся в сети в активном состоянии. Разрешить эту трудность, удалось с помощью использования гибридных сетей, где все же существуют выделенные серверы, на которые возложены функции координации работы, поиска существующих машин в сети, а так же определения их текущего статуса («в сети» или «не в сети»). Именно такая гибридная модель и была положена в основу большинства современных пиринговых файлообменных сетей.
Для того, что бы пользователь смог стать полноправным участником, той или иной файлообменной сети, необходимо установить на свой компьютер специальную программу-клиент, с помощью которой и будет осуществляться обмен файлами. Причем для разных сетей используется разное программное обеспечение.
ПОПУЛЯРНЫЕ ФАЙЛООБМЕННЫЕ P2P-СЕТИ
В глобальной сети существует несколько десятков крупных файлообменных сетей и огромное количество небольших, например, действующих в рамках одного провайдера. Несмотря на то, что все эти системы являются одноранговыми (децентрализованными) или гибридными (частично децентрализованными) и используют общую концепцию передачи данных, характерную для этих сетей, у каждой из них могут быть свои уникальные принципы и критерии существования, протоколы передачи данных, а так же собственное клиентское программное обеспечение.
К наиболее крупным и популярным файлообменным сетям можно отнести:
- ED2K (eDonkey2000). Для обмена файлами по протоколу MFTP используется клиент eMule или более устаревший Edonkey. Поддержка этого проекта была прекращена разработчиками в 2005 году, правда сама сеть продолжает функционировать.
- BitTorrent – самая популярная файлообменная сеть, с высокой скоростью передачи данных. К основным клиентам можно отнести uTorrent, BitComet, BitSpirit, Azureusи прочие.
- Direct Connect – связанные между собой небольшие хабы (сервера), используемые для поиска информации на компьютерах участников этих сетей. Используется для организации файлового обмена в крупных районных или городских локальных сетях. Основной клиент - DC++.
- Gnutella и Gnutella2 – одноранговые сети в чистом виде, использующие для передачи данных свой собственный протокол, разработанный фирмой Nullsoft. Основные клиенты: Shareaza, LimeWire, Phex, Morpheusи прочие.
- FastTrack. Использует классическую версию протокола P2P, правда в передаче информации участвуют только те источники, которые имеют полные версии файлов. Основные клиенты – KaZaA, giFT(KCeasy) и mlDonkey.
ПРАВИЛА ФАЙЛОВОГО ОБМЕНА В ПИРИНГОВЫХ СЕТЯХ
Как и во множестве иных сообществ, в пиринговых сетях имеется определенный набор своих собственных правил, которых стоит придерживаться и стараться не нарушать. Они, вполне просты и очевидны, однако многие не всегда их выполняют, забывая, что грубые нарушения могут привести к исключению вашего компьютера из системы обмена или как минимум к отказу других пользователей делиться с вами информацией.
Как уже было сказано выше, в основе P2P-сетей лежит принцип равноправия, из которого следует, что файлы нужно не только скачивать, но и обязательно ими делиться. Это самое основное правило, нарушать которое нельзя. Если вы желаете только получать информацию, то в таком случае к вашим услугам множественные файлообменные серверы, типа DepositFiles, Rapidshare, Letitbit, Vip-Files и прочих, использующих клиент-серверную архитектуру. Правда, бесплатно скачивать данные с таких серверов получиться только после просмотра кучи рекламы и на низкой скорости.
Участвуя в обмене файлов в пиринговых сетях желательно больше отдавать информации, чем получать или как минимум делать это в равных частях. Если объем скачиваемой информации будет превышать количество отдаваемой в несколько раз, скорее всего к такому участнику будут применены штрафные санкции, не позволяющие получать данные до тех пор, пока пользователь не начнет ими делиться с другими.
Чтобы не попадать в неприятные ситуации, следует придерживаться нескольких элементарных правил:
- После того, как закончилось скачивание файла, не нужно его сразу удалять. Пока есть возможность, продолжайте держать его на вашем компьютере, чтобы дать возможность другим скачивать его.
- Не перемещайте скаченные файлы сразу же после их загрузки, иначе они станут недоступными для других пользователей.
- Без особой необходимости не стоит занижать скорость исходящего соединения. Естественно, это является определенной нагрузкой на компьютер, однако при низкой скорости отдачи и объемы информации, получаемые от вас другими пользователями, будут малы.
- Помните, что ваши интересы могут не совпадать с интересами других пользователей, так что на всякий случай, держите всегда на своем компьютере несколько популярных файлов, которые будут интересны многим.
ЗАКЛЮЧЕНИЕ
На сегодняшний день, в пиринговых сетях можно найти практически любую информацию: музыка, видеоклипы, фильмы любого качества, игры, программное обеспечение и многое другое. При этом получить все это можно абсолютно бесплатно. Конечно, все это способствует активному развитию файлообмена через P2P-сети, а количество данных, кочующих в таких системах, с каждым годом растет в геометрической прогрессии.
Правда, в последнее время над некоторыми пиринговыми сетями стали сгущаться тучи. А всему виной – распространение через них огромного количества пиратского контента. Вопрос о защите авторских прав при использовании таких сетей сейчас стоит очень остро, ведь распространение таким способом некоторых материалов, безусловно, нарушает авторские права владельцев. Некоторые правообладатели, пытаясь запретить бесплатное распространение контента, с переменным успехом добиваются запрета или ограничения на функционирование некоторых популярных серверов (трекеров) пиринговых сетей. Дискуссии на эту тему уже давно ведутся, только к какому-то конкретному выводу, равно как и действию, на данный момент, прийти, еще пока не удалось. Как следствие – защищенные копирайтом файлы как распространялись, так все еще и распространяются.
В дополнение к клиент-серверной модели организации сети, существует также одноранговая модель. Структура одноранговой сети (также называют пиринговая сеть, децентрализованная сеть, сеть точка-к-точке, сеть узел-к-узлу и т.п.) включает две различные формы: одноранговая сеть и пиринговые приложения (P2P). Обе формы имеют сходные особенности, но на практике работают совершенно по-разному.
Одноранговые Сети
В одноранговой сети два или более компьютера соединены через сеть и могут обмениваться ресурсами (такими как принтеры и файлы), не имея выделенного сервера. Каждое подключенное конечное устройство (известное как узел) может функционировать либо как сервер, либо как клиент. Один компьютер может играть роль сервера для одной транзакции, и в то же время, быть клиентом для другой. Роли клиента и сервера устанавливаются на основе запроса.
Простая домашняя сеть с двумя соединенными компьютерами, использующими общий принтер, является примером одноранговой сети. Каждый может настроить свой компьютер для обмена файлами, возможности играть в сетевые игры и для совместного (общего или разделяемого) подключения к Интернету. Другой пример одноранговой сети - это два компьютера, подключенные к крупной сети, которые используют приложения для обмена ресурсами друг с другом.
В отличие от клиент-серверной модели, которая использует выделенные серверы, одноранговые сети децентрализуют ресурсы в сети. Вместо хранения информации на выделенных серверах, данные могут располагаться где угодно (на любом из подключенных устройств). Большинство современных операционных систем поддерживают обмен файлами и принтерами без необходимости установки дополнительного серверного программного обеспечения. Поскольку одноранговые сети обычно не ипользуют централизованные пользовательские аккаунты, разрешения, или регистраторы, довольно сложно обеспечить безопасность и политики доступа в сетях, содержащих значительное количество компьютеров. Пользовательские аккаунты и права доступа должны быть установлены индивидуально на каждом устройстве.
Одноранговые (Пиринговые) Приложения
Одноранговое приложение (P2P), в отличие от одноранговой сети, позволяет устройству выступать в роли как клиента, так и сервера в пределах одной и той же коммуникации. В этой модели, каждый клиент является сервером, а каждый сервер - клиентом. Оба могут инициировать коммуникацию и считаются равными в процессе коммуникации. Однако, одноранговые приложения требуют, чтобы каждое конечное устройство предоставляло пользовательский интерфейс и запускало фоновую службу. Когда Вы запускаете специфическое одноранговое приложение, оно вызывает требуемый интерфейс пользователя и фоновые службы. После этого устройства могут осуществлять коммуникацию напрямую.
Некоторые P2P приложения используют гибридную систему, где разделяемый ресурс децентрализован, но индексы, которые указвают на расположения ресурсов, хранятся в централизованной директории. В гибридной системе каждый узел обращается к индексному серверу, чтобы получить местоположение ресурса, хранимого на другом узле. Индексный сервер может также играть роль при соединении двух узлов, но как только подключение произойдет, коммуникация между двумя узлами будет происходить без использования дополнительной информации с сервера индексов.
Одноранговые приложения могут использоваться в одноранговых сетях, клиент-серверных сетях и через Интернет.
User Datagram Protocol (User Datagram Protocao, UDP) в современных сетях чаще используется в другом слое 4 протокола. Если TCP является надежной передачей данных для того, чтобы встретиться с обнаружением ошибок, присущим, то UDP предназначено для обеспечения высокоскоростной передачи. UDP это услуга наиболее усилий, часто называют протоколом без установления соединения
Протокол установления соединения и не формально установить связь между хостом и концом, а также будет никакого процесс квитирования не прекращается, как TCP, как
Connectionless протокол не предназначен для обеспечения надежной службы, но полагается по протоколу UDP часто Будет ли иметь свой собственный встроенный надежность, сервис, или использовать некоторые из особенностей ICMP, чтобы убедиться, что соединение является более надежным Отказ Например: протокол прикладного уровня DHCP и DNS, в значительной степени зависит от скорости передачи пакетов данных по сети, хотя использование UDP в качестве протокола транспортного уровня, но все же их собственные проверки ошибок и повторной передачи синхронизации
заголовок UDP TCP гораздо меньше, чем голова, также намного проще
Источник порт: порт, используемый для передачи пакетов данных
Порт данных пакетов, подлежащих передаче: порт назначения
Длина: длина байт пакета (заголовок + длина данных всего UDP)
Контрольная сумма: целостность заголовка UDP и данных для обеспечения прибытия
Примечание: UDP не заботится о надежности передачи, поэтому любые приложения, использующие UDP при необходимости необходимо принимать специальные меры, чтобы обеспечить надежную передачу
Это противоположно и TCP, TCP соединение имеет свой собственный набор программы официально запущен и завершено, есть некоторые собственный механизм для проверки успешной передачи пакетов
Интеллектуальная рекомендация
Gensim Skip-Gram модель для Word2Vec
Вступление Генизм - это библиотека Python с открытым исходным кодом, которая используется для легко эффективно извлечь семантические темы в документах. Он используется для обработки оригинального, нес.
Встраиваем VSCode в OpenCV IDE (C ++, window10 1803)
Каталог статей вступление окружение шаг 1. Конфигурация Visual Studio Code 2. Конфигурация OpenCV 3. Конфигурация MinGw 4. Конфигурация cmake 5. Конфигурация проекта 6. Ссылка на ссылку В конце концов.
Интеграция и инструменты fastDFS + spring + maven
После завершения установки его нужно интегрировать в проект. 1. Поместите файл в папку config. 1.1 Содержание файла tracker_server = 192.168.1.202: 22122 - адрес сервера отслеживания, номер порта по у.
Основы Linux
Пользователи Linux делятся на два типа: Пользователь суперадминистратора: root, хранится в каталоге / root Обычные пользователи: хранятся в каталоге / home Каталог Linux /: [*] Корневой каталог. Как п.
Как перехватить пароли в WireShark
В этой статье я постараюсь подробно рассказать о каждом протоколе, пароли которого можно получить с помощью WireShark..
Сетевые протоколы без шифрования пароля
Так как же на самом деле возможно, что Wireshark может перехватывать пароли? Это потому, что некоторые сетевые протоколы не используют шифрование. Такие протоколы называются протоколами с открытым текстом (или обычным текстом). А поскольку протоколы открытого текста не шифруют обмен данными, невооруженным глазом видны все данные, включая пароли. Любой, кто способен видеть общение (например, мужчина в центре), в конечном итоге может видеть все.
В следующей таблице перечислены некоторые из наиболее популярных протоколов с открытым текстом, которые все еще используются сегодня, а также некоторые другие протоколы, которые позволяют аутентификацию с открытым текстом:
В следующих главах мы более подробно рассмотрим эти протоколы и увидим примеры захваченных паролей с помощью Wireshark.
Перехват пароля FTP
Протокол передачи файлов (FTP) появился в далеком 1971 году и как правило использует порты tcp 20, 21. Это очень старый протокол, но некоторые организации до сих пор используют его в своих сетях.
Захват пароля FTP с помощью Wireshark
Извлечение файлов с FTP с помощью Wireshark
Мы также могли бы использовать Chaosreader для извлечения данных из файла PCAP.
Перехват пароля Telnet
Протокол Telnet, использующий порт tcp / 23, конечно же, в представлении не нуждается. Он используется в основном для административных целей и известен своей небезопасностью. Поскольку нет шифрования, нет ни конфиденциальности, ни защиты от подслушивания. Тем не менее, Telnet используется и сегодня.
- Сетевое оборудование (роутеры, коммутаторы ..)
- Системы видеоконференцсвязи (например, Cisco TelePresence)
- Системы контроля доступа (например, считыватели карт доступа)
- Системы хранения и ленты
- Принтеры и устройства обработки изображений
- Устаревшие IP-телефоны
- Мэйнфреймы
Теперь злоумышленник может полностью захватить маршрутизатор Cisco.
Перехват пароля SMTP
Простой протокол передачи почты (SMTP) также используется в течение многих десятилетий. Он использует порт tcp / 25, и хотя есть безопасная альтернатива для порта tcp / 464, порт tcp / 25 сегодня открыт практически на каждом почтовом сервере из-за обратной совместимости.
Большинству серверов на порту tcp / 25 требуется команда «STARTTLS» для инициации шифрования SSL / TLS перед любыми попытками аутентификации. Однако почтовые серверы в некоторых организациях по-прежнему поддерживают аутентификацию в виде обычного текста по незашифрованному каналу. В основном это связано с устаревшими системами в их внутренних сетях.
На следующем снимке экрана мы видим захваченные учетные данные SMTP с использованием Wireshark и последующее декодирование base64 с помощью утилиты base64 в Linux:
В Windows мы могли бы использовать команду certutil.exe для декодирования захваченных учетных данных следующим образом:
Перехват пароля IMAP4
На следующем снимке экрана показаны учетные данные IMAP, полученные из сети с помощью Wireshark:
Обратите внимание, что IMAP4 также использует кодировку base64 аналогично SMTP. Следовательно, необходимо снова декодировать захваченную аутентификацию, чтобы получить имя пользователя и пароль в виде открытого текста. Обратите внимание на NULL-байт (\ 0) между именем пользователя и паролем, разделяющим их на приведенном выше снимке экрана.
Теперь злоумышленники могли получить доступ к почтовому ящику Джо и прочитать любую его электронную почту.
Используя Wireshark, мы также можем легко извлекать из сетевого трафика такие файлы, как изображения, документы и аудиофайлы. Брэд Дункан из PaloAlto Networks написал отличную статью, описывающую, как извлекать данные из различных сетевых протоколов с помощью Wireshark. Существует также инструмент Chaosreader, который позволяет извлекать данные из файла PCAP.
Перехват строки сообщества SNMP
Хотя протокол SNMPv3 существует уже почти два десятилетия, на это нужно время. Большинство организаций по-прежнему используют v1 или v2c в своих внутренних сетях. Обычно это связано с обратной совместимостью с устаревшими системами в их сетях.
Вот пример захваченной строки сообщества SNMP с помощью Wireshark:
Теперь злоумышленник мог использовать строку сообщества и собирать подробную информацию об удаленной системе. Это может позволить злоумышленнику узнать конфиденциальные сведения о системе и спланировать дальнейшие атаки против нее. Обратите внимание, что иногда строка сообщества также позволяет изменять конфигурацию в удаленной системе (доступ для чтения / записи).
Перехват пароля LDAP
Облегченный протокол доступа к каталогам (LDAP) реализует протокол для доступа и обслуживания информационных служб каталога. Обычно он работает на порту tcp / 389 как незашифрованный текстовый сервис. Следовательно, он подвержен подслушиванию, как и любой другой протокол открытого текста.
LDAP может использовать несколько методов аутентификации. Самый простой метод называется «простым» и заключается в том, чтобы ввести имя пользователя и пароль в виде открытого текста. Следовательно, любой, кто имеет возможность проверять сетевой трафик, может очень легко перехватить простую аутентификацию LDAP.
Вот пример аутентификации LDAP, полученный с помощью Wireshark:
Кроме того, в средах Windows Active Directory контроллеры домена обычно открывают интерфейс LDAP через порт tcp / 389. Обычно в сети есть несколько систем, интегрированных с Active Directory с использованием интерфейса LDAP, например системы посещаемости, системы контроля доступа, принтеры и т. д. В таких случаях эти системы могут позволить злоумышленнику перехватить действительные учетные данные пользователя домена через LDAP, если они не защищены должным образом. Посмотрите здесь пример из одного из наших пентестов.
Перехват пароля SOCKS
На следующем снимке экрана показан пример аутентификации SOCKS5, полученной с помощью Wireshark:
Теперь злоумышленник может использовать прокси-сервер SOCKS и получить доступ к системам на стороне сервера.
Захватить пароль MSSQL
Сервер Microsoft SQL обычно работает на порту tcp / 1433, и это еще одна служба, для которой мы можем захватывать пароль с помощью Wireshark. Если сервер не настроен с опцией «ForceEncryption», можно перехватить аутентификацию в виде простого текста либо напрямую, либо с помощью атаки перехода на более раннюю версию. «Человек посередине» может очень легко перехватить учетные данные MSSQL.
Вот пример захваченного пароля MSSQL пользователя sa с помощью Wireshark:
Перехват пароля PostgreSQL
Обратите внимание, что аутентификация PostgreSQL идет в виде нескольких пакетов. Сначала идет имя пользователя и имя базы данных:
В последующем сетевом пакете мы также можем увидеть пароль PostgreSQL:
Перехват пароля IRC
С этими учетными данными мы теперь могли подключиться к защищенному паролем IRC-серверу.
Перехват пароля OSPF
Теперь злоумышленник может отправлять ложные объявления о маршруте, перенаправлять потоки сетевого трафика или нарушать предоставляемые услуги (подключение).
Перехват пароля BFD
Протокол Bidirectional Forwarding Detection (BFD), указанный в 2010 году, используется для предоставления диагностической информации между двумя подключенными системами. Обычно он используется вместе с протоколами маршрутизации, такими как BGP или OSPF, для быстрого обнаружения сбоев в канале. Этот протокол обычно используется в очень больших сетях и в магистральных сетях различных поставщиков услуг (например, ISP).
Перехват логина и пароля STUN
Вот пример захваченной аутентификации STUN с использованием Wireshark:
Теперь злоумышленник может выполнить обход NAT и потенциально создать каналы для доступа к внутренним системам извне.
Часто задаваемые вопросы (FAQ)
В этом разделе приведены ответы на некоторые из часто задаваемых вопросов, когда дело доходит до захвата сетевого трафика с помощью Wireshark. Большинство из них применимо к любому снифферу пакетов.
Можно ли обнаружить Wireshark?
В большинстве случаев нет. Запущенный полностью пассивный сниффер пакетов не может быть обнаружен, поскольку он только пассивно прослушивает сеть. Но при определенных обстоятельствах его можно обнаружить, и это применимо к каждому снифферу пакетов. Существует метод обнаружения сниффера пакетов, который работает только в том случае, если узел сниффинга:
находится в той же локальной сети
не имеет правила брандмауэра, которое блокирует входящие пакеты ICMP
выполняет обнюхивание с помощью интерфейса с включенным TCP / IP и, таким образом, может отвечать на входящий пакет ICMP
Метод работает путем отправки пакета проверки связи ICMP узлу прослушивания с неправильным MAC-адресом назначения. Узел сниффинга получит его, а операционная система ответит на него, несмотря на то, что он не адресован ему. Здесь есть сценарий Nmap для этого метода.
Безопасно ли использовать Wireshark?
Да, Wireshark в целом безопасен в использовании. Однако имейте в виду, что это программное обеспечение, как и любое другое, и поэтому оно может содержать уязвимости. Всегда используйте последнюю версию с официального сайта, чтобы минимизировать любой потенциальный риск.
Может ли Wireshark захватывать пакеты с других компьютеров?
Да, оно может. Пока пакеты с других компьютеров поступают к нашему сетевому интерфейсу, Wireshark определенно сможет их перехватить. Это потому, что он работает в беспорядочном режиме и, следовательно, захватывает все, что ему приходит.
Но вопрос в том, что к нам приедет? Это очень сильно зависит от нашего логического положения в сети. Мы запускаем Wireshark на маршрутизаторе (шлюзе)? Мы в беспроводной сети? Мы в коммутируемой сети? Захватываем ли мы трафик с порта SPAN? Просто все зависит от обстоятельств.
Подробные инструкции о том, как это сделать в системах Windows, Linux или Mac, можно найти здесь.
Может ли Wireshark захватывать мобильный трафик?
Да, в Wireshark есть ряд анализаторов, которые могут анализировать мобильный трафик, проходящий через сеть мобильной связи (например, GSM). Чтобы это работало, Wireshark должен иметь возможность принимать мобильный трафик с помощью специального оборудования, такого как, например, OsmocomBB-совместимый телефон.
Более подробную информацию об этом можно найти здесь.
Может ли Wireshark отправлять пакеты?
Для внедрения пакетов или создания пакетов см. Такие проекты, как hping, Scappy, Ostinato или т.д.
Может ли Wireshark взломать пароль WiFi?
Короткий ответ, скорее всего, нет. Взломать пароль Wi-Fi с помощью Wireshark невозможно. Независимо от того, как настроена беспроводная сеть или какое шифрование используется, вероятно, невозможно захватить пароль Wi-Fi с помощью Wireshark.
В других случаях, когда используется шифрование (WEP, WPA, WPA2, WPA3 и т. Д.), Wireshark мало поможет получить доступ к сети. Существуют и другие инструменты, предназначенные для получения доступа к таким беспроводным сетям, а именно пакет Aircrack-ng.
Может ли Wireshark блокировать трафик?
Нет, Wireshark не может блокировать сетевой трафик. Wireshark не имеет брандмауэра или возможностей блокировки пакетов. Он не может изменять пакеты в любом направлении и в любой емкости. Wireshark может просто захватывать пакеты, разбирать их и анализировать.
Создание правил брандмауэра с помощью Wireshark
Хотя Wireshark не может блокировать сетевое соединение, он может помочь нам создать правила брандмауэра для нашего брандмауэра. На основе просматриваемого трафика Wireshark может сгенерировать для него правило брандмауэра. Все, что нам нужно сделать, это просто выбрать пакет, который мы хотим заблокировать, и перейти в меню:
Инструменты -> Правила ACL брандмауэра
Создайте правила ACL брандмауэра с помощью Wireshark
Теперь мы можем скопировать и вставить выбранные правила прямо в наш брандмауэр. Wireshark поддерживает синтаксис следующих межсетевых экранов:
- Cisco IOS (стандартный / расширенный)
- IP-фильтр (ipfilter)
- IPFirewall (ipfw)
- Netfilter (iptables)
- Пакетный фильтр (pf)
- Брандмауэр Windows (netsh)
Заключение
Существует множество сетевых протоколов, для которых мы можем выполнить аутентификацию с помощью Wireshark. Пока мы можем подслушивать сетевое общение и пока оно не зашифровано, существует риск. Хорошо позиционированный злоумышленник может перехватить не только пароли, но буквально любую информацию, проходящую по сети.
Зачем вообще нужны анализаторы пакетов?
Для того чтобы проводить исследования сетевых приложений и протоколов, а также, чтобы находить проблемы в работе сети, и, что важно, выяснять причины этих проблем.
Вполне очевидно, что для того чтобы максимально эффективно использовать снифферы или анализаторы трафика, необходимы хотя бы общие знания и понимания работы сетей и сетевых протоколов.
Так же напомню, что во многих странах использование сниффера без явного на то разрешения приравнивается к преступлению.
Для начала захвата достаточно выбрать свой сетевой интерфейс и нажать Start.
После чего и начнется процесс захвата, причем прилетевшие пакеты будут появляться в реальном времени.
В процессе рассмотрения и изучения пакетов бывают ситуации, когда нужно вернуться предыдущему пакету. Для этого есть две кнопки (см скриншот).
И на самом верху идет нечто вроде небольшого обзора собранной информации о кадре.
Про фильтры мы поговорим дальше, а на данном этапе, если нужно быстро отфильтровать лишние пакеты, достаточно сделать правый клик на пакете, выбрать меню Apply as Filter – Not selected и изменения сразу же вступят в силу.
Если нужно еще что-то убрать, то в следующий раз выбирать “and not Selected”, и новое правило просто добавится к фильтру.
Довольно часто при работе с Wireshark возникает ошибка IP checksum offload – ошибка контрольной суммы заголовка IP пакета.
Современные сетевые карты насколько умные, что сами считают контрольную сумму, зачем это делать на уровне стека TCP/IP программно, если можно делать хардварно.
А Wireshark натурально перехватывает пакеты, до того как они попадают в сеть.
И до того как эта сумма была просчитана и была добавлена в заголовок пакета.
Соответственно есть два пути решения этой проблемы — выключать функцию offload в настройках сетевой карты или в настройках сниффера указать, чтобы он не обращал внимание на это значение.
Хардваные функции зачастую лучше софтварных, в основном из-за скорости обработки (в железе обычно выше) поэтому лучше изменить настройки самого сниффера.
Для этого нужно зайти в настройки (Edit — Preferences), затем Protocols – IPv4 – и снять флаг с “Validate IPv4 checksum if possible”.
- Локально на своем хосте;
- Организовать зеркалирование трафика на коммутаторе;
- Подключаться непосредственно в интересующие места;
- или же отравление протокола ARP (еще более незаконно, чем пассивное прослушивание трафика)
Wireshark содержит два вида фильтров – захвата (Capture Filters) и отображения (Display Filters).
Вначале рассмотрим Capture Filters.
Как можно догадаться по названию, они служат для фильтрации еще на этапе захвата трафика.
Но в таком случае, безусловно, можно безвозвратно потерять часть нужного трафика.
Фильтр представляет собой выражение, состоящее из встроенных значений, которые при необходимости могут объединяться логическими функциями (and, or, not).
Для того, чтобы его задействовать, нужно зайти в меню Сapture, затем Options, и в поле Capture Filter набрать, например, host 8.8.8.8 (или, например, net 192.168.0.0./24)
Так же, конечно, можно выбрать и заранее созданный фильтр (за это отвечает кнопка Capture Filter).
В любом из вариантов фильтр появится возле интерфейса, можно жать Start.
Теперь перейдем к Display Filters.
Они фильтруют исключительно уже захваченный трафик.
Что можно фильтровать?
— Практически все — протоколы, адреса, специфические поля в протоколах.
Операции, которые можно использовать при построении фильтров:
Команда | Значение | Пример использования |
---|---|---|
== | равенство | ip.dst == 193.168.3.10 |
!= | Не равно | udp.dst != 53 |
< | меньше чем | ip.ttl < 24 |
> | больше чем | frame.len > 10 |
<= | меньше или равно | frame.len <= 0x20 |
>= | больше или равно | tcp.analysis.bytes_in_flight >= 1000 |
matches | регулярные выражения | frame matches "[Pp][Aa][Ss][Ss]" |
contains | содержит | dns.resp.name contains google |
Как вы, наверное, заметили, в таблице в качестве примеров были разнообразные выражения, достаточно понятные и зачастую говорящие сами за себя.
Например, ip.dst – это поле протокола IP.
Чтобы увидеть это поле, можно просто посмотреть на пакет, и в нижней части окна можно увидеть его значение, которое потом можно применять в любом фильтре.
Например, нас интересует, как создать фильтр, где будет проверяться значение TTL.
Для этого раскрываем L3 часть и становимся на соответствующее поле:
И видим, что для построения фильтра, нужно использовать выражение ip.ttl.
Если начать набирать фильтр, то после точки автоматически появится список возможных значений:
Чтобы применить фильтр, достаточно нажать enter или кнопку Apply.
Само поле для ввода фильтра может менять цвет в зависимости от того, что было набрано.
Зеленый цвет означает, что все в порядке. Красный — допущена ошибка, желтый — получен неожиданный результат, потому что существуют другие варианты написания фильтра (например можно написать ip.dst != 8.8.8.8 или же !ip.dst == 8.8.8.8, именно второй вариант более предпочтительный).
Фильтры можно сохранять для дальнейшего использования, нажав кнопку Save, затем ввести произвольное название
и после нажатия на кнопку ОК фильтр появится как кнопка на панели.
А если кликнуть на расположенную неподалеку кнопку «Expression…», то откроется достаточно мощный конструктор выражений, по которому можно чуть ли не изучать сетевые протоколы. Количество поддерживаемых протоколов постоянно увеличивается.
Как уже упоминалось ранее, можно выделить любой пакет и в контекстном меню выбрать Apply as Filter и в подменю выбрать режим — selected или not selected и соответственно сразу же появится фильтр, который будет показывать только выбранное или наоборот уберет выбранное с экрана.
Таким образом можно гибко выбирать, что видеть на экране, а что — нет.
Это может быть определенный ip-адрес, ttl, порт, dns ответ и многое другое.
Кроме того, есть два варианта для таких быстрых фильтров — Prepare as Filter и Apply as Filter.
Как можно догадаться по названию — разница заключается в том, что в первом случае только появится в поле для ввода Display Filter, но не применится (удобно, если например, добавлять таким способом несколько фильтров, а затем сразу применить готовый результат), а во втором — сразу же и применится.
Таким образом можно строить большие и сложные фильтры вроде:
(tcp.flags.syn==1) && (ip.src == 172.16.10.2) && (ip.dst == 172.16.10.1)
Здесь видим, что выбираются только TCP SYN сегменты, только с определенным адресом отправителя и получателя. При составлении больших фильтров нужно помнить, что фильтр по сути — логическое выражение, и если оно истинно, то пакет отобразится на экране, если ложно — нет.
Достаточно частая ситуация, когда возникают жалобы на медленную работу сети, причин этого может быть множество.
Попробуем разобраться, в чем может быть причина, и рассмотрим два способа.
Первый состоит в добавлении колонки TCP delta.
Открываем пакет, находим поле Time since previous frame in this TCP frame, правый клик и выбираем Apply as Column. Появится новая колонка.
На ней можно кликнуть правой кнопкой мыши и выбрать режим сортировки, например, Sort Descending.
И сразу же рассмотрим второй способ.
Относительно недавно (в версии 1.10.0) появился фильтр tcp.time_delta, который, собственно, учитывает время с момента последнего запроса.
Если клиент делает запрос и получает ответ через 10 миллисекунд, и клиент говорит, что у него все медленно работает, то, возможно, проблема у самого клиента.
Если же клиент делает запрос и получает ответ через 2-3 секунды, тут уже, возможно, проблема кроется в сети.
Если посмотреть в TCP пакет (или сегмент если быть точным), то можно увидеть там Stream index, который начинается обычно с нуля.
Само поле будет называться tcp.stream.
По нему можно сделать правый клик и создать фильтр.
Таким образом можно фильтровать нужные соединения.
Еще один способ – сделать правый клик на самом пакете, выбрать Conversation Filter и создать фильтр для l2 l3 l4 уровня соответственно.
В итоге мы опять увидим взаимодействие двух хостов.
И третий вариант — это одна из самых интересных фич — Follow TCP Stream.
Для того чтобы его задействовать, нужно опять таки кликнуть правой кнопкой мыши на пакете и выбрать “Follow TCP Stream”. Появится окно, где будет наглядно продемонстрирован весь обмен между двумя узлами.
Если же зайти в меню Statistics – Conversations, то, выбирая закладки, можно увидеть статистику по таким “разговорам” и различные сессии, при этом можно отсортировать их по различным колонкам, например, по количеству переданных данных.
И прямо в этом окне можно правой кнопкой взывать контекстное меню и опять же применить как фильтр.
После некоторого времени, проведенного за захватом разнообразного трафика, можно заметить какую-то шарообразную кнопку в нижнем левом углу, которая еще иногда меняет цвет.
Нажатие на эту кнопку приведет к открытию окна Expert Infos.
Того же результата можно добиться, пройдя в меню Analyze – Expert Info.
В этом окне будет содержаться информация по найденным пакетам, разбитая на группы Errors, Warnings, Notes и Chats.
Цветовая раскраска для этих групп выглядит следующим образом:
Ошибки — красный цвет
Предупреждения — желтый
Примечания — сине-зелёный (cyan)
Чат — серый
Wireshark содержит в себе мощный анализатор и умеет автоматически обнаруживать большое количество проблем, возникающих в сети.
Как вы уже могли заметить, буквально везде можно использовать фильтры и Expert Info не является исключением.
Для того чтобы создать такой фильтр, нужно использовать конструкцию expert.severity.
Например, expert.severity==error.
Как можно заметить, рисунок был извлечен без каких-либо проблем.
Таким же способом, можно извлекать и потоковое видео/аудио.
Но на этом возможности Wireshark не заканчиваются!
Он умеет вытаскивать файлы и с протокола FTP.
Для этого можно использовать знакомый уже Follow TCP Stream.
В итоге отобразится только обмен по протоколу FTP, в котором нужно будет найти строку RETR, что собственно и будет означать передачу файла.
Затем опускаемся дальше, находим пакеты уже непосредственно с файлом (FTP-DATA) и опять выбираем Follow TCP Stream, видим содержимое файла, жмем Save As и сохраняем.
Wireshark имеет несколько встроенных функций для работы с этой технологией.
Он поддерживает массу голосовых протоколов — SIP, SDP, RTSP, H.323, RTCP, SRTP и другие.
И, конечно же, умеет перехватывать и сохранять голосовой трафик для дальнейшего прослушивания.
Этот функционал как нельзя лучше подойдет для траблшутинга в сетях Voice over IP.
Меню Statistics — Flow Graph покажет наглядную картину, как происходил весь обмен пакетами.
А вообще целое меню Telephony отведено для работы с голосовым трафиком.
Например, Telephony – RTP – Show All Streams покажет подробно, что происходило с RTP, в частности jitter (параметр, который, вероятно, самый важный в голосе), что иногда сразу скажет о наличии проблем.
Нажав на кнопку “Analyze”, можно открыть окно RTP stream Analysis – и, выбрав там поток, можно его даже проиграть, используя кнопку player.
Сначала отроется окно проигрывателя, в котором вначале нужно установить подходящее значение jitter и использовать кнопку decode.
Появится нечто похожее на анализатор спектра, в котором можно отметить требуемый разговор, и после этого кнопка Play станет активной.
Так же существует еще один способ прослушивания голосовых звонков — можно зайти в меню Telephony – VoIP Calls.
Откроется окно со списком совершенных звонков, где опять же можно нажать кнопку player, отменить нужные разговоры флажками и нажать play.
Для того чтобы добиться приемлемого качества звучания, потребуется проиграться со значением поля jitter buffer, меняя его значение.
Это тот самый сниффер Wireshark, но реализованный в виде онлайн-сервиса. Очевидно, что с его помощью не удастся захватывать сетевой трафик, но выполнять анализ дампа трафика – вполне. Загрузив туда через форму PCAP-файл на анализ, можно будет получить четкую последовательность пакетов, в которой всё данные будут разбиты на понятные поля в зависимости от протокола. В общем, тот же Wireshark, но немного облегченный и доступный из любого браузера.
Напоследок рассмотрим как выглядит сканирование портов.
Смотрим на дамп и видим, что вначале происходит ARP запрос и затем непосредственно начинается сканирование. Адрес нашего маршрутизатора 192.168.10.11, сканирование идет с адреса 192.168.10.101
Это, так называемое, SYN сканирование, когда идут SYN-пакеты на указанный диапазон портов. Так как большинство портов закрыто, маршрутизатор отвечает пакетами RST, ACK.
Пролистав чуть ниже видим, что открыт telnet (tcp 23).
Читайте также: