簡體   English   中英

在 Python 中,獲取有關 IP 地址的更多信息

[英]In Python, Getting More Info About An IP Address

我知道 Python 中的gethostbyaddr ,這對我來說有點用。 我想獲得有關 ip 地址的更多信息,就像可以在各種網站上找到的那樣,例如誰托管了 ip 地址、原產國……等等。我需要以編程方式完成此操作。

是否有 Python 的內置命令,或者我需要訪問包含此類信息的某些數據庫,或者是否有任何 Python API? Python 不是我的母語,所以我不熟悉如何在 Python 中解決此類問題。

您可以使用pywhois檢索 whois 信息,即托管組織/人員的姓名和聯系方式。 請注意,whois 信息質量各不相同; 通常,域名(使用gethostbyaddr找到)會給您帶來比 IP 地址更好的結果。

如果您只需要地理信息,請使用pygeoip 它通過在數據庫中查找 IP 地址來映射到某個位置,例如MaxMind提供的那些。 請注意,免費的“Lite”版本只會給您一個粗略的想法,20-50km 的錯誤並不少見。

好的,這是我的答案。 我將致力於清理我機器上的 Python 3.x 版本的 pywhois 以供公眾使用,並希望在下周我將我的代碼提交到 subversion 存儲庫。 從我正在使用的 IP 地址中,通過將 gethostbyaddr 應用到 IP 地址(如 phihag 建議的那樣,然后將其通過 pywhois),我首先檢索信息的成功率約為 78%。 我會讓讀者自己決定這個比率是否足以滿足他們的特定應用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM