2013-06-06 5 views
0

Я пытаюсь проверить доступный порт в своей сети дома. Но у меня есть несколько проблем и ошибок. Может кто-нибудь сказать мне, что дело происходит в моем сценарииОшибка сканирования сети

Вот мой сценарий

#!/usr/bin/env python 

import socket, sys 
from optparse import OptionParser 

def scan_server(address, port): 
s = socket.socket() 
print "Attempting to connect to %s on port %s." %(address, port) 
try: 
    s.connect((address, port)) 
    print "Connected to server %s on port %s." %(address, port) 
    return True 
except socket.error, e: 
    print "Connecting to %s on port %s failed with the following error: %s" %(address, 
    port, e) 
    return False 

if __name__ == '__main__': 
parser = OptionParser() 
parser.add_option("-a", "--address", dest="address", default="localhost",  
parser.add_option("-p", "--port", dest="port", help="PORT for server", metavar="PORT") 
(options, args) = parser.parse_args() 
if options.port == 'all': 
    print 'checking all ports...' 
for x in range(1,65536): 
    print 'checking port %s on %s' %(x, options.address) 
    check = scan_server(options.address, x) 
    print 'scan_server returned %s' %(check) 
else: 
    options.port = int(options.port) 
    print 'options: %s, args: %s' %(options, args) 
    check = scan_server(options.address, options.port) 
    print 'scan_server returned %s' %(check) 
    Ssys.exit(not check) 

А вот моя ошибка

проверки порта 1 на локальном хосте Попытка подключения на localhost на порту 1. Ошибка подключения к локальному хосту на порту 1: [Errno 10061] Не удалось установить соединение, так как целевая машина отказалась от него scan_server вернулся Ложные проверкой порта 2 на локальном хосте

Попытку подключения на локальный порт 2. Подключения к локальному порту-не удался со следующей ошибкой: [Errno 10061] Нет соединение может быть сделано, потому что целевая машина активно отказалась он scan_server вернулся Ложные проверки порта 3 на локальном хосте

Попытка подключения на локальный порт 3. подключение к локальный порт 3 не удалось со следующей ошибкой: [Errno 10061] нет соединения может быть сделано, потому что целевая машина активно отказался scan_server вернулся False проверка порта 4 на локальном хосте

Попытку подключения на локальный порт 4. Подключения к локальному порту-не удался со следующей ошибкой: [Errno 10061] Нет соединение может быть сделано, потому что целевая машина активно отказалась его scan_server вернулся Ложные проверки порта 5 на локальном хосте

Попытка подключения на локальный порт 5. подключение к локальный порт 5 неудавшегося со следующей ошибкой: [Errno 10061] нет соединения может быть сделано, потому что целевая машина активно отказалась от него scan_server возвращен False проверка порта 6 на localhost

Попытка подключения к порту на локальный 6.

ответ

5

Там нет ошибки. Ваш локальный компьютер (тот, который вы сканируете) не имеет ничего прослушивания в этих портах, поэтому на соединение отказывают.

Я не уверен, что вы подразумеваете под «доступными портами». Операционная система откажется от соединений на любом порту, который не имеет чего-то , связанного с ним. В Linux-подобных операционных системах существует системный вызов с именем bind, который регистрирует программу, предназначенную для прослушивания на этом порту. Подавляющее большинство портов на вашем компьютере будет «доступно», поскольку ничто не связано с ними.

Адрес a reference of commonly used ports.

+0

Прошу прощения за ошибку. Я имею в виду отказ от попытки подключения. На самом деле, я пытаюсь выяснить протокол на каждом хосте, который подключается к моей сети. Я нашел скрипт для поиска порта для localhost. Но я не знал, как получить все остальные порты хоста. http: // codepad.org/HpzcVyet это мой сценарий для сканирования порта на моем localhost – topfer19

+0

Я объяснил, почему вы получаете эту ошибку в своем ответе. Однако, если это то, что вы пытаетесь сделать, просто используйте [nmap] (http://nmap.org), а не пытайтесь написать его самостоятельно. – Chris

Смежные вопросы