Я открыл PORT 8003 в брандмауэре системы Windows Client в качестве правила для входящих и исходящих соединений, чтобы разрешить подключение, выполнив следующие шаги, доступные здесь.

Когда я проверяю соединение PORT 8003, используя приведенную ниже программу python, чтобы проверить, действительно ли она включена, но я все равно получаю сообщение о закрытии порта. Что-то я делаю не так?

Я намерен определить, доступен ли удаленный клиент, и я ожидаю перезагрузки клиентской системы во время теста. Примечание:**** Невозможно использовать PING, так как при включенном брандмауэре запросы PING блокируются.

netstat -a не показывает 8003 в своем списке прослушивания.

Программа, которую я использовал для сканирования порта:

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server = 'IPHERE'

def PortScanner(port):
    try:
        s.connect((server,port))
        return True
    except:
        return False

for x in range(8003,8006):
    if PortScanner(x):
        print("Port is open",x)
    else:
        print("port is Closed",x)

1 ответ1

0

Вам необходимо предоставить более подробную информацию о том, на каком сервисе (TCP?) порт 8003 должен делать.

На основной вопрос «Windows - как определить другой статус системы»:

  • С системой в вашей локальной подсети вы можете проверить успешное разрешение ARP (например, для 192.168.37.25), независимо от настроек брандмауэра
    • ping 192.168.37.25
    • arp -a 192.168.37.25
  • Для удаленной системы (где вам нужно пересечь маршрутизатор) вам нужен какой-то IP-сервис, с которым вам разрешено общаться и получать ответ. Это может быть ping , net view , ...
  • Ни то, ни другое невозможно узнать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .