В этой статье представлен еще один полезный инструмент захвата пакетов, Wireshark, используемый для получения пакетов сетевых данных, включая HTTP, TCP, UDP и другие пакеты сетевого протокола.
Я помню, что я выучил трехкратный протокол рукопожатия TCP, когда учился в колледже. В то время я просто знал, что, хотя я прочитал много материалов TCP и UDP в книге, я никогда не видел эти пакеты данных. Я всегда чувствовал, что я плыл в облаке, и я не учился постоянно. С Wireshark эти сетевые пакеты могут быть перехвачены, и каждое поле в пакете можно ясно увидеть. Это может дополнительно углубить наше понимание сетевых протоколов.
Для меня Wireshark - лучший инструмент для изучения сетевых протоколов.
Чтение содержимого
Введение в Wireshark
Официальный веб -сайт Wireshark's Download: http://www.wireshark.org/
Wireshark - это очень популярное программное обеспечение для анализа пакетов сети с очень мощными функциями. Различные сетевые пакеты могут быть перехвачены, и может быть отображена подробная информация о сетевых пакетах.
Wireshark - это программное обеспечение с открытым исходным кодом, которое можно использовать с уверенностью. Может работать на Windows и Mac OS.
Люди, которые используют Wireshark, должны понимать сетевой протокол, в противном случае они не поймут Wireshark.
Что Wireshark не может сделать
По соображениям безопасности Wireshark может только просматривать пакет, но не может изменить содержание пакета или отправить пакет.
Wireshark vs Fiddler
Fiddler - это программа, работающая на Windows, специально используемая для захвата HTTP и HTTPS.
Wireshark может получить HTTP и HTTPS, но не может расшифровать HTTP, поэтому Wireshark не может понять содержание в HTTPS.
Таким образом, если вы используете HTTP, HTTPS или Fiddler, другие протоколы, такие как TCP и UDP, используйте Wireshark
Другие инструменты того же типа
Microsoft Network Monitor
нереферый
Кто будет использовать Wireshark
1. Сетевые администраторы будут использовать Wireshark для проверки проблем сети
2. Инженеры по тестированию программного обеспечения используют Wireshark для захвата пакетов для анализа тестируемого программного обеспечения
3. Инженеры, занимающиеся программированием сокетов, будут использовать Wireshark для отладки
4. Я слышал, что большинство инженеров в Huawei и ZTE используют Wireshark.
Короче говоря, Wireshark может использоваться для вещей, связанных с Интернетом.
Wireshark начинает хвататься
Начните интерфейс
Wireshark - это сетевой пакет, который фиксирует определенную сетевую карту на машине. Когда на вашей машине есть несколько сетевых карт, вам нужно выбрать сетевую карту.
Нажмите Caputre-> Interfaces .. появляется следующее диалоговое окно и выберите правильную сетевую карту. Затем нажмите кнопку «Пуск», чтобы начать захват
Wireshark Window Введение
Wireshark в основном разделен на эти интерфейсы
1. Дисплей фильтр, используемый для фильтрации
2. Панель списка пакетов (список пакетов) отображает захваченный пакет, активный адрес и адрес назначения и номер порта. Различные цвета представляют собой
3. Панель пакетов (сведения о пакете), отображая поля в пакете
4. Диссекторская панель (шестнадцатеричные данные)
5. Разное (Adder Bar, Разное)
Фильтрация дисплея Wireshark
Использование фильтрации очень важно. Когда начинающие используют Wireshark, они получат много избыточной информации, которая так трудно найти ту часть, которая им нужна за тысячи или даже десятки тысяч записей. Это заставило меня головокружение.
Фильтры помогут нам быстро найти необходимую информацию в большом объеме данных.
Есть два типа фильтров.
Одним из них является фильтр дисплея, который является на главном интерфейсе, используемый для поиска необходимых записей в захваченных записях.
Одним из них является фильтр захвата, который используется для фильтрации захваченных пакетов, чтобы не снимать слишком много записей. Настройки в захвате -> Фильтры захвата
Сохраните фильтр
В столбце фильтра, после заполнения выражения фильтра, нажмите кнопку Сохранить и дайте ему имя. Например, «Фильтр 102»,
На панели фильтра есть дополнительная кнопка «Фильтр 102».
Правила фильтрации выражений
Правила выражения
1. Фильтрация протокола
Например, TCP отображает только протокол TCP.
2. IP -фильтрация
Например, ip.src == 192.168.1.102 показывает, что адрес источника 192.168.1.102.
ip.dst == 192.168.1.102, целевой адрес 192.168.1.102
3. Порт -фильтрация
tcp.port == 80, порт 80
TCP.SRCPORT == 80, только отображает, что порт желаний протокола TCP составляет 80.
4. фильтрация режима HTTP
http.request.method == "get", отображает только метод http get.
5. Логический оператор есть и/или
Обычно используемые выражения фильтра
| Экспрессия фильтра | использовать |
| http | Просмотреть только записи протокола HTTP |
| ip.src == 192.168.1.102 или ip.dst == 192.168.1.102 | Адрес источника или адрес назначения - 192.168.1.102 |
Пакетная панель
Список пакетов отображает номер, временную метку, адрес источника, адрес назначения, протокол, длину и информацию о пакетах на панели. Вы можете видеть, что разные протоколы отображаются в разных цветах.
Вы также можете изменить эти правила отображения цветов, просмотр -> Правила раскраски.
Пакетная панель
Эта панель - наша самая важная вещь для просмотра каждого поля в протоколе.
Информация в каждой строке
Кадр: обзор кадров данных для физического слоя
Ethernet II: Информация о заголовке кадров Ethernet Слои данных Ethernet
Интернет -протокол Версия 4: Информация об заголовке пакета интернет -слоя IP
Протокол управления передачей: информация заголовка сегмента данных транспортного уровня t здесь TCP
Протокол переноса гипертекста: информация об уровне приложений, вот протокол HTTP
Wireshark и соответствующая семислойная модель OSI
Конкретное содержание пакета TCP
На приведенном ниже рисунке вы можете увидеть каждое поле в пакете TCP, захваченного Wireshark.
Пример анализа трехкратного процесса рукопожатия TCP
Видя это, я в основном получил предварительное понимание Вирешака. Теперь давайте посмотрим на пример трехкратного рукопожатия TCP.
Трехкратный процесс рукопожатия
Я видел эту картину много раз. На этот раз мы используем Wireshark, чтобы фактически проанализировать процесс трех рукопожатий.
Откройте Wireshark, откройте браузер и введите http://www.cnblogs.com/tankxiao
Введите HTTP, чтобы фильтровать в Wireshark, затем выберите запись GET /TANKXIAO HTTP /1.1, щелкните правой кнопкой мыши и нажмите «Следуйте по потоку TCP»,
Цель этого состоит в том, чтобы получить пакеты данных, связанные с открытием веб -сайта браузером. Вы получите следующую картинку
На рисунке вы можете видеть, что Wireshark перехватил три пакета данных трех рукопожатий. Четвертый пакет - HTTP, который показывает, что HTTP использует TCP для установления соединений.
Первый ручной пакет
Клиент отправляет TCP с битом флага, а серийный номер - 0, что представляет запрос клиента на установление соединения. Следующий рисунок
Пакет данных для второго рукоятки
Сервер отправляет обратно подтверждающий пакет, флаг Syn и ACK. Установите номер подтверждения (номер подтверждения) на ISN клиента плюс 1. То есть 0+1 = 1, как показано на рисунке ниже
Пакет данных для третьего рукопожатия
Клиент снова отправляет пакет подтверждения (ACK). Бит флага Syn составляет 0, а бит флага ACK составляет 1. И сервер отправляет поле ACK Number +1 и помещает поле подтверждения другой стороне. И помещает +1 из ISN в сегмент данных, как показано на рисунке ниже:
Таким образом, рукопожатие TCP было передано три раза, и связь была установлена.
Выше приведено основное введение в Wireshark и обучение TCP три раза. Мы будем продолжать организовывать соответствующие знания в будущем. Спасибо за поддержку этого сайта!