PythonからShodanを使って情報を収集する

PythonからShodanを使って情報を収集する


Shodanとはインターネット上に存在するデバイスの情報を収集する検索エンジンです。
通常の検索エンジンとは異なりwebコンテンツを収集するのではなくOSのバージョンやサーバの種類などを収集のターゲットとしています。

このShodanをPythonから使った者は無限の可能性をその手にすると言われています。


コンテンツ


準備


PythonからShodanを使用する場合、APIKEYを取得するためにShodanアカウントが必要です。

アカウントと言ってもユーザー名とパスワードとメールアドレス入れて終わりでした。
少なくとも僕が作った時は。

そしてPython用のShodanライブラリーをインストールします。


これで準備が整いました。

使い方


まずは簡単なサンプルを作ります。


実行するとこのようになります。


sshで検索をかけた結果合計20161107件の情報が見つかりました。
情報自体はmatchesの中に配列で入っています。

またhostメソッドを使うことで指定したホストの情報を取得することができます。


実行するとこのようになりました。


今回は二つサンプルを作りましたが、他にもいろいろできるようです。
https://developer.shodan.io/api

とにかくShodanはネットワークに接続されているサーバーやIotデバイスなどのありとあらゆる情報を集めているみたいです。
これからインターネットに接続される機器はさらに増えていくと思うので、
Shodanの使い方を知っていれば何かの役に立ちそうです。