En çok da RAT'lardan bilindiği (DarkComet, SpyNet, NjRAT gibi) üzere Ip adresine göre ülke adı öğrenme ve bu ülkenin bayrağını tayin etme konusuna değineceğim bugün.

C# için bununla alakalı hiçbir şey yok neredeyse, hep vb.net, hatta bi platformda adamın biri bile sormuş ; "C# için yok mu" diye. Ben de yoğun araştırmalarım sayesinde Maximind isimli firmanın bu databaseyi yaptığını öğrendim ve github hesaını inceledim. Tahmin ettiğim gibi C# için bir example bulmuştum.


Kütüphanenin gerekli class'ları (bunları projenize import edin)ı: https://github.com/maxmind/geoip-api-csharp2

Kütüphanenin C# için başka örnekleri: https://github.com/maxmind/geoip-api...aster/examples

GeoIP.dat dosyası indirme linki: https://github.com/maxmind/geoip-api-c/tree/main/data

Şimdi gelelim kullanımına;

Projeye gerekli class'ları ekledikten sonra artık kodlarımızı yazalım;


Kod:
string GeoipDb = "GeoIP.dat"; // GeoIP.dat yolunu yazın.
//open the database
LookupService ls = new LookupService(GeoipDb, LookupService.GEOIP_MEMORY_CACHE);
//get country of the ip address
Country c = ls.getCountry("24.24.24.24"); // bir ip adresi yazın
Console.Write(" code: " + c.getCode()+"\n"); // Ülke kodu, örneğin; TR,GB,BR
Console.Write(" name: " + c.getName()+"\n"); //Ülke adı, örneğin; Turkey, Brasil, Cybrus gibi...