2014-12-31 198 views
4

有誰知道一個API /腳本,它給了我的IP地址的網絡CIDR?不是IP範圍到CIDR!IP到CIDR/IP範圍

背景:欺詐者在我的網站上註冊並使用代理或網絡託管商來隱藏他的IP地址或僞造他的IP位置。現在阻止他的IP地址是沒有意義的。我想鎖定主機的整個網絡進行註冊。所以我需要做一個ip whois來獲得網絡的CIDR。我想自動化它。

回答

8

IP地址由LIR(本地Internet註冊表)發佈給最終用戶。 LIR需要在其適當的RIR(區域互聯網註冊管理機構)數據庫中爲任何分配的地址空間註冊各種詳細信息。有5個RIR(ARIN,RIPE NCC,APNIC,LACNIC和AfriNIC)負責世界各地。據我所知,它們都提供了可用於獲取所需信息的RESTful API。

例如,如果IP是來自歐洲,你可以使用RIPE API來搜索其相關的一些IP地址inetnum或路由對象:

http://rest.db.ripe.net/search?query-string=194.79.41.40

你會得到內部whois-resource多個對象而一個最有趣的是,你是route對象:

<object type="route"> 
<link xlink:type="locator" xlink:href="http://rest.db.ripe.net/ripe/route/194.79.40.0/22AS35796"/> 
<source id="ripe"/> 
<primary-key> 
    <attribute name="route" value="194.79.40.0/22"/> 
    <attribute name="origin" value="AS35796"/> 
</primary-key> 
<attributes> 
    <attribute name="route" value="194.79.40.0/22"/> 
    <attribute name="descr" value="NBS"/> 
    <attribute name="origin" value="AS35796" referenced-type="aut-num"> 
    <link xlink:type="locator" xlink:href="http://rest.db.ripe.net/ripe/aut-num/AS35796"/> 
    </attribute> 
    <attribute name="mnt-by" value="NBS-MNT" referenced-type="mntner"> 
    <link xlink:type="locator" xlink:href="http://rest.db.ripe.net/ripe/mntner/NBS-MNT"/> 
    </attribute><attribute name="source" value="RIPE" comment="Filtered"/> 
</attributes> 
</object> 

請記住,這條線路的對象可以是一個概括的範圍是較大的,則一個用戶實際上屬於,但這是最好的,你可以得到。

檢查其他RIR以下鏈接:

  • AfriNIC查詢(非洲):afrinic.net
  • APNIC(亞太):apnic.net
  • ARIN(北美):arin.net
  • LACNIC(拉丁美洲和加勒比):lacnic.net

編輯: 我應該在我的原始答案中提到這一點,但我被API部分分散了。在所有這些背後實際上是一個非常簡單的whois協議,尤其是在處理解析json或xml需要一些工作的編程語言時。

Whois協議使用TCP端口43,並且在連接到服務器之後,您只需要發送搜索關鍵字(在您的情況下爲IP地址)。您將得到響應,服務器將終止連接。而已。您可以嘗試telnet whois.ripe.net 43,打開連接後只需發送194.79.41.40或RIPE NCC發佈的其他IP。

whois的一個問題是沒有中央數據庫,您可以查詢並始終得到結果,而需要查詢發佈特定IP的RIR。但即使您錯過了正確的RIR,並且查詢了(例如)whois.iana.org的RIPE NCC發佈的地址,您也會收到正確的whois服務器和發佈該組織(RIR)的響應IP。因此,您可以檢查用戶的地理位置統計信息,並確定一個最有可能爲您提供結果的whois服務器的優先級,或者使用響應選擇要查詢的第二臺服務器。其他

的一個問題是,響應不規範,所以你將不得不作出迴應解析器爲每個5臺的whois服務器。

+0

中央數據庫是基本上https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml因爲它是IANA即首先分配塊的RIR(同存在的IPv6地址課程)。但是它上面沒有whois服務器。 –

+0

同樣的事情現在改變一點與RDAP你有:http://data.iana.org/rdap/ipv4.json和http://data.iana.org/rdap/ipv6.json; RDAP客戶端可以使用它來自動查找適當的RIR RDAP服務器。 –