我有一個列表,列出了大約200個CIDR IP塊供我公司使用。我試圖覈實一個網頁的訪問者(一天幾千次點擊)是否來自這些區塊。理想情況下,我希望的輸出是不在範圍內的百分比和這些IP的列表,以便我可以進一步檢查它們。檢查IP地址列表是否在R的CIDR註釋IP塊列表中
我從iptools包中找到ip_in_range()
函數,但它是1比1的比較結果。我認爲某種樂句或其他循環應該能夠完成我想要的,但我是一個新手,迄今爲止還沒有能夠拿出正確的符號。我相信我會想要採用IP#1並針對各種CIDR進行測試。一旦它變爲TRUE,它就可以停止,但這不會經常重複,所以我不能在所有塊中循環。然後循環將轉到IP#2並再次進入。事實上,我的故障率預計會很低,即使只是在每個IP旁邊輸出TRUE和FALSE也足以讓我手動排除故障。
我知道必須有一些通用的方法已經循環一個函數,需要2個輸入,我只是想不出正確的方式來短語搜索找到任何東西。
示例數據:
visitor_ip_addresses <- c("10.10.1.2", "10.34.21.4", "192.168.23.34", "172.16.34.78", "1.2.3.4", "192.168.4.6")
ip_ranges <- c("10.0.0.0/8", "192.168.0.0/16", "172.16.0.0/12")
Thx戳在pkg!看看[GitHub上的版本](https://github.com/hrbrmstr/iptools)。它有兩個新的功能,我認爲你正在問什麼。如果沒有,請提出問題,我們將努力滿足您的需求。 – hrbrmstr