#!/usr/bin/env python import sys from socket import * host = sys.argv[1] port = 80 if len(sys.argv)<3 else sys.argv[2] for addrinfo in getaddrinfo(host, port, AF_UNSPEC, SOCK_STREAM): family, socktype, proto, canonname, sockaddr = addrinfo socketObject = socket(family, socktype, proto) #socketObject = socket(*addrinfo[:3]) if socketObject is None: continue haveConnection = False try: socketObject.connect(sockaddr) socketObject.close() haveConnection = True except: pass familyString = "IPv6" if family==AF_INET6 else "IPv4" args = familyString, sockaddr[0], haveConnection print("{0} address {1}, connect = {2}".format(*args))