Протоколы Отчет №7
.docxФедеральное агентство связи ФЕДЕРАЛЬНОЕГОСУДАРСТВЕННОЕБЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕУЧРЕЖДЕНИЕВЫСШЕГООБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА»(СПбГУТ)
Факультетинфокоммуникационныхсетейисистем Кафедра сетей связи и передачи данных
ЛАБОРАТОРНАЯРАБОТА№7
«АнализсодержимогоEthernet-кадра»
подисциплине«Протоколы,сервисыиуслугивIP-сетях»
Выполнил:студент 3-го курса дневногоотделения группы ИКПИ-85
КоваленкоЛеонидАлександрович
Преподаватель:к.т.н.,доценткафедрыССиПД Дунайцев Роман Альбертович
Санкт-Петербург
Постановказадачи
Открыть файлzeros_in_pkt_1214.pcapв Wireshark. Найти в нем Ethernet-кадр №1214. В конце этого кадра имеется 6 нулевых байт, которые современные версии Wireshark определяют как Padding, относящийся к Ethernet. Однако так Wireshark эти байты интерпретировал не всегда, да и у других анализаторов трафика мнения по этому поводу расходятся. Известно, что разные протоколы используют Padding (т.е. заполнение незначащей информацией) с различными целями: для выравнивания по определенной границе, для дополнения до минимального размера и т.п. Кроме того, внутри этого Ethernet-кадра находится пробный TCP-сегмент «Keep-Alive», который также может содержать «one garbage octet» (раздел 4.2.3.6):https://tools.ietf.org/html/rfc1122. Необходимо выяснить, что это за байты и какому протоколу они принадлежат: TCP, IP или Ethernet?
Ходработы
Шаг
1.Рассчитаем контрольную сумму TCP,
полагая, что 6 нулевых байт в конце
принадлежат данному протоколу. Также
рассчитаем контрольную сумму TCP, полагая,
что 6 нулевых байт в конце НЕ принадлежат
ему. Сравним полученные значения с
содержимым поля Checksum (рис. 1).
Рисунок 1 — Ethernet-кадр 1214. Пакет TCP КонтрольнаясуммаTCPвWireshark:0xE194(0030,смещение2).
РасчетконтрольнойсуммыTCPвручнуюбезучета6нулевыхбайтов:
D946+81F2 |
15B38> 5B39 |
112AA> 12AB |
1730 |
1E6B>NOT <E194 |
82E6+348B |
B771 |
|||
0006+0014 |
001A |
0485 |
|
|
0050+041B |
046B |
|
||
2A6E+464D |
70BB |
|
|
|
8470+A6AA |
12B1A> 2B1B |
9BD6 |
1073A> 073B |
|
5010+1B54 |
6B64 |
6B64 |
||
0000+0000 |
0000 |
|
РасчетконтрольнойсуммыTCPвручнуюсучетом6нулевыхбайтов:
D946+81F2 |
15B38> 5B39 |
112AA> 12AB |
1736 |
1E71>NOT <E18E |
82E6+348B |
B771 |
|||
0006+001A |
0020 |
048B |
||
0050+041B |
046B |
|||
2A6E+464D |
70BB |
9BD6 |
1073A> 073B |
|
8470+A6AA |
12B1A> 2B1B |
|||
5010+1B54 |
6B64 |
6B64 |
||
0000+0000 |
||||
0000 |
0000 |
|||
0000 |
||||
0000 |
Контрольнаясуммасовпалаврасчете без6нулевыхбайтов.
Шаг
2.Рассчитаем контрольную сумму
заголовка IPv4, полагая, что 6 нулевых байт
в конце принадлежат данному протоколу.
Также рассчитаем контрольную сумму
IPv4, полагая, что 6 нулевых байт в конце
НЕ принадлежат ему. Сравним полученные
значения с содержимым поля Header Checksum
(рис. 2).
Рисунок2—IPv4.HeaderChecksum
Контрольная сумма IPv4 в Wireshark: 0x4B5D (0010, смещение 8). РасчетконтрольнойсуммыIPv4вручнуюбезучета6нулевыхбайтов:
4500+0028 |
4528 |
|
|
|
F0C8+4000 |
130C8> 30C9 |
75F1 |
FD30 |
1B4A1> B4A2 > |
2C06+0000 |
2C06 |
|
||
873F |
|
NOT <4B5D |
||
D946+81F2 |
15B38> 5B39 |
|||
82E6+348B |
B771 |
B771 |
B771 |
|
РасчетконтрольнойсуммыIPv4вручнуюсучетом6нулевыхбайтов:
4500+002E |
452E |
|
|
|
F0C8+4000 |
130C8> 30C9 |
75F7 |
FD36 |
1B4A7> B4A8 > |
2C06+0000 |
2C06 |
|
||
873F |
|
NOT <4B57 |
||
D946+81F2 |
15B38> 5B39 |
|||
82E6+348B |
B771 |
B771 |
B771 |
|
Контрольнаясуммасовпалаврасчете без6нулевыхбайтов.
Шаг 3.Скопируем содержимое всего кадра как Hex Stream и с помощью сайта найдем его Frame Check Sequence (табл. CRC-32, строка Reversed,столбецBigEndian(ABCD);FCS—четырёхбайтноезначениеCRC, используемое для выявления ошибок передачи) (рис. 3). Сравним со значением FCS на скриншоте Omnipeek 11 (рис. 4).
https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/
Рисунок3—FCS
Рисунок4—FCSвOmnipeek11 В обоих случаях FCS равен F4DA3A02.
Заключение
В
результате выполнения лабораторной
работы мы выяснили, что нулевые байты
принадлежат протоколу Ethernet. Причем
нулевые байты — это байты дополнения.
Ethernet требует, чтобы все пакеты имели
длину не менее 64 байт, причем длина поля
данных должна быть не менее 46
байт(рис.5).MACHeader
иCRC Checksum
имеютфиксированнуюдлину,адлина
поля данных варьируется от 46 до 1500 байт.
Нулевые байты добавляются в
конецполяданных,еслиитолькоеслиисходнаядлинаполяданныхменее46
байт. В Wireshark можно увидеть только 60 байт
(MAC Header + Data), оставшиеся 4 байта (CRC Checksum)
Wireshark по умолчанию не получает от сетевого
драйвера.
Рисунок5—ФорматкадраEthernetII
Столь жесткие ограничения на минимальную длину кадра введены для обеспечения нормальной работы механизма обнаружения коллизий.
В некоторых других пакетах (в файлеzeros_in_pkt_1214.pcap) байтов дополнения не видно. Все дело в том, что эти байты не отображаются в пакетах, отправленных компьютером, на котором запущена программа Wireshark; дополнение осуществляется аппаратными средствами Ethernet; пакеты, посылаемые компьютером, фиксирующем трафик, передаются программе перед передачей аппаратным средствам.
2021
