こんにちは。hacknoteのr.katoです。
今回はpythonとbashを使って、
- URLからそのサイトがきちんとhttpのステータスコード200番代を返しているか?
- SSL接続に問題はないか?
を調べるためのプログラムを作ったので、紹介していきます。
実行環境
OS: macOS Mojave python: python3.7.2 Anaconda3: version 1.7.2 openssl: 1.0.2j 26 Sep 2016 curl: 7.49.0 (x86_64-apple-darwin11.4.2) git: version 2.13.0
使ったpythonのライブラリ
- requests
- subprocess
- datetime
- pprint
- numpy as np
- sys, time
- re
- tabulate
tabulateのみ、Anacondaにデフォルトでインストールされていないため、次のコマンドでインストールします。
$ pip install tabulate
手順
- git cloneします。
$ git clone https://github.com/ryo1107/url_cheker_for_hack.git
- url_checkerに移動し、url_list.txtを作成し、中身を編集します。
$ cp url_list.txt.example url_list.txt
- certs.pemをダウンロードし、
url_checker
直下に置きます。
- 以下のコマンドで、実行します。
$ bash master.sh
出力画面
次の様に表が出力されます。
httpがステータスコード、SSLがSSL通信が有効になっているか、Date LimitがSSL証明書の有効期限を表しています。
Date ExpiredがSSL証明書の期限切れを、Domain Errorがurl_list.txtに入力されたURLのドメインが間違っている(ドメインが存在しない)ことを示しています。
終了
url_list.txtから調べたいURLを取得するところから、URLを調べて、terminalへ出力するところまでが無限ループとなっているので、終了時はCtrl+zで終了してください。