Два инструмента захвата пакетов были представлены ранее. Их должно быть достаточно, и они могут решить проблемы, возникающие в повседневной работе. Однако некоторые люди все еще оставляли сообщения с просьбой рассказать Хонгу, инструменту захвата пакетов. Честно говоря, Хонга я никогда не использовал. использовал этот инструмент раньше, поэтому могу поделиться им только во время исследования. Другими словами, вы сейчас учитесь и продаете, надеюсь, вы не против. Информация, которую предлагает Хонге, предназначена только для справки и обучения. Вы можете указать на любые ошибки. Вы также можете самостоятельно изучить его более подробно.
Wireshark (ранее известный как Ethereal) — это бесплатный инструмент с открытым исходным кодом для анализа сети и захвата пакетов, самый популярный анализатор сетевых протоколов в мире! Функция программного обеспечения для анализа сетевых пакетов заключается в захвате сетевых пакетов и отображении максимально подробной информации о сетевых пакетах. Инструмент захвата сетевых пакетов Wireshark использует WinPCAP в качестве интерфейса для прямого обмена сообщениями с сетевой картой. Он может обнаруживать данные сетевого взаимодействия в режиме реального времени, обнаруживать файлы снимков данных сетевого взаимодействия, которые он захватывает, и просматривать эти данные через графический интерфейс. просматривать пакеты данных сетевой связи. Подробная информация о каждом уровне. Его мощные функции включают в себя мощный язык фильтров отображения и возможность просмотра потоков восстановления сеанса TCP, поддержку сотен протоколов и типов потокового мультимедиа.
Функцию программного обеспечения для анализа сетевых пакетов можно представить как работу «электрика, использующего электросчетчик для измерения тока, напряжения и сопротивления» — просто перенесите сцену в сеть и замените провода сетевыми проводами. В прошлом программное обеспечение для анализа сетевых пакетов было очень дорогим или специализированным для коммерческих приложений. Появление Ethereal все изменило. Под защитой общей лицензии GNUGPL пользователи могут бесплатно получать программное обеспечение и его исходный код, а также иметь право изменять и настраивать его исходный код. Ethereal — одно из самых обширных программ для анализа сетевых пакетов в мире.
Wireshark очень часто используется при устранении неполадок в сети, показывая уровни со 2 по 5 (канальный уровень, сетевой уровень, транспортный уровень, уровень приложений) в сетевой модели, будь то сетевые инженеры, инженеры сетевой безопасности, хакеры, инженеры-разработчики программного обеспечения обычно используют Wireshark. .
В 1997 году Джеральду Комбсу понадобился инструмент для отслеживания сетевых проблем, и он захотел узнать о сетевых технологиях. Поэтому он начал разработку Ethereal (прежнее название проекта Wireshark) для решения своих нужд.
В 1998 году родилась версия Ethereal 0.2.0. Вскоре после этого все больше и больше людей обнаруживали его потенциал и проводили его анализ.
Wireshark — это бесплатный анализатор/анализатор пакетов с открытым исходным кодом, который можно использовать для перехвата пакетов в сети. Первоначальная версия Wireshark называлась Ethereal и была выпущена Джеральдом Комбсом в 1998 году. Его имя можно увидеть в верхней части программного обеспечения Wireshark и официального сайта:
В мае 2006 года Джеральд Комбс перешел на работу в CACE Technologies, но ему не удалось получить права на торговую марку Ethereal. Чтобы обеспечить успех проекта, Комбс и его команда разработчиков в середине 2006 года переименовали проект в Wireshark.
Поскольку Комбс и другие участники продолжали поддерживать код Wireshark и выпускать новые версии в течение следующих десяти лет, Wireshark стал одним из самых популярных программ для анализа/перехвата пакетов в мире.
Приведенную выше историю Wireshark легко найти в Интернете, но в этих материалах не упоминается, почему Комбс назвал программу Wireshark (если кто-то из читателей сможет ее найти, укажите это в области комментариев).
Однако на официальном сайте для справки есть такой вопрос:
Слово кархародон в этом ответе, несомненно, напоминает самую известную акулу — большую белую акулу (Carcharodon carcharias). Всем известно, что акулы обладают чрезвычайно чувствительным обонянием и чуют раненую добычу за несколько километров. Действительно, уместно назвать пакетный анализатор в честь акулы.
Даже значок Wireshark имеет форму плавника акулы, как показано ниже:
В 2008 году, после десяти лет разработки, Wireshark выпустила версию 1.0.
Короче говоря, основная функция WireShark — захват пакетов из различных портов, включая порты проводной сети, порты беспроводной сети, порты USB, порты LoopBack и т. д., чтобы можно было легко выполнить изучение протокола, анализ сети и системы. Устранение неполадок и другие последующие задачи.
Поддержка сбора данных в реальном времени и сохранение их в виде файла PCAP.
Поддерживает чтение данных из захваченных пакетов;
Поддерживает анализ более 1000 стандартных/специальных протоколов.
Поддержка создания плагинов для анализа частных протоколов;
Поддерживает уточнение данных с использованием фильтров захвата и отображения;
Поддерживает расшифровку протокола TLS (настройка сложнее, не так удобна, как при использовании charles/burp/fidder)
Выше много было сказано, иными словами, есть три основных момента:
①Анализ основных сетевых протоколов,
②Решение проблем сбоями в сети,
③Ищите проблемы с сетевой безопасностью.
По соображениям безопасности Wireshark может только просматривать пакеты, но не может изменять их содержимое или отправлять пакеты.
Редактирование и модификация пакетов данных не поддерживается (рекомендуется использовать WireEdit, если вам нужно редактировать пакеты данных)
Не поддерживает вторжение/обнаружение аномального трафика.
Fiddler — это программа, работающая в Windows и специально разработанная для захвата HTTP и HTTPS.
Wireshark может получать HTTP и HTTPS, но не может расшифровывать HTTPS, поэтому Wireshark не может понять содержимое HTTPS.
1. Сетевой монитор Microsoft.
2.Sniffer
3.Omnipeek
4.Fiddler
5.Httpwatch
6. Система сетевого анализа Kelai
1. Сетевые администраторы будут использовать Wireshark для проверки сетевых проблем.
2. Инженеры по тестированию программного обеспечения используют Wireshark для захвата пакетов и анализа тестируемого программного обеспечения.
3. Инженеры, занимающиеся программированием сокетов, будут использовать Wireshark для отладки.
4. Инженер по эксплуатации и техническому обслуживанию ИТ
5. Сетевой инженер
6.Инженер по безопасности
7. Я слышал, что большинство инженеров Huawei и ZTE используют Wireshark.
Короче говоря, Wireshark можно использовать для всего, что связано с сетью.
Wireshark может работать на следующих платформах:
①Windows
②MacOS
③Linux/Unix
1.Официальный сайт:https://www.wireshark.org/
2.книги:http://www.wiresharkbook.com/
3.Вики-документация:https://wiki.wireshark.org/
Wireshark использует WinPCAP в качестве интерфейса для прямого обмена пакетами данных с сетевой картой. Среды, используемые Wireshark, грубо делятся на два типа: одна — это автономная среда, в которой компьютер напрямую подключен к сети, а другая — сетевая среда, в которой имеется множество приложений, то есть когда подключен коммутатор. .
«Ситуация с одной машиной»Вниз,Wireshark напрямую захватывает сетевой трафик локальной сетевой карты;
«Поменяй ситуацию»Вниз,Wireshark получает сетевой трафик в локальной сети посредством зеркалирования портов, подмены ARP и т. д.
Зеркальное отображение портов:Используйте интерфейсы коммутаторов,Перенаправить сетевой трафик локальной сети на сетевую карту указанного компьютера.
Подмена ARP:Переключатель основан наMACАдрес пересылки данных,Маскировка MAC-адреса других терминалов,Для получения сетевого трафика локальной сети.
Принцип захвата пакетов делится на сетевой принцип и основной принцип. 1. Сетевой принцип: 1) Локальная среда — прямой захват входящего и исходящего трафика локальной сетевой карты: установите ws непосредственно на терминал, а затем ws перехватывает трафик локальная сетевая карта, подключенная к Интернету. 2) Среда концентратора (старая сеть). Концентратор: рассылает пакеты на все остальные порты и захватывает пакеты во всей локальной сети.
Независимо от того, что передается по сети, то, что в конечном итоге отправляется через физическую среду, является двоичным, подобно потоку битов 0101. Простой текст (строка) В китайском языке обычно используется кодировка UTF-8, а в английском языке используется кодировка ASCII; аудио, видео, изображения, сжатые пакеты и т. д. в виде не простого текста упаковываются в разные кодировки и преобразуются в двоичную передачу. В IP-сети посредством захвата пакетов Wireshark исходные данные получаются в двоичном виде.
При каких сетевых условиях пакет может быть перехвачен? Следующее объясняется на основе сетевых принципов. Существует три основные ситуации для захвата сетевых пакетов: локальная среда, среда концентратора и среда коммутатора.
Локальная среда напрямую захватывает входящий и исходящий трафик локальной сетевой карты. Wireshark свяжет нашу сетевую карту и сможет захватывать сетевой трафик, не прибегая к стороннему оборудованию (коммутаторам, маршрутизаторам-концентраторам). Это самый простой способ захвата пакетов. То есть напрямую перехватывать пакеты трафика, входящие и исходящие из локальной сетевой карты. В этом случае Wireshark привяжет сетевую карту локального компьютера.
Среда концентратора может выполнять предотвращение наводнений трафика и использовать тот же домен конфликта. Английское название концентратора — «Hub», а «Hub» означает «центр». Основная функция концентратора — регенерировать, формировать и усиливать полученный сигнал для расширения дальности передачи сети и в то же время концентрировать все. узлы вокруг него. Он работает на первом уровне эталонной модели OSI, «физическом уровне».
Предположим, что три компьютера обмениваются данными, и на ПК1 установлен Wireshark. Когда ПК2 и ПК3 отправляют пакеты данных в сеть концентратора (домен коллизий или широковещательный домен), поскольку концентратор является продуктом физического уровня и не может распознавать MAC-адрес и IP-адрес. он получит пакет на все остальные интерфейсы. В это время Wireshark может перехватывать пакеты данных, отправленные с других компьютеров на том же концентраторе, то есть пакеты данных в локальной сети. Это типичная старая сетевая практика, которая сейчас практически устранена.
Используется для захвата лавинного трафика и пакетов данных в конфликтном домене, то есть пакетов данных во всей локальной сети.
В средах коммутаторов используются более распространенные методы, включая зеркалирование портов, подмену ARP и лавинную рассылку MAC-адресов.
Коммутатор является продуктом канального уровня или даже сетевого уровня. Его передача пакетов и пакетная связь строго соответствуют таблице MAC-адресов коммутатора. Поэтому при нормальных обстоятельствах трафик связи ПК2 и ПК3 трудно передать на сетевую карту ПК1. Когда ПК2 и ПК3 обмениваются данными, ПК1 не может перехватить пакет через Wireshark. Но мы можем выполнить зеркалирование порта SAPN на порту коммутатора. Он скопирует трафик двух других портов на сетевую карту ПК1, и Wireshark будет установлен в смешанный режим вставки, и в это время можно будет выполнить захват пакетов. Этот режим обычно используется во многих платных программах для анализа трафика. Таким образом, коммутатор пересылает пакеты данных строго в соответствии с таблицей tenlnet и таблицей mac-адресов. Когда компьютеры pc2 и pc3 обмениваются данными, pc1 по умолчанию не может захватывать пакеты данных, но вы можете установить политику на коммутаторе, то есть зеркалирование портов. Таким образом, пакеты данных связи между ПК2 и ПК3 будут скопированы в порт коммутатора, подключенный к ПК2, так что ПК2 сможет перехватывать пакеты данных связи между ПК2 и ПК3.
Предположим, что у нас нет разрешения на использование технологии зеркалирования портов на коммутаторе.,Потому что есть таблица MAC-адресов,Я также хочу получить трафик во всей локальной сети,украденныйPC2、PC3движение включено。Этого можно добиться с помощью знаменитогоARPАтакующее программное обеспечениеCain&Abelвыполнить,Процесс:
Шаги следующие:
(1) ПК2 хочет связаться с ПК3, поэтому он отправляет широковещательную рассылку на коммутатор.
(2) При нормальных обстоятельствах ПК1 отбросит этот пакет (поскольку это не то, что он ищет), но ПК1 выполнит подмену ARP и сообщит ПК2, что ПК2 ищет именно ПК3.
(3) Из-за функции приоритета ARP ПК2, скорее всего, подумает, что MAC-адрес ПК1 — это тот ПК3, который он ищет.
(4) Таким образом, связь между ПК2 и ПК3 становится связью между ПК2 и ПК1.
(5) Что касается того, должен ли ПК1 позже передать данные (возможно, измененные данные) ПК3, то это полностью зависит от настроения ПК1.
Выше приведена типичная ситуация атаки LAN ARP.
Флуд с помощью инструментов приносит большое количество нежелательных пакетов и генерирует большое количество MAC-адресов. В это время таблица MAC-адресов коммутатора изменится на таблицу справа (в разобранном виде), а MAC2 и MAC3 будут вытеснены из таблицы. Таблица MAC-адресов. Как только этот MAC-адрес будет вытеснен из таблицы MAC-адресов, в соответствии с принципом коммутатора, если полученный пакет данных неизвестен, он будет направлен наружу. В это время ПК2 и ПК3 будут рассылать внешний трафик.
В этом случае у ПК1 нет разрешений на зеркалирование портов, поэтому он не может напрямую перехватывать трафик всей сети. Что же нам делать?
(1) ПК1 отправляет большое количество ненужных пакетов, что генерирует большое количество MAC-адресов, что приводит к взрыву таблицы MAC.
(2) Если данные, отправленные ПК2 и ПК3, не могут найти адрес назначения, вся сеть будет перегружена, и весь сетевой трафик будет перехвачен ПК1.
Итак, какова базовая архитектура захвата пакетов? Давайте начнем с объяснения основных принципов Wireshark.
Основополагающий принцип: основной инструмент захвата пакетов Wireshark.
Wireshark включает в себя 5-уровневую архитектуру:
Нижний уровень Win-/libpcap: программное обеспечение драйвера нижнего уровня Wireshark, файлы библиотеки (файлы драйверов, файлы библиотек), на которые Wireshark опирается при захвате пакетов.
Захват: механизм захвата пакетов, использующий нижний уровень libpcap/WinPcap для захвата сетевых пакетов данных. libpcap/WinPcap предоставляет универсальный интерфейс захвата пакетов, который можно получить из различных типов сетевых интерфейсов (включая Ethernet, сеть Token Ring, сеть ATM). и т. д.) пакет
Прослушивание: преобразование захваченных двоичных данных в файл необходимого формата. В это время некоторые пакеты данных можно прочитать из захваченного файла пакета с помощью Wiretap (механизма поддержки форматов), который поддерживает несколько форматов файлов.
Ядро: основной механизм, который соединяет другие модули вместе посредством вызовов функций и играет роль вызовов связи. Epan (задействует механизм анализа пакетов): Дерево протокола (сохраняет информацию протокола пакета данных, структура протокола принимает древовидную структуру). и анализирует протокол. При отправке сообщения вам нужно только вызвать функции синтаксического анализа каждого уровня последовательно от корневого узла через дескриптор функции), Диссекторы (различные декодеры протоколов, поддержка 7 Более 00 анализов протоколов, декодер может идентифицировать поля протокола и отображать значения полей. Wireshark использует форму дерева протоколов для обработки каждого уровня протокола трафика данных слой за слоем), Плагины (некоторые декодеры протоколов реализованы в форма плагинов, исходный код в каталоге плагинов), Display-Filters (движок фильтра отображения, исходный код находится в каталоге epan/dfilter).
GTK1/2: инструмент обработки графики, обрабатывающий ввод и вывод данных пользователя и, наконец, сохраняющий их на жестком диске.
PS: Очень важно понимать основные принципы, особенно для последующего наблюдения.
имя модуля | Функция | Подкаталог исходного кода |
---|---|---|
GTK/Qt | Обработка всего пользовательского ввода/вывода (все окна, диалоговые окна и т. д.) | /uiGTK: /ui/gtkQt: /ui/qt |
Core | Основной «связывающий код», который скрепляет другие блоки. | / |
Epan(Ethereal Packet Analyzer) | Дерево протоколов — сохраняет данные протокола захваченного файла. | /epan |
Диссекторы — Диссекторы для нескольких протоколов | /epan/dissectors | |
Плагины — некоторые парсеры протоколов, реализованные с помощью плагинов. | /plugins | |
Display-Filters — движок фильтров отображения | /epan/dfilter | |
Wiretap | Библиотека прослушивания используется для чтения/записи файлов перехвата в формате libpcap или других форматах файлов. | /wiretap |
Capture | Интерфейсы, связанные с механизмом захвата пакетов | / |
Dumpcap | Механизм захвата пакетов. Это единственная часть, для выполнения которой требуются повышенные привилегии. | / |
WinPcap/libpcap | (Не входит в пакет Wireshark) — Платформо-зависимая библиотека захвата пакетов, содержащая механизм фильтра захвата. Вот почему у нас есть два набора синтаксисов фильтров для отображения и захвата — потому что используются два разных механизма фильтра. | - |
Хорошо, теперь брат Хонг в основном объяснил и поделился всей прошлой и настоящей жизнью инструмента Wireshark. Сегодня уже поздно, вот и все! Спасибо, что терпеливо читаете~~