A ssl analyzer which could analyzer target domain's certificate.

Overview

ssl_analyzer

A ssl analyzer which could analyzer target domain's certificate.

Analyze the domain name ssl certificate information according to the input csv file (the csv file path can be entered in the configuration section), and write the detailed information into the mysql database. After the container starts, users can connect to mysql through the mysql client to view the analysis results (The startup demo video is shown below).

Get start

  1. git clone https://github.com/vincentbin/ssl_analyzer.git
  2. cd ssl_analyzer
  3. docker-compose up --build

Configurations (optional)

  • analyzer.conf
[script]
# Use multi-thread or not
multi_thread=True
# The number of threads used by the task
thread_num=20
# The location of hosts csv file
hosts_csv_filename=./data/top-1m.csv
# The amount of hosts user want to analyze (Set to 0 to analyze all csv content)
analyze_num=120000

Database connection info

  • username: root
  • password: 123456

Running process is shown in the video below.

running_process1.5x.mp4

Code structure

.
├── analysis
│   ├── analysis_data.sql       // SQL statement for data analysis
│   ├── analysis_data_v2.ipynb  // Statistical analysis of the result data collected by the system
├── data
│   ├── cacert.pem              // Root certificate information
│   ├── certificate_table.csv   // Database storage results csv export file
│   ├── top-1m.csv              // Input domain name file (this file can be customized to specify the domain names you want to analyze)
├── db
│   ├── certificateTable.sql    // MySQL table design SQL for storing certificate details
│   ├── creatDB.sql             // Mysql build database SQL for container init
│   ├── init.sql                // Mysql container initialization SQL
│   ├── utf8mb4.cnf             // Mysql configuration settings
│   ├── Dockerfile              // Mysql Dockerfile
├── conf_reader.py              // Get analyzer.conf file's configuration information
├── crl_checker.py              // CRL check related code
├── db.py                       // Database related operation code
├── ssl_analyzer.py             // Code related to requesting domain name acquisition and parsing certificate information
├── requirements.txt            // Project dependencies
├── Dockerfile                  // Python script container
├── docker-compose.yml          // Configuration file for starting db & script containers
├── Dockerfile                  // Python script container
├── LICENSE                     // LICENSE
├── README                      // README

Our Analysis

Use 20 threads to execute and analyze 120,000 domain name information in the top-1m file concurrently.

Result

http://nbviewer.org/github/vincentbin/ssl_analyzer/blob/main/analysis/analysis_data_v2.ipynb

Owner
vincent
Back-end developer & Coding lover
vincent
Unified Interface for Constructing and Managing Workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.

Couler What is Couler? Couler aims to provide a unified interface for constructing and managing workflows on different workflow engines, such as Argo

Couler Project 781 Jan 03, 2023
The fundamental package for scientific computing with Python.

NumPy is the fundamental package needed for scientific computing with Python. Website: https://www.numpy.org Documentation: https://numpy.org/doc Mail

NumPy 22.4k Jan 09, 2023
[TIP 2020] Multi-Temporal Scene Classification and Scene Change Detection with Correlation based Fusion

Multi-Temporal Scene Classification and Scene Change Detection with Correlation based Fusion Code for Multi-Temporal Scene Classification and Scene Ch

Lixiang Ru 33 Dec 12, 2022
Face Recognition and Emotion Detector Device

Face Recognition and Emotion Detector Device Orange PI 1 Python 3.10.0 + Django 3.2.9 Project's file explanation Django manage.py Django commands hand

BootyAss 2 Dec 21, 2021
PyTorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision.

PyTorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision @misc{CV2018, author = {Donny You ( Donny You 40 Sep 14, 2022

More Photos are All You Need: Semi-Supervised Learning for Fine-Grained Sketch Based Image Retrieval

More Photos are All You Need: Semi-Supervised Learning for Fine-Grained Sketch Based Image Retrieval, CVPR 2021. Ayan Kumar Bhunia, Pinaki nath Chowdh

Ayan Kumar Bhunia 22 Aug 27, 2022
LLVIP: A Visible-infrared Paired Dataset for Low-light Vision

LLVIP: A Visible-infrared Paired Dataset for Low-light Vision Project | Arxiv | Abstract It is very challenging for various visual tasks such as image

CVSM Group - email: <a href=[email protected]"> 377 Jan 07, 2023
Code and data (Incidents Dataset) for ECCV 2020 Paper "Detecting natural disasters, damage, and incidents in the wild".

Incidents Dataset See the following pages for more details: Project page: IncidentsDataset.csail.mit.edu. ECCV 2020 Paper "Detecting natural disasters

Ethan Weber 67 Dec 27, 2022
Implementation of popular bandit algorithms in batch environments.

batch-bandits Implementation of popular bandit algorithms in batch environments. Source code to our paper "The Impact of Batch Learning in Stochastic

Danil Provodin 2 Sep 11, 2022
This is the repository for the paper "Have I done enough planning or should I plan more?"

Metacognitive Learning Tool box https://re.is.mpg.de What Is This? This repository contains two modules used to analyse metacognitive learning in huma

0 Dec 01, 2021
Beyond imagenet attack (accepted by ICLR 2022) towards crafting adversarial examples for black-box domains.

Beyond ImageNet Attack: Towards Crafting Adversarial Examples for Black-box Domains (ICLR'2022) This is the Pytorch code for our paper Beyond ImageNet

Alibaba-AAIG 37 Nov 23, 2022
DRIFT is a tool for Diachronic Analysis of Scientific Literature.

About DRIFT is a tool for Diachronic Analysis of Scientific Literature. The application offers user-friendly and customizable utilities for two modes:

Rajaswa Patil 108 Dec 12, 2022
A repo with study material, exercises, examples, etc for Devnet SPAUTO

MPLS in the SDN Era -- DevNet SPAUTO Get right to the study material: Checkout the Wiki! A lab topology based on MPLS in the SDN era book used for 30

Hugo Tinoco 67 Nov 16, 2022
An unofficial PyTorch implementation of a federated learning algorithm, FedAvg.

Federated Averaging (FedAvg) in PyTorch An unofficial implementation of FederatedAveraging (or FedAvg) algorithm proposed in the paper Communication-E

Seok-Ju Hahn 123 Jan 06, 2023
A booklet on machine learning systems design with exercises

Machine Learning Systems Design Read this booklet here. This booklet covers four main steps of designing a machine learning system: Project setup Data

Chip Huyen 7.6k Jan 08, 2023
Python implementation of NARS (Non-Axiomatic-Reasoning-System)

Python implementation of NARS (Non-Axiomatic-Reasoning-System)

Bowen XU 11 Dec 20, 2022
[CVPR'22] Official PyTorch Implementation of Collaborative Transformers for Grounded Situation Recognition

[CVPR'22] Collaborative Transformers for Grounded Situation Recognition Paper | Model Checkpoint This is the official PyTorch implementation of Collab

Junhyeong Cho 29 Dec 10, 2022
Implementation of CVPR 2020 Dual Super-Resolution Learning for Semantic Segmentation

Dual super-resolution learning for semantic segmentation 2021-01-02 Subpixel Update Happy new year! The 2020-12-29 update of SISR with subpixel conv p

Sam 79 Nov 24, 2022
PyTorch IPFS Dataset

PyTorch IPFS Dataset IPFSDataset(Dataset) See the jupyter notepad to see how it works and how it interacts with a standard pytorch DataLoader You need

Jake Kalstad 2 Apr 13, 2022
An open source python library for automated feature engineering

"One of the holy grails of machine learning is to automate more and more of the feature engineering process." ― Pedro Domingos, A Few Useful Things to

alteryx 6.4k Jan 03, 2023