對於我正在開發的網絡安全項目,我在mongoDB集合中列出了我的國家(和其他相關字段)中的每個IP。mongoDB mongoengine上的多個過濾器
像這樣:
{
"_id" : ObjectId("56674d3d9ee3d40b79167e09"),
"ip" : "200.6.116.75",
"server" : "Microsoft-IIS/7.5",
"date" : "2015-11-23"
}
的事情是,現在我要對他們給予ASN(自治系統號)進行過濾。我有另一個集合,我有ASN和IP塊。 下面是ASN 6429.
{
"_id" : ObjectId("572ba2611c8e25e0a9c44f64"),
"ASN" : "6429",
"ip_block" : "200.14.215.0/24"
}{
"_id" : ObjectId("572ba2611c8e25e0a9c44f65"),
"ASN" : "6429",
"ip_block" : "200.27.0.0/16"
}
一個例子現在,有沒有簡單的方法,使在任何給定ASN查詢過濾?
具體而言,我想問每個IP與我給定的ASN匹配,通過詢問IP是否匹配這個ASN的IP塊。
我可以做的另一件事就是詢問數據,而不是按ASN過濾,然後我可以在python上過濾掉所有東西,但在我看來,這樣的查詢應該由DBMS完成。
任何提示將不勝感激。
這是一個聰明的方法來解決此問題。謝謝! –