내 네트워크에서 사용 가능한 포트를 집에서 스캔하려고합니다. 하지만 몇 가지 문제와 오류가 있습니다. 사람이 문제가 내 스크립트 여기네트워크 스캔에 실패했습니다.
에 무슨 일이 일어나고 있는지 말해 줄 수 것은 여기 내 스크립트
#!/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을 확인 내 오류
입니다 포트 1의 로컬 호스트에 연결하십시오. 다음 오류로 인해 포트 1의 로컬 호스트에 연결하지 못했습니다. [Errno 10061] 대상 시스템에서 적극적으로 거부했습니다. 대상 컴퓨터가 적극적으로 거부했기 때문에 없음 연결을 만들 수 있습니다 [errno를 10061] : scan_server은 거짓 포트 2에 localhost에 연결 2. 다음과 같은 오류와 함께 실패 포트에서 로컬 호스트에 연결을 시도
로컬 호스트 포트 2를 확인 반환 이 scan_server이 False 포트 3에 localhost로 연결 3. 다음과 같은 오류와 함께 실패 포트에서 로컬 호스트에 연결을 시도
로컬 호스트의 포트 3을 확인 반환 : [errno는 10061] 연결하지 못했습니다 때문에 대상 시스템 적극적으로 거부했습니다. scan_server returned False 포트 4에 localhost에 연결 4. 다음과 같은 오류와 함께 실패 포트에서 로컬 호스트에 연결을 시도 로컬 호스트에
을 포트 4 확인 : 대상 컴퓨터가 적극적 scan_server를 거부했기 때문에 [errno를 10061] 연결하지 못했습니다 포트 5 로컬 호스트에 연결 5. 다음과 같은 오류와 함께 실패 포트에서 로컬 호스트에 연결을 시도 로컬 호스트에
을 포트 (5)를 확인 거짓 반환 대상 컴퓨터가 적극적으로 거부했기 때문에 [errno를 10061] 연결하지 못했습니다 scan_server가 반환 됨 False 로컬 호스트에서 포트 6 확인
포트 6의 로컬 호스트에 연결하려고 시도했습니다.
실수로 죄송합니다. 나는 연결하려는 시도가 실패했음을 의미합니다. 실제로 내 네트워크에 연결하는 모든 호스트에서 실행되는 프로토콜을 찾으려고합니다. localhost 용 포트를 검색하는 스크립트를 찾았습니다. 그러나 나는 호스트의 모든 다른 항구 를 얻는 방법을 알지 않았다. http : // codepad.org/HpzcVyet 내 로컬 호스트에서 포트를 검색하기위한 내 스크립트입니다. – topfer19
왜 내 대답에서 그 실패가 발생하는지 설명했습니다. 그러나 그게 당신이하려는 일이라면 직접 작성하는 대신 [nmap] (http://nmap.org)을 사용하십시오. – Chris