Что произойдет, если значение поля «Общая длина» в заголовке IPv4 меньше длины кадра ethernet? Как будет вести себя устройство при получении такого фрейма? Устройство распознало фрейм как недопустимый из-за несогласованности и отклонил его?Поле общей длины ethernet ipv4 не соответствует общей длине кадра
Вторая ситуация, максимальная длина кадра Ethernet составляет 1518 байт. Что произойдет, когда я продолжу этот кадр и добавлю дополнительные 2 байта. Предполагая, что общая длина IPv4 соответствует длине расширенного кадра.
Спасибо.
Хорошо, я понимаю. Но, если значение поля Total Length в заголовке IPv4 меньше длины заголовка ipv4 и данных ipv4 вместе, что произойдет? Не включая заголовок ETH. – user2921643
Во-первых, вам нужно пройти мимо отправителя, не делая этого вообще, поскольку он нарушает стандарт. Если это произойдет при транзите, CRC, вероятно, будет неправильным, и пакет будет отброшен. Если вы каким-то образом сумеете преднамеренно создать эту ситуацию, то что произойдет, будет зависеть от ОС и драйверов. Это может привести к переполнению буфера, который будет считаться атакой. Современные ОС и драйверы, вероятно, будут искать эту точную ситуацию и отказаться от пакета. –
Хорошо, теперь ясно. Поэтому, если я хочу расширить свой фрейм, мне нужно изменить как Total Length, так и Checksum. У меня последний вопрос: max ETH длина кадра 1518B, но моя максимальная IP Общая длина - 65535B. Мне непонятно, как создать такой пакет, который имеет больше байтов в IP-кадре, чем в Ethernet (ETH содержит заголовок и полезную нагрузку IPv4). – user2921643