2017-06-16 8 views
1

ポートスキャナプログラムを使用しようとしています。socket.gaierror:[Errno -2] Python3で知られていない名前またはサービス

import socket 
import subprocess 
import sys 
from datetime import datetime 

subprocess.call('clear', shell=True) 

remoteServer = input("Enter a remote host to scan: ") 
remoteServerIP = socket.gethostbyname(remoteServer) 

print("-" * 60) 
print("Please wait, scanning remote host", remoteServerIP) 
print("-" * 60) 

t1 = datetime.now() 

try: 
    for port in range(1,1025): 
     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
     result = sock.connect_ex((remoteServerIP, port)) 
     if result == 0: 
      print("Port {}:  Open".format(port)) 
     sock.close() 

except KeyboardInterrupt: 
    print("You pressed Ctrl+C") 
    sys.exit() 

except socket.gaierror: 
    print('Hostname could not be resolved. Exiting') 
    sys.exit() 

except socket.error: 
    print("Couldn't connect to server") 
    sys.exit() 

t2 = datetime.now() 
total = t2 - t1 
print('Scanning Completed in: ', total) 

しかし、動作しません。私は、ソケットの詳細についてはしようとしています

Enter a remote host to scan: http://www.osjajinci.com/ 
Traceback (most recent call last): 
    File "portscanner.py", line 12, in <module> 
    remoteServerIP = socket.gethostbyname(remoteServer) 
socket.gaierror: [Errno -2] Name or service not known 

、私はbegginer.Iは、二重のpython3コードをチェックしているし、間違いを見つけることができませんでしたよ。

答えて

4

socket.gethostbynameは、URLではなくホスト名が必要です。 http://www.osjajinci.com/

の代わりに www.osjajinci.comを指定する必要があります
関連する問題