#!/usr/bin/python
import socket
import sys

HOST = "whois.cymru.com"
PORT = 43

def fetch_OriginAsDict_ByList(ipaddrList):
    res_list = []
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((HOST, PORT))
    sock.send("begin\n")
    data = sock.recv(1024)
    for ipaddr in ipaddrList:
        sock.send(ipaddr + "\n")
    for ipaddr in ipaddrList:
        data = sock.recv(1024)
        res = data.split("|")
        res_list.append([res[1].strip(),  res[0].strip()])
    sock.send("end\n")
    sock.close()
    return dict(res_list)

def fetch_OriginAs(ipaddr, dic = ""):
    if dic == "":
        dic = fetch_OriginAsDict_ByList([ipaddr])
    return(dic[ipaddr])

if __name__ == '__main__':
    if len(sys.argv) == 1:
        pass
    if len(sys.argv) == 2:
        dic = fetch_OriginAsDict_ByList(sys.argv[1:])
        print fetch_OriginAs(sys.argv[1], dic)
    else:
        dic = fetch_OriginAsDict_ByList(sys.argv[1:])
        print dic
        for ipaddr in sys.argv[1:]:
            print ipaddr, ":" ,dic[ipaddr]
