Одной из сложных задач при работе в команде проекта является выполнение необходимого теста на связность, хотя службы не существуют.
Это часто приходится делать, когда вы работаете в среде DMZ для миграции или нового проекта.
Давайте рассмотрим пример в реальном времени – вы работаете над миграцией, и вам нужно обеспечить связь между приложениями «A» и «B» на определенном порту.
Что ж. Вы можете выполнить telnet, но как насчет того, когда «B» не работает? Здесь вам понадобится прослушиватель портов, чтобы помочь в этой ситуации.
Если у вас есть аналогичная ситуация или вы почувствуете, что это будет полезно для вас на работе, то здесь есть несколько способов добиться этого на платформе Windows или UNIX.
Создание почтового прослушивателя в ОС Windows
Чтобы иметь прослушиватель портов на определенном порту в Windows, вы можете использовать утилиту «Port Listener».
Эта утилита доступна бесплатно от Windows 95 до Windows 10.
- Загрузить Listener в формате zip или exe отсюда
- В этом руководстве я загружу exe-формат
- Дважды щелкните файл загруженного postlistener.exe
- Он предложит выбрать местоположение для извлечения файлов, нажмите на unzip
Перейдите по пути, в котором вы извлекли файлы, в этом примере;
Дважды щелкните на listener , чтобы запустить утилиту
Введите номер порта, который вы хотите проверить, и нажмите кнопку start.
В приведенном выше примере я начал прослушивать порт на 5500, и пришло время проверить, работает ли он.
Откройте командную строку и запустите netstat, чтобы проверить, прослушивается ли порт 5500
Чтобы создать прослушиватель портов в ОС Linux
Процедура немного отличается в Linux; здесь мы будем использовать команду netcat (nc) для запуска слушателя.
Чтобы установить nc, вы можете использовать команду yum
yum install nc
После установки используйте следующую команду, чтобы запустить прослушиватель портов как 5500 в фоновом режиме.
nc -l 5500 &
Чтобы проверить, давайте использовать команду netstat
# netstat -anlp |grep 5500 tcp 0 0 0.0.0.0:5500 0.0.0.0:* LISTEN 21085/nc
Так вот, у меня порт 5500 прослушивается успешно. Выполнение этого в Linux немного более удобно, не так ли?
Как создать прослушиватель портов с помощью Python
я нашел ниже код python, который работает на Windows и Linux. Создайте файл – допустим, portlistener.py с кодом ниже
''' Simple socket server using threads ''' import socket import sys HOST = '' # Symbolic name, meaning all available interfaces PORT = 5500 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print 'Socket created' #Bind socket to local host and port try: s.bind((HOST, PORT)) except socket.error as msg: print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1] sys.exit() print 'Socket bind complete' #Start listening on socket s.listen(10) print 'Socket now listening' #now keep talking with the client while 1: #wait to accept a connection - blocking call conn, addr = s.accept() print 'Connected with ' + addr[0] + ':' + str(addr[1]) s.close()
Сохраните файл и запустите его с помощью команды python, как показано ниже.
# python portlistener.py Socket created Socket bind complete Socket now listening