csv ファイルを使用して、ネットワーク ゾーンとその名前をネットワーク監視ソフトウェア プログラムに入力する必要があります。このソフトウェアは、ゾーン名、IP アドレスの開始、および IP アドレスの終了のみを取得します。どの IP 範囲も重複できません。
私たちはネットワーク チームからリストを取得しますが、IP 範囲は常に重複しています。そのため、今のところ重複しているかどうかを確認するために Excel 関数を使用しています。その後、IP アドレス計算機を使用し、カット アンド ペーストして範囲を入力する必要があります。の間に。
基本的には、次のようなリスト (csv) を作成したいと考えています。
Zone Name, IPStart, IPStop,Range,Source
Group A,10.0.0.0,10.127.255.255,10.0.0.0/9,New List
Group A Sales,10.16.0.0,10.31.255.255,10.16.0.0/12,New List
Group A Sales Primary routers,10.23.1.0,10.23.1.15,10.24.1.0/28,New List
Group A Sales Web Servers,10.16.0.0,10.19.255.255,10.16.0.0/14,New List
Group A Sales Web Servers - Primary,10.18.0.0,10.18.0.255,10.18.0.0/24,New List
Group A Marketing,10.62.0.0,10.62.255.255,10.62.0.0/16,New List
Group A Research,10.62.0.0,10.63.255.255,10.62.0.0/15,Old List
Group B,10.128.0.0,10.255.255.255,10.128.0.0/9,Old List
Into this (with the other ranges filled out as well):
Zone Name, IPStart, IPStop,Range,Source
Group A,10.0.0.0,10.15.255.255,10.0.0.0/12,New List
Group A Sales,10.24.0.0,10.31.255.255,10.24.0.0/13,New List
Group A Sales Web Servers,10.16.0.0,10.17.255.255,10.16.0.0/15,New List
Group A Sales Web Servers - Primary,10.18.0.0,10.18.0.255,10.18.0.0/24,New List
Group A Sales Web Servers,10.19.0.0,10.19.255.255,10.19.0.0/16,New List
Group A Sales,10.20.0.0,10.21.255.255,10.20.0.0/15,New List
Group A Sales,10.22.0.0,10.22.255.255,10.22.0.0/16,New List
Group A Sales,10.23.0.0,10.23.0.255,10.23.0.0/24,New List
Group A Sales Primary routers,10.23.1.0,10.23.1.15,10.24.1.0/28,New List
Group A Sales,10.23.1.16,10.23.1.31,10.23.1.16/28,New List
Group A Sales,10.23.1.32,10.23.1.63,10.23.1.32/27,New List
Group A Sales,10.23.1.64,10.23.1.127,10.23.1.64/26,New List
Group A Sales,10.23.1.128,10.23.1.255,10.23.1.128/25,New List
Group A Sales,10.23.2.0,10.23.3.255,10.23.2.0/23,New List
Group A Sales,10.23.4.0,10.23.7.255,10.23.4.0/22,New List
Group A Sales,10.23.8.0,10.23.15.255,10.23.8.0/21,New List
Group A Sales,10.23.16.0,10.23.31.255,10.23.16.0/20,New List
Group A Sales,10.23.32.0,10.23.63.255,10.23.32.0/19,New List
Group A Sales,10.23.64.0,10.23.127.255,10.23.64.0/18,New List
Group A Sales,10.23.128.0,10.23.255.255,10.23.128.0/17,New List
Group A Marketing,10.62.0.0,10.62.255.255,10.62.0.0/16,New List
Group A Research,10.63.0.0,10.63.255.255,10.62.0.0/16,Old List
Group B,10.128.0.0,10.255.255.255,10.128.0.0/9,Old List
プログラムは、古いリストよりも新しいリストを優先する必要がありますが、新しいリストのいずれとも重複しない場合は、古いリストを含める必要があります。
私はプログラミングの初心者ですが、以前は c++ を知っていて、Perl、PHP を勉強していて、bash スクリプトと awk/gawk を知っています。私はこれを行うためのプログラムをインターネット全体で探していましたが、何も近づいていません。どの言語で入力すればよいかさえわかりません。
どんなプログラムでも、少なくともいくつかの出発点が本当に役に立ちます。ありがとう
最終的には、このプログラムの一部を作成して、ゾーン名を比較および編集して特定の長さに合わせ、別のファイルのエントリに基づいてゾーンの場所を追加する必要があるため、覚えておいてください.
編集
私はPythonを学んでいるので、これにはPythonを使用すると思います。Python でオーバーラップをチェックする方法を見つけるのに苦労しています。最終的なコードはオーバーラップのチェックであり、両方の範囲のすべての IP アドレスを返し、大きい範囲から小さい範囲のアドレスを削除し、新しいアドレス範囲を計算します: 古いアドレス範囲を追加して削除します。それが理にかなっていれば。
現時点では積極的に取り組んでいません。これらのファイルの処理を自動化するために、コードの他の部分に取り組んでいます。しかし、これが私のコードの中で最も複雑な部分になると思うので、助けていただければ幸いです。
ありがとう、B0T