Сканирование портов завершается неудачно, когда включен брандмауэр - PullRequest
0 голосов
/ 26 апреля 2018

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

Q1.Я хотел бы знать, если какой-либо метод я могу получить ответ, если брандмауэр включен или нет?Q2.Любой порт всегда открыт в системе Windows, так что я могу получить ответ.

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

enter image description here

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ClientIP = '10.xxx.xxx.xxx'
def portscanner(port):
    try:
        s.connect((ClientIP,port))
        return True
    except:
        return False
for x in range(8000,8003):
    if portscanner(x):
        print("Port is open",x)
    else:
        print("port is closed",x)

1 Ответ

0 голосов
/ 26 апреля 2018

Когда порт заблокирован брандмауэром, вы не можете обнаружить сбой до истечения времени ожидания.Вы можете установить короткий тайм-аут.

s.settimeout(1);

Это будет ждать только 1 секунду, прежде чем сдаться.

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