Esta biblioteca oferece dois recursos principais:
Analisadores para ler registros Whois de dumps de banco de dados whois off-line em massa de organizações da IANA (ARIN, AFRINIC, APNIC, LACNIC e RIPE)
Rastreadores para recuperar dados RWhois on-line de servidores ARIN Referral Whois. Esta é uma implementação parcial do RFC 2167 que oferece suporte a rastreamentos em massa usando o comando -xfer e rastreamentos incrementais.
Esta biblioteca NÃO fornece recursos para entrar em contato com APIs REST, como Whois-RWS da ARIN.
Crie um novo projeto C# de console e instale o pacote WhoisParsers NuGet usando a GUI do Visual Studio ou este comando no Console do Gerenciador de Pacotes:
WhoisParsers do pacote de instalação
var analisador = new WhoisParser(new SectionTokenizer(), new SectionParser());
var analisador = new WhoisParser(new AfrinicSectionTokenizer(), new SectionParser());
Você pode obter o arquivo de amostra arin.sample.txt aqui.
var parser = new WhoisParser(new SectionTokenizer(), new SectionParser());var seções = parser.RetrieveSections(@"arin.sample.txt");foreach (var seção em seções){Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "ID da seção: {0}", seção.Id));Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "Número de registros: {0}", seção.Records.Count));Console.WriteLine("---- Registros de seção:") ;Console.WriteLine(seção);Console.WriteLine();}
As funções públicas fornecidas pelo WhoisParser incluem:
Função | Descrição |
---|---|
ColunasPorTipo | Recuperar uma lista de nomes de registros exclusivos para cada tipo de registro em um dump de banco de dados. Variações de assinatura:
|
Recuperar seções | Recuperar seções analisadas do banco de dados em massa. Variações de assinatura:
|
RecuperarSeçõesFromString | Recuperar seções analisadas do banco de dados em massa onde o banco de dados é passado como uma string. Variações de assinatura:
|
A biblioteca contém funções para incrementar endereços IP IPV4 e (mais importante) IPv6.
usando Microsoft.Geolocation.Whois.Utils;...var ipv4Address = IPAddress.Parse("192.168.0.1");Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "Antes: {0}, Depois: {1} ", ipv4Address, ipv4Address.Increment()));var ipv6Address = IPAddress.Parse("2001:db8:a0b:12f0::1");Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "Antes: {0}, Depois: {1}", ipv6Address, ipv6Address.Increment( )));
A saída é semelhante a esta:
Before: 192.168.0.1, After: 192.168.0.2 Before: 2001:db8:a0b:12f0::1, After: 2001:db8:a0b:12f0::2
Documentação TODO
Documentação TODO
Documentação TODO