Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

socket.gaierror: [Errno -2] Name or service not known with Python3

Tags:

python

sockets

I am trying to use port scanner program.

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)

But it is not working.

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

I am trying to learn more about the sockets,I am begginer.I have double checked the Python3 code and could not find any mistakes.

like image 671
MishaVacic Avatar asked Jun 16 '17 13:06

MishaVacic


1 Answers

socket.gethostbyname expects a host name and not an URL. You must give www.osjajinci.com instead of http://www.osjajinci.com/

like image 185
Serge Ballesta Avatar answered Oct 20 '22 01:10

Serge Ballesta