WP-Guard / check_ip_blacklist

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kiểm tra IP address của máy tính

  • Sử dụng Python, VScode để viết, kiểm tra bằng Postman
  1. Tìm nguồn IP độc hại (blacklist)
  • Thu thập hết tất cả IP được liệt kê trong các URL của file feeds.json
  • Data thu thập không bị duplicate
  1. Kiểm tra 1 IP bất kì được nhập từ bàn phím
  • Kiểm tra xem IP đấy có đúng định dạng hay không, là IP Public hay Private
  • Có trong blacklist (P1) của DB hay không
  • truy cập {POST} http://127.0.0.1:5008/check_ip để kiểm tra
  • đầu vào:
{
"ip":"1.19.0.0/16"
}
  • đầu ra:
{
    "Is_public_or_private": "Public",
    "Is_valid_IP": "Yes",
    "Type": "blacklist",
    "Your_input_ip": "1.19.0.0/16"
}
  1. Kiểm tra địa chỉ IP của máy tính của bạn
  • IP public được lấy ở đây
  • Kiểm tra xem IP đấy có đúng định dạng hay không, là IP Public hay Private
  • Có trong blacklist (P1) của DB hay không
  • Có thuộc TOR node hay không
  • truy cập {POST} http://127.0.0.1:5008/check_my_ip để kiểm tra
  • đầu vào:
    • Địa chỉ IP lấy được
  • đầu ra:
{
    "Is_public_or_private": "Public",
    "Is_valid_IP": "Yes",
    "Type": "It's NOT a TOR exit node and NOT in blacklist",
    "Your_private_IP": "192.168.4.111",
    "Your_public_IP": "113.20.108.53"
}
  1. Viết Dockerfile và docker-compose để tạo image và container
  • tạo 1 network có tên là network-ver1 để cùng chạy 2 container, 1 là mongodb, 2 là file .py
  • tạo docker container chạy image mongo, network là network-ver1
  • database kết nối với mongodb localhost chạy trên dockercontainer, port 27017 có username,password đều là admin
  • tạo image từ file .py, chạy container từ image vừa tạo trên network-ver1
  • Docker :
    • docker pull mongo
    • docker network create network-ver1
    • docker run -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin -dp 27017:27017 --name mongo --network network-ver1 mongo
    • docker build . -t datdo2509/ipcheckblacklist:ver1
    • docker container run --name ipcheckblacklist -dp 5008:5008 --network network-ver1 datdo2509/ipcheckblacklist:ver1
  • Note: Khi chạy 2 container, chúng giao tiếp với nhau bằng DNS nội bộ, vì thế thuộc tính host phải đặt bằng tên miền, trong trường hợp này là tên container chạy mongodb, chính là mongo ( --name), trong khi chạy riêng file .py ko trong container thì phải thay lại bằng localhost

enjoy! :D

About


Languages

Language:Python 99.8%Language:PowerShell 0.2%Language:C 0.0%Language:Batchfile 0.0%Language:Dockerfile 0.0%