2016-12-02 42 views
0

我在嘗試獲取有關某些主機名的信息,例如註冊人的國家/地區。我發現IPWhois應該完成這項工作,但顯然它沒有給我預期的數據。從主機名獲取註冊人地址?

例如,我想知道哪個國家是諾基亞(答案:芬蘭)。我知道他們的主機名是nokia.com。所以,我已經試過這樣:

import socket 
from ipwhois import IPWhois 
from pprint import pprint 
ip = socket.gethostbyname('nokia.com') 
obj = IPWhois(ip) 
pprint(obj.lookup_rdap(depth=1)) 

可悲的是resutls不顯示有關諾基亞的任何信息,但關於託管,這是在美國

在Ubuntu網絡工具的域名註冊,我可以見:

[…] 
Registrant Name: Nokia Corporation 
Registrant Organization: Nokia Corporation 
Registrant Street: P.O. Box 226, Nokia Group 
Registrant City: Espoo 
Registrant State/Province: Espoo 
Registrant Postal Code: 00045 
Registrant Country: FI 
[…] 

有沒有辦法獲得這種數據?

[編輯] 該腳本應該在Ubuntu服務器上工作(從12.04開始)。至於建議,我可以使用子庫調用check_output,例如:

from subprocess import check_output 
output = check_output(['whois', 'nokia.com']) 

然後我需要處理的輸出,因爲它可以從一個註冊商到另一個不同。

+1

首先,它會很高興地告訴我們什麼操作系統,你運行該上 – 2016-12-02 16:44:28

+0

,取決於您所使用的操作系統,巨蟒可能能夠運行操作系統提供的工具,並捕獲信息提供在您的腳本中使用。 – martineau

+0

你的問題不清楚。如果從諾基亞等公司名稱中獲取數據,那麼這與互聯網無關,您需要在各個國家的公司註冊數據庫中進行搜索。如果您想從某個域名('nokia.com')獲取數據,請使用域名註冊管理系統whois並查看註冊人。如果來自某些主機名稱,因此需要知道IP地址(可以完全位於公司辦公室的其他位置),請在RIR服務器上使用whois;您有時也可以通過名稱查詢,以獲取組織註冊的IP塊。 –

回答

0

IPWhois用於查找自己的IP地址所有權。 Whois用於查找域名的所有權。

嘗試使用python-whois,就像這樣:

In [15]: import whois 

In [16]: w = whois.whois('nokia.com') 

In [17]: for key in ('name', 'org', 'address', 'city', 'country'): print w[key] 
Nokia Corporation 
Nokia Corporation 
P.O. Box 226, Nokia Group 
Espoo 
FI 

In [18]: