A cosa serve la porta 0?

Sommario:

A cosa serve la porta 0?
A cosa serve la porta 0?
Anonim

La porta 0 ha un significato speciale nella programmazione di rete, in particolare nel sistema operativo Unix quando si tratta di programmazione socket in cui la porta viene utilizzata per richiedere porte dinamiche allocate dal sistema. La porta 0 è una porta con caratteri jolly che indica al sistema di trovare un numero di porta adatto.

A differenza della maggior parte dei numeri di porta, la porta 0 è una porta riservata nelle reti TCP/IP, il che significa che non dovrebbe essere utilizzata nei messaggi TCP o UDP. Le porte di rete nell'intervallo TCP e UDP dal numero zero fino a 65535. I numeri di porta nell'intervallo compreso tra zero e 1023 sono definiti come porte non temporanee, porte di sistema o porte note. L'Internet Assigned Numbers Authority (IANA) mantiene un elenco ufficiale dell'uso previsto di questi numeri di porta su Internet e la porta di sistema 0 non deve essere utilizzata.

Come funziona la porta TCP/UDP 0 nella programmazione di rete

Image
Image

La configurazione di una nuova connessione socket di rete richiede l'allocazione di un numero di porta su entrambi i lati di origine e destinazione. I messaggi TCP o UDP inviati dall'originator (origine) contengono entrambi i numeri di porta in modo che il destinatario del messaggio (destinazione) possa inviare messaggi di risposta all'endpoint del protocollo corretto.

IANA ha preallocato porte di sistema designate per applicazioni Internet di base come i server Web (porta 80), ma molte applicazioni di rete TCP e UDP non hanno una propria porta di sistema e devono ottenerne una dal sistema operativo del proprio dispositivo ogni volta che vengono eseguite.

Per allocare il suo numero di porta di origine, le applicazioni chiamano funzioni di rete TCP/IP come bind() per richiederne una. L'applicazione può fornire un numero fisso (codificato) a bind() se preferisce richiedere un numero specifico, ma tale richiesta può non riuscire perché un' altra applicazione in esecuzione sul sistema potrebbe attualmente utilizzarla.

In alternativa, può fornire la porta 0 a bind() come parametro di connessione. Ciò attiva il sistema operativo per cercare e restituire automaticamente una porta disponibile adatta nell'intervallo di numeri di porta dinamica TCP/IP.

All'applicazione non viene concessa la porta 0 ma piuttosto un' altra porta dinamica. Il vantaggio di questa convenzione di programmazione è l'efficienza. Invece di ogni applicazione che implementa ed esegue codice per provare più porte fino a quando non ne ottengono una valida, le app si basano sul sistema operativo.

Unix, Windows e altri sistemi operativi variano nella gestione della porta 0, ma si applica la stessa convenzione generale.

Porta 0 e sicurezza di rete

Il traffico di rete inviato attraverso Internet agli host in ascolto sulla porta 0 potrebbe essere generato da aggressori di rete o accidentalmente da applicazioni programmate in modo errato. I messaggi di risposta generati dagli host in risposta al traffico sulla porta 0 aiutano gli aggressori a conoscere il comportamento e le potenziali vulnerabilità di rete di tali dispositivi.

Molti fornitori di servizi Internet (ISP) bloccano il traffico sulla porta 0, sia i messaggi in entrata che quelli in uscita, per proteggersi da questi exploit.

Domande frequenti

    Cosa sono i numeri di porta?

    I numeri di porta utilizzati per le connessioni di rete TCP/IP fungono da informazioni sull'indirizzo, identificando i mittenti e i destinatari di un messaggio. I numeri di porta consentono a varie applicazioni sulla stessa rete di condividere le risorse contemporaneamente.

    Come faccio a trovare i numeri di porta?

    Per trovare il numero di porta di un indirizzo IP specifico, vai al prompt dei comandi, digita netstat -a, quindi premi Invio. Vedrai un elenco di connessioni TCP attive insieme a indirizzi IP e numeri di porta separati da due punti.

    Posso collegarmi alla porta 0?

    No. Ufficialmente, la porta 0 non esiste e non puoi connetterti ad essa, poiché è un numero di porta non valido. Tuttavia, puoi inviare un pacchetto Internet da e verso la porta 0 come faresti con un altro numero di porta.

Consigliato: