私の会社には約200個のCIDR IPブロックのリストがあります。私は、Webページへの訪問者(1日に数千のヒット)がそのブロックから来ているかどうかを検証しようとしています。理想的には、私が望む出力は範囲にないパーセンテージとそれらのIPのリストなので、さらにチェックすることができます。IPアドレスのリストがCIDRで指定されたIPブロックのリスト内にあるかどうかを確認します。R
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")
pxを突くためのThx! [GitHubのバージョン](https://github.com/hrbrmstr/iptools)を見てください。それはあなたが求めていると思う2つの新しい機能を持っています。そうでない場合は、問題を提出して、お客様のニーズに対応します。 – hrbrmstr