こんにちは
自宅でDebianをゲートウェイとして実行しているAtomの通常のコンピューターを使用していることが起こりました。 このため、ファイルストレージ、トレントのダウンロード、個人リポジトリなど、多くの追加機能を実行します。 しかし、これは重要ではありません。 トレントクライアントの存在は、比較的多数の接続を意味し、「すべてを視覚化する必要がありますか?」というアイデアが生まれました。
すぐに解決策が見つかりました:xplanet(マーカーが付いた地球の画像を描画できます)+ geoip(IP->座標)。
カスタマイズ
ジオイプ
プロジェクトは
github.com/appliedsec/pygeoipでホストされてい
ます 。 インストールに問題はありません。唯一のことは、データベースを個別にダウンロードする必要があることです:
www.maxmind.com/download/geoip/database/GeoLiteCity.dat.xz (プロジェクトwikiから確認できます)およびpython-sixを個別に配信する。 ゲートウェイでテスト中の配布ブランチがあり、このパッケージはリポジトリにあります(安定ブランチにはありません。振る必要があります)。 他のディストリビューションでもリポジトリに含まれている可能性があります。
このAPIを使用すると、たとえば、都市名、国、郵便番号など、さまざまな情報を受信できますが、関心があるのは座標のみです。
xplanet
リポジトリからインストールされました。 インストール後に行う必要がある最初のことは、構成を修正することです(/ etc / xplanet / config / defaultにあります)。つまり、マーカーでファイルの名前を指定します。ファイルは使用できません。 これを行うには、[Earth]セクションで次を指定します。
marker_file=[ ]
すべてをまとめる
これで、すべてを1つの全体に収集することができます。 次のコマンドを使用して、すべての接続のリストを取得できます。
netstat -ntp
簡単な説明:-n-名前ではなくIPアドレスを表示します、t-tcp接続、p-プロセスの名前とPIDを表示します(自分だけでなくすべてのプロセスの名前を表示するには、sudoを使用する必要があります)。 次に、不要なもの(ヘッダーとipv6)をすべて除外します。
sudo netstat -ntp | grep tcp | grep -v ::
以下は、作業の一部を行う小さなスクリプトです。
さて、残りの作業を行うのはpythonスクリプトの番です。
これで、結果を楽しんだり、
何が起こるかの例を見ることができます
。 PIDのない接続は、すべての種類のTIME_WAITなどです。
この実装には欠陥がないわけではありません。 たとえば、色は円で繰り返され、2番目または3番目の円に入ると、マーカーのサイズが正しく表示されない場合があります。 色はキーの一部です。 何が起こっても、ユニークな色を生成する必要がありますが、少数のプロセスで、このアプローチは存在する権利があります。
マップの連続描画が必要な場合は、開始回数を制限せずに、ターミナルに縛られることなく、xplanetを実行できます。 その後、特定の頻度でマーカー(たとえば、cron)でファイルを更新するだけで十分です。
ただし、この例は、より複雑/単純な実装の優れたベースとして機能します。