Come vengono selezionate le porte di origine UDP?


8

Ho appena acquisito un pacchetto dalla mia macchina e filtrato tutte le connessioni UDP. Ho visto alcune connessioni utilizzando quella che sembra essere una porta di origine UDP generata casualmente e una certa connessione utilizzando la stessa porta di origine della porta di destinazione UDP.

Comprendo che le connessioni TCP randomizzeranno la porta di origine in modo che la risposta abbia una porta "dedicata" a cui rispondere. Ma come funziona con UDP?

Sto cercando la risposta autorevole. I collegamenti a RFC (o quant'altro) sarebbero molto apprezzati.

Cosa determina la porta di origine UDP?

  • Viene generato casualmente quando è prevista una risposta?
  • Corrisponde alla porta di destinazione quando non è prevista alcuna risposta? (invece di utilizzare 0 come porta di origine)?

Grazie.

Risposte:


6

Dipende dall'applicazione. Ad esempio, il kernel Linux ha implementato la randomizzazione della porta di origine UDP quando nel kernel 2.6.24 non è stata specificata alcuna porta di origine .

Quindi, il comportamento che si sta riscontrando in alcune connessioni deve essere la particolare applicazione che specifica che la porta di origine è la stessa della porta di destinazione, mentre altre la lasciano al kernel.


Quindi, ciò che stai dicendo (per essere sicuro) è di default, UDP randomizzerà le porte di origine (proprio come TCP) a meno che il servizio / l'applicazione stessa richieda qualcosa di speciale, da includere usando le porte di origine / destinazione corrispondenti. È giusto?
Eddie,

Questo è corretto a seconda della piattaforma.
Jeff Strunk,

+1 Questo è corretto; a differenza di TCP, dove non si ha il controllo sulla porta di origine (poiché il sistema operativo deve garantire che sia univoco per ciascun socket), in UDP l'applicazione è libera di configurarla come preferisce. Se esiste una comunicazione bidirezionale, sarebbe "ragionevole" che la porta di origine sia la porta a cui l'altra parte dovrebbe rispondere (dichiarata in Wikipedia sotto "Numero di porta di origine"). Tuttavia, chiunque abbia scritto l'applicazione potrebbe aver facilmente scelto di utilizzare un numero casuale.
Groo

0

Le porte temporanee sono generate per i pacchetti UDP come TCP.

http://www.hsc.fr/ressources/articles/win_net_srv/ephem_port_alloc.html


Ma non sempre, come indicato dalla mia acquisizione di pacchetti. Cosa fa sì che alcune connessioni utilizzino una porta sorgente UDP casuale e altre che corrispondano alla porta di destinazione? E quando corrispondono, in che modo influisce sul traffico di ritorno?
Eddie,

Questa risposta descrive specificamente il comportamento di Windows. L'altra risposta riguarda il comportamento di Linux. Supponendo che questi siano ancora aggiornati, sembra che Windows non si randomizzi per impostazione predefinita come Linux.
thomasrutter,
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.