Für ein Projekt über Netzwerksicherheit, an dem ich gerade arbeite, habe ich eine Liste aller IPs in meinem Land (und anderen relevanten Feldern) in einer mongoDB-Sammlung.Mehrere Filter auf mongoDB mongoengine
So:
{
"_id" : ObjectId("56674d3d9ee3d40b79167e09"),
"ip" : "200.6.116.75",
"server" : "Microsoft-IIS/7.5",
"date" : "2015-11-23"
}
Die Sache ist, dass ich jetzt auf ihren gegebenen ASN (Autonomous System) filtern möchten. Ich habe eine andere Sammlung, auf der ich die ASN und gegebene IP-Blöcke habe. Hier ist ein Beispiel für 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"
}
Jetzt, gibt es eine einfache Möglichkeit, eine Abfrage-Filterung an einem bestimmten ASN zu machen?
Konkret würde ich gerne nach jeder IP fragen, die meinem gegebenen ASN entspricht, indem ich frage, ob die IP in einem IP-Block für einen solchen ASN übereinstimmt.
Eine andere Sache, die ich tun könnte, ist nur nach den Daten fragen und nicht nach ASN filtern, und dann könnte ich Dinge auf Python ausfiltern, aber es scheint mir, dass solche Abfragen vom DBMS durchgeführt werden sollten.
Alle Hinweise werden sehr geschätzt.
beeinflussen müssen, dass ein kluger Weg, um das Problem zu umgehen. Vielen Dank! –