Quando si sviluppa un'app che ascolterà su una porta TCP / IP, come si dovrebbe selezionare una porta predefinita? Supponiamo che questa app venga installata su molti computer e che si desideri evitare conflitti di porte.
Quando si sviluppa un'app che ascolterà su una porta TCP / IP, come si dovrebbe selezionare una porta predefinita? Supponiamo che questa app venga installata su molti computer e che si desideri evitare conflitti di porte.
Risposte:
Vai qui e scegli una porta con la descrizioneUnassigned
Primo passo: guarda l' elenco IANA :
Ci vedrai in coda alla lista
"Le porte dinamiche e / o private sono quelle comprese tra 49152 e 65535"
quindi quelle sarebbero le tue scommesse migliori, ma una volta che ne scegli una puoi sempre cercarla su google per vedere se c'è un'app abbastanza popolare che l'ha già "rivendicata"
L'elenco più completo di numeri di porta ufficiali IANA e numeri di porta non ufficiali che conosco è nmap-services .
Probabilmente vorrai evitare di utilizzare qualsiasi porta da questo elenco (Wikipedia).
Ne sceglierei solo uno e una volta che l'app viene utilizzata dalle masse, il numero di porta verrà riconosciuto e incluso in tali elenchi.
Come altri menzionano, controlla IANA.
Quindi controlla i tuoi sistemi locali / etc / services per vedere se ci sono alcune porte personalizzate già in uso.
E per favore, non codificarlo. Assicurati che sia configurabile, in qualche modo, in qualche modo, se non per altro vuoi essere in grado di avere più sviluppatori che utilizzano le proprie build localizzate contemporaneamente.
La scelta di uno non assegnato dall'elenco IANA di solito è sufficiente, ma se stai parlando di un prodotto rilasciato in commercio, dovresti davvero fare domanda allo IANA per ottenere uno assegnato a te. Notare che il processo per farlo è semplice ma lento; l'ultima volta che ne ho fatto domanda, ci è voluto un anno.
Se si tratta di un'applicazione che prevedi venga utilizzata ampiamente, registra un numero qui modo che nessun altro lo utilizzi.
Altrimenti, scegline uno inutilizzato a caso.
Il problema con l'utilizzo di uno nell'intervallo dinamico è che potrebbe non essere disponibile perché potrebbe essere utilizzato per un numero di porta dinamico.
Usa iana list. Scarica il file csv da:
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
e usa questo script di shell per cercare le porte non registrate:
for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;
e metti 2 numeri invece di N e M.
Bene, puoi fare riferimento ad alcuni numeri di porta comunemente usati qui e cercare di non usare quelli di nessun altro.
Se per "aperto al pubblico in generale" intendi aprire le porte sui tuoi sistemi, farei una chiacchierata con i tuoi amministratori di sistema su quali porte si sentono a proprio agio nel farlo.
Scegli una porta predefinita che non interferisca con i daemon e i server più comuni. Assicurati inoltre che il numero di porta non sia elencato come vettore di attacco per alcuni virus: alcune aziende hanno politiche rigorose in cui bloccano tali porte a prescindere da cosa. Ultimo ma non meno importante, assicurati che il numero di porta sia configurabile.