L’une des tâches les plus difficiles à accomplir au sein d’une équipe de projet est de réaliser les tests de connectivité nécessaires alors que les services n’existent pas.

C’est souvent ce que vous devez faire lorsque vous travaillez dans un environnement DMZ pour une migration ou de nouveaux projets. Prenons un exemple en temps réel : vous travaillez sur une migration et vous devez vous assurer que la connectivité existe entre l’application “A” et “B” sur un port particulier.

Bien sûr. C’est simple, vous pouvez effectuer un telnet, mais qu’en est-il lorsque “B” n’a aucun service en cours d’exécution ? C’est là que vous avez besoin de l’auditeur de port pour vous aider dans cette situation.

Si vous vous trouvez dans une situation similaire ou si vous pensez que cela pourrait vous être utile au travail, voici quelques méthodes pour y parvenir sous Windows ou UNIX.

Pour créer un post listener sous Windows OS

Pour avoir un écouteur de port sur un port spécifique sous Windows, vous pouvez utiliser l’utilitaire “Port Listener”.

Cet utilitaire est disponible gratuitement pour les systèmes d’exploitation Windows 95 à Windows 10.

port-listener-windows

  • Téléchargez Post Listener au format zip ou exe à partir d’ici
  • Dans ce guide, je vais télécharger le format exe
  • Double-cliquez sur le fichier postlistener.exe téléchargé
  • Il vous sera demandé de sélectionner l’emplacement pour extraire les fichiers, cliquez sur unzip

port-listener-extract

  • Allez dans le chemin où vous avez extrait les fichiers, dans cet exemple, j’ai mis c:listener

port-listener-folder

  • Double-cliquez sur listener pour démarrer l’utilitaire
  • Entrez le numéro de port que vous voulez tester et cliquez sur start

port-listener-listening

  • Dans l’exemple ci-dessus, j’ai démarré l’écoute du port 5500, et il est temps de vérifier qu’elle fonctionne.

Ouvrez une invite de commande et exécutez netstat pour vérifier si le port 5500 est en écoute

netstat-listening-windows

J’ai donc créé avec succès un port listener sous Windows.

Pour créer un post listener sous Linux OS

La procédure est légèrement différente sous Linux ; ici, nous utiliserons la commande netcat (nc) pour démarrer l’écouteur.

  • Pour installer nc, vous pouvez utiliser la commande yum
yum install nc
  • Une fois installé, utilisez la commande suivante pour démarrer l’écoute du port 5500 en arrière-plan.
nc -l 5500 &
  • Pour valider, utilisez la commande netstat
[root@Chandan ~]# netstat -anlp |grep 5500
tcp 0 0 0.0.0.0:5500 0.0.0.0:* LISTEN 
   21085/nc        
[root@Chandan ~]#

Le port 5500 est donc écouté avec succès. Faire cela sous Linux est un peu plus confortable, n’est-ce pas ?

Pour créer un port listener en utilisant Python

Les deux exemples précédents sont limités au système d’exploitation. Que diriez-vous d’un script Python qui fonctionnerait sous Windows ou UNIX ?

J’ai trouvé le code Python ci-dessous qui fonctionne sous Windows et Linux. Créez un fichier – disons portlistener.py avec le code suivant

''' Serveur de socket simple utilisant des threads
'''
import socket
import sys
HOST = '' # Nom symbolique, signifiant toutes les interfaces disponibles
PORT = 5500 # Port arbitraire non privilégié
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'
#Lier la socket à l'hôte et au port locaux
try :
    s.bind((HOST, PORT))
except socket.error as msg :
    print 'La liaison a échoué. Code d'erreur : ' str(msg<x>[0]</x>) ' Message ' msg<x>[1]</x>
    sys.exit()
print 'Socket bind complete'
#Démarrer l'écoute sur la socket
s.listen(10)
print 'Socket now listening'
#Continuez maintenant à parler avec le client
while 1 :
    #attendez d'accepter une connexion - appel bloquant
    conn, addr = s.accept()
    print 'Connecté avec ' addr<x>[0]</x> ':' str(addr<x>[1]</x>)
s.close()

Enregistrez le fichier et exécutez-le à l’aide de la commande python comme indiqué ci-dessous

[root@Chandan ~]# python portlistener.py
Socket créé
Socket bind complete
La socket est maintenant à l'écoute

Vous souhaitez apprendre Python ? Consultez ce cours en ligne.

J’espère que la procédure ci-dessus vous aidera à créer un port listener pour les tests de connectivité.