Invio di pacchetti superiori a 65.535 byte in una connessione di trasporto SSH


1

Esiste un modo per testare (verificare / dimostrare) che i pacchetti superiori a 65.535 byte in una connessione di trasporto SSH vengano eliminati?

Risposte:


1

Esiste un modo per verificare che vengano eliminati i pacchetti maggiori di 65535 byte?

No.

SSH funziona su TCP / IP, quindi è soggetto alle limitazioni del protocollo sottostante.

Non è possibile creare un pacchetto di dimensioni superiori a 65535 byte in quanto è la dimensione massima consentita dall'Internet Protocol RFC.

Se non è possibile creare un pacchetto del genere, non è possibile inviarne uno per verificare se viene eliminato.

Il formato dell'intestazione Internet contiene un campo Lunghezza totale che è di 16 bit (che può avere un valore massimo di 65535 se tutti i bit sono impostati su uno).

3.1. Formato intestazione Internet

Segue un riepilogo dei contenuti dell'intestazione Internet:

    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    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Lunghezza totale: 16 bit

Lunghezza totale è la lunghezza del datagramma, misurata in ottetti, inclusi intestazione e dati di Internet. Questo campo consente la lunghezza di un datagramma fino a 65.535 ottetti. Datagrammi così lunghi sono poco pratici per la maggior parte degli host e delle reti. Tutti gli host devono essere pronti ad accettare datagrammi fino a 576 ottetti (che arrivino interi o in frammenti). Si consiglia agli host di inviare datagrammi di dimensioni superiori a 576 ottetti se hanno la certezza che la destinazione è pronta ad accettare i datagrammi più grandi.

Il numero 576 è selezionato per consentire la trasmissione di un blocco dati di dimensioni ragionevoli oltre alle informazioni di intestazione richieste. Ad esempio, questa dimensione consente a un blocco di dati di 512 ottetti più 64 ottetti di intestazione di adattarsi a un datagramma. L'intestazione massima di Internet è di 60 ottetti e un'intestazione tipica di Internet di 20 ottetti, che consente un margine per le intestazioni di protocolli di livello superiore.

Fonte RFC 791: protocollo Internet


Ulteriori letture


Se sto analizzando correttamente gli standard, questo è leggermente cambiato in IPv6. Utilizza ancora un campo di lunghezza a 16 bit (e quindi un massimo di 65.535 ottetti), ma questa è la lunghezza massima del payload, non la lunghezza massima del pacchetto (ovvero non include l'intestazione IP, sebbene includa eventuali intestazioni di estensione) . Poiché l'intestazione IPv6 è lunga 320 ottetti, ciò fornisce una dimensione totale del pacchetto massima di 65.855 ottetti. Vedi RFC 2460 , sezione 3.
Gordon Davisson,

Grazie per aver risposto alla domanda. Sto provando a testare l'implementazione SSH e parte di ciò è verificare la lunghezza massima del pacchetto come definito in 6.1 della RFC 4253. Qualcuno sa come simulare / testare l'invio di un pacchetto SSH 32768 byte o più e una dimensione totale del pacchetto di 35000 byte o più?
2116_daz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.