GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sélectionner un numéro de port statique pour une application personnalisée ?

Si vous ne pouvez pas prédire le type exact d'environnement que votre application va exécuter, ne vous en souciez pas. Choisissez n'importe quel nombre supérieur à 1024 et rendez-le également configurable afin que l'utilisateur puisse le modifier en cas de conflit avec un autre service/application.

Bien sûr, vous pouvez toujours éviter les ports très courants comme 8080 (HTTP alternatif) ou 3128 (proxies comme squid), 1666 (perforce), etc. Vous pouvez consulter une liste complète des ports connus ici, ou jeter un œil à /etc/services .


Si vous ne vous souciez pas du numéro de port et que cela ne vous dérange pas qu'il change à chaque fois que votre programme est exécuté, ne liez simplement pas le port avant de l'écouter (ou liez-le avec le port 0, si vous voulez lier une adresse IP spécifique). Dans les deux cas, vous dites au système d'exploitation de choisir un port libre pour vous.

Après avoir commencé à écouter, utilisez getsockname pour savoir quel port a été sélectionné. Vous pouvez l'écrire dans un fichier, l'afficher à l'écran, en faire hériter un enfant via fork , etc.


Pour une application statique, pensez à cocher /etc/services pour trouver un port qui n'entrera pas en collision avec tout ce que vous utilisez et qui n'est pas couramment utilisé ailleurs.

$ tail /etc/services
nimspooler      48001/udp                       # Nimbus Spooler
nimhub          48002/tcp                       # Nimbus Hub
nimhub          48002/udp                       # Nimbus Hub
nimgtw          48003/tcp                       # Nimbus Gateway
nimgtw          48003/udp                       # Nimbus Gateway
com-bardac-dw   48556/tcp                       # com-bardac-dw
com-bardac-dw   48556/udp                       # com-bardac-dw
iqobject        48619/tcp                       # iqobject
iqobject        48619/udp                       # iqobject

Linux
  1. Comment installer pandom :un vrai générateur de nombres aléatoires pour Linux

  2. Comment spécifier une saisie semi-automatique personnalisée pour des commandes spécifiques ?

  3. Comment exécuter la commande Ping uniquement pour un nombre N de paquets

  4. Comment utiliser la commande Wireshark tshark pour les ports personnalisés et les fichiers texte

  5. Comment configurer Qt pour la compilation croisée de Linux vers la cible Windows ?

Bash pour la boucle

Comment vérifier les ports d'écoute sous Linux (ports utilisés)

Comment trouver le numéro de port d'un service sous Linux

Comment envoyer un ping à un numéro de port sous Linux

Comment envoyer un ping à un numéro de port spécifique

Procédure :Port RDP personnalisé dans Windows 2012