ホームページ  >  記事  >  バックエンド開発  >  無害な IP データベースをダンプするスクリプト用に Python で実装されたコード共有

無害な IP データベースをダンプするスクリプト用に Python で実装されたコード共有

黄舟
黄舟オリジナル
2017-05-21 13:37:571621ブラウズ

仕事で分析のために Innocence IP データベースのデータを使用する必要があることがよくあります。次の記事では、主に Python を使用して、一定の参照価値と学習価値のある Innocence IP データベースの関連情報の転送を実装する方法を紹介します。必要な友達はぜひ下記をご覧ください。

前書き

私はこれまでスキャン スクリプトについて多くの記事を書いてきましたが、スキャン IP 範囲をどこで入手したかについては書いたことがありませんでした。正直に言うと、友人がよくスキャン体験について尋ねてきます。このツールには実際の技術的な内容はありませんが、作業効率を向上させることができるので、みんなで遊べるように共有します~

スキャン体験に関しては、私は通常、さまざまなデバイスやさまざまな用途に応じてさまざまなタイプのセグメントを選択します。アプリケーション。

たとえば、スキャンしているターゲットは通信の光モデムなので、当然、中国電信の IP セグメントを選択します。光モデムは一般にホーム ユーザーであるため、ターゲットにできるように、ホーム ユーザーのアクティブな IP セグメントをスクリーニングします。

別の例として、エンタープライズ ルーティング デバイスをスキャンしたい場合は、多くのエンタープライズが含まれるセグメントを選択できます。

Innocent IP は非常に優れたツールで、私は通常、特定の領域の IP セグメントを検索するために使用していますが、このツールには非常に致命的な欠陥があります。つまり、共同クエリができず、これが非常に面倒です。これを使用するたびに、勝つために切り替える必要があります。私のような Linux 担当者にとって、それは当然耐え難いことです。 win では、クエリを実行するたびにそこにアクセスする必要がなく、リモートの場所に直接デプロイすることもできるため、クエリがはるかに便利になります。

要件

このスクリプトを Python で書くのは技術的には難しくありません。MySQLdb ライブラリの インストールについては、以前に書いたので、あまり説明しません。ブログで。ここでは、まず Innocence IP データベースのデータ ファイル構造を分析し、各行の構造が実際には固定されているため、記述が簡単であることを確認する必要があります。

コーディングの詳細については説明しません。コードを投稿してください

ここでは、すべてを走査するときにパフォーマンスの問題があります。データ

の挿入が必要です。 データ ライブラリの操作では、単一行の挿入の効率が非常に低くなります。たとえば、キャッシュ配列が到達したときに

キャッシュ配列 を書き込むことをお勧めします。 100 などの指定された数を指定すると、100 個の項目をデータベースに保存する方が、単一の項目を保存するよりもはるかに高速に実行されます。ブロガーさん、ここに穴を掘りますが、スクリプトを使用する友人が自分で修正できることを願っています。修正するのは難しくありません。

Innocence IP データベースによってエクスポートされた txt ファイルは標準の BOM フリー UTF8 エンコーディングではないため、直接分析は間違いなく失敗します。まず Notepad++ を使用してトランスコードすることをお勧めします

効果

データを転送した後


を使用するには、まず無害なIPデータベースをtxtドキュメントとしてエクスポートする必要があります。ここではそれをip.txtとしてエクスポートします

それを Py スクリプトと同じディレクトリに置きます


ちなみに、まず mysql データベースを用意する必要があります

それから データベース 構造をインポートします SQL ファイルです


それから変更する必要がありますスクリプト内の mysql 接続パスワードなど


最後に Py スクリプトを実行するだけです


手順

以上が無害な IP データベースをダンプするスクリプト用に Python で実装されたコード共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。