Одной из сложных задач при работе в команде проекта является выполнение необходимого теста на связность, хотя службы не существуют.

Это часто приходится делать, когда вы работаете в среде DMZ для миграции или нового проекта.

Давайте рассмотрим пример в реальном времени – вы работаете над миграцией, и вам нужно обеспечить связь между приложениями «A» и «B» на определенном порту.

Что ж. Вы можете выполнить telnet, но как насчет того, когда «B» не работает? Здесь вам понадобится прослушиватель портов, чтобы помочь в этой ситуации.

Если у вас есть аналогичная ситуация или вы почувствуете, что это будет полезно для вас на работе, то здесь есть несколько способов добиться этого на платформе Windows или UNIX.

Создание почтового прослушивателя в ОС Windows

Чтобы иметь прослушиватель портов на определенном порту в Windows, вы можете использовать утилиту «Port Listener».

Эта утилита доступна бесплатно от Windows 95 до Windows 10.

port-listener-windows

  • Загрузить Listener  в формате zip или exe отсюда
  • В этом руководстве я загружу exe-формат
  • Дважды щелкните файл загруженного postlistener.exe
  • Он предложит выбрать местоположение для извлечения файлов, нажмите на unzip

port-listener-extract

Перейдите по пути, в котором вы извлекли файлы, в этом примере;

port-listener-folder

Дважды щелкните на listener , чтобы запустить утилиту

Введите номер порта, который вы хотите проверить, и нажмите кнопку start.

port-listener-listening

В приведенном выше примере я начал прослушивать порт на 5500, и пришло время проверить, работает ли он.

Откройте командную строку и запустите netstat, чтобы проверить, прослушивается ли порт 5500

netstat-listening-windows

Чтобы создать прослушиватель портов в ОС 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

 

Поделитесь статьей:

Добавить комментарий