Share!

Python has a built-in function to convert hostname to IP addresses without having to external program.

It is provided by the socket module and you can resolve hostname to IP with the following steps:

Tutorial video:


  1. Launch your favourite Python shell.
    $ ipython
    Python 3.7.0 (default, Jun 29 2018, 20:13:13)
    Type 'copyright', 'credits' or 'license' for more information
    IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.
  2. Import socket module.
    In [1]: import socket
  3. Get IP from hostname by calling socket.gethostbyname function with hostname as parameter .
    In [2]: socket.gethostbyname('www.google.com')
    Out[2]: '216.58.203.68'

    Hostname in this context refers to Fully Qualified Domain Name or FQDN.

  4. Create a Python script that accepts hostname as parameter and outputs IP address such as the following.
    hostnametoip.py
    #!/usr/bin/env python3
     
    import socket
    import sys
     
    hostname = sys.argv[1]
    ip = socket.gethostbyname(hostname)
     
    print('Hostname: ', hostname, '\n' 'IP: ', ip)
  5. Run the script from the command line with hostname as parameter to test.
    $ python3 hostnametoip.py 'www.google.com'
    Hostname:  www.google.com
    IP:  216.58.203.68