このライブラリは、次の 2 つの主な機能を提供します。
IANA 組織 (ARIN、AFRINIC、APNIC、LACNIC、RIPE) のオフライン一括 Whois データベース ダンプから Whois レコードを読み取るためのパーサー
ARIN Referral Whois サーバーからオンライン RWhoisデータを取得するためのクローラー。これは、 -xferコマンドを使用した一括クロールと増分クロールの両方をサポートする RFC 2167 の部分実装です。
このライブラリは、ARIN の Whois-RWS などの REST API に接続する機能を提供しません。
新しいコンソール C# プロジェクトを作成し、Visual Studio GUI を使用するか、パッケージ マネージャー コンソールで次のコマンドを使用して、WhoisParsers NuGet パッケージをインストールします。
インストールパッケージ WhoisParsers
var parser = new WhoisParser(new SectionTokenizer(), new SectionParser());
var parser = new WhoisParser(new AfrinicSectionTokenizer(), new SectionParser());
サンプルarin.sample.txtファイルはここから入手できます。
var parser = new WhoisParser(new SectionTokenizer(), new SectionParser());varセクション = parser.RetrieveSections(@"arin.sample.txt");foreach (セクション内のvarセクション){Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "セクション ID: {0}", Section.Id));Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "レコード数: {0}", Section.Records.Count));Console.WriteLine("---- セクション レコード:") ;Console.WriteLine(セクション);Console.WriteLine();}
WhoisParser が提供するパブリック関数には次のものがあります。
関数 | 説明 |
---|---|
タイプごとの列数 | データベース ダンプ内のレコードの種類ごとに一意のレコード名のリストを取得します。署名のバリエーション:
|
セクションの取得 | 解析されたセクションをバルク データベースから取得します。署名のバリエーション:
|
文字列からセクションを取得 | データベースが文字列として渡されるバルク データベースから解析されたセクションを取得します。署名のバリエーション:
|
このライブラリには、IPV4 および (さらに重要なことに) IPv6 IP アドレスを増やす関数が含まれています。
using Microsoft.Geolocation.Whois.Utils;...var ipv4Address = IPAddress.Parse("192.168.0.1");Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "前: {0}、後: {1} ", ipv4Address, ipv4Address.Increment()));var ipv6Address = IPAddress.Parse("2001:db8:a0b:12f0::1");Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "前: {0}, 後: {1}", ipv6Address, ipv6Address.Increment( )));
出力は次のようになります。
Before: 192.168.0.1, After: 192.168.0.2 Before: 2001:db8:a0b:12f0::1, After: 2001:db8:a0b:12f0::2
ドキュメント TODO
ドキュメント TODO
ドキュメント TODO