Надсилання пакетів більше 65,535 байтів у транспортному з'єднанні SSH


1

Чи є спосіб перевірити (перевірити / продемонструвати), що пакети, що перевищують 65,535 байтів у транспортному з'єднанні SSH, відкидаються?

Відповіді:


1

Чи існує спосіб перевірити, що пакети, що перевищують 65535 байт, скидаються?

Ні.

SSH запускається поверх TCP / IP, тому він підпорядкований обмеженням базового протоколу.

Ви не можете створити пакет, розмір якого перевищує 65535 байтів, оскільки це максимальний розмір, дозволений протоколом Інтернет-протоколу.

Якщо ви не можете створити такий пакет, то ви не можете надіслати його, щоб перевірити, чи він скинутий.

Формат заголовка Інтернету містить поле "Загальна довжина", яке становить 16 біт (що може мати максимальне значення 65535, якщо всі біти встановлені в одиницю).

3.1. Формат заголовка Інтернету

Нижче наведено резюме вмісту заголовка Інтернету:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version|  IHL  |Type of Service|          Total Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Identification        |Flags|      Fragment Offset    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Time to Live |    Protocol   |         Header Checksum       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Source Address                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Destination Address                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Options                    |    Padding    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Загальна довжина: 16 біт

Загальна довжина - це довжина дейтаграми, виміряна в октетах,   включаючи інтернет-заголовок і дані. Це поле дає довжину a   дейтаграма до 65535 октетів. Такі довгі дейтаграми є   непрактично для більшості хостів і мереж. Усі господарі повинні бути готові   прийняти дейтаграми до 576 октетів (незалежно від того, приходять вони цілком або   у фрагментах). Рекомендується, щоб хости надсилали лише дейтаграми   більше, ніж 576 октетів, якщо вони мають впевненість, що призначення   готові прийняти більші дейтаграми.

Число 576 вибрано для забезпечення блоку даних розумного розміру   передається на додаток до необхідної інформації заголовка. Для   Наприклад, цей розмір дозволяє блоку даних 512 октетів плюс 64 заголовка   октетів, щоб поміститися в дейтаграму. Максимальний інтернет-заголовок - 60   октети, і типовий Інтернет-заголовок - 20 октетів, що дозволяють маржу   для заголовків протоколів вищого рівня.

Джерело RFC 791: Інтернет-протокол


Подальше читання


Якщо я розбираю стандарти, це дуже незначно змінилося в IPv6. Він як і раніше використовує поле 16-бітної довжини (і, таким чином, максимум 65535 октетів), але це максимальна довжина корисного навантаження, а не максимальна довжина пакета (тобто вона не включає IP-заголовок, хоча вона включає будь-які заголовки розширень) . Оскільки заголовок IPv6 має довжину 320 октетів, це дає максимальний загальний розмір пакета 65,855 октетів. Подивитися RFC 2460 , розділ 3.
Gordon Davisson

Дякую, що відповіли на запитання. Я намагаюся перевірити реалізацію SSH і частину, яка полягає в перевірці максимальної довжини пакету, як визначено в 6.1 RFC 4253. Хто-небудь знає, як імітувати / тестування відправки пакета SSH 32768 байт або більше, і загальний розмір пакета 35000 байт або більше?
2116_daz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.