当前位置: 首页 > news >正文

< 自用文儿 > 下载 MaxMind GeoIP Databases 对攻击的 IP 做 地理分析

起因

两个 VPM/VPS,安装了 fail2ban 去拦截密码穷举攻击。每天的记录都在增长,以前复制屏幕输出就行,一屏的内容还容易粘贴出来的。昨天已经过 500 条,好奇 fail2ban 是如何存储这些内容的?就发现它在使用 SQLite3 数据库,有数据库就方便多了。

IP 地理分析实践

1. 从哪里下载? 地理位置 IP 数据

我用这个链接: https://www.maxmind.com/en/accounts/1121608/geoip/downloads

介绍:

每个连接到互联网的设备都会被分配一个独一无二的 IP 地址,Geo IP 数据库通过收集这些而成,建立起 IP 地址与地理位置之间的对应关系。

Geo IP 数据的应用:

  • 根据用户的地理位置,实现本地化内容。
  • 分析用户的 IP 地址位置,可以识别出欺骗行为。
  • 根据用户的地理位置,精准广告投放。像百度、美团这些大公司,它们都在干这个,特擅长。
  • 分析用户地理位置,可以推算出地域特征,可做为市场调研的数据,向政府、商业提供决策提数据支持。
  • 识别标注出恶意 IP 地址,可以采取相应的安全措施。比如 fail2ban 
  • 中华的伟大防火墙也使用 IP 来过滤
  • 应用有很多,不编了。

免费的地理IP数据库

对个人使用而言,国外有几家公司或机构提供 Lite 版的数据库下载。

  • MaxMind GeoLite2
  • P2Location LITE
  • DB-IP Lite

有的需要注册,才能下载使用。我找时, MaxMind 在第一个,顺利注册并下载,就没再看其它的。

2. Fail2Ban

应用介绍 :

1)fail2ban 数据库

安装并配置后,数据库文件在: /var/lib/fail2ban/fail2ban.sqlite3

如果在 Ubuntu 中使用数据库,需要安装 sqlite3

apt update
apt install sqlite3

打开 fail2ban 数据库:

sqlite3 /var/lib/fail2ban/fail2ban.sqlite3

数据库的中结构查看:

a. 哪些表:
sqlite> SELECT name FROM sqlite_master WHERE type='table';
fail2banDb
jails
logs
bans
bips
sqlite> 
b. 各个表的,记录个数:
SELECT 'jails' AS table_name, COUNT(*) AS row_count FROM jails
UNION ALL
SELECT 'logs' AS table_name, COUNT(*) AS row_count FROM logs
UNION ALL
SELECT 'bans' AS table_name, COUNT(*) AS row_count FROM bans
UNION ALL
SELECT 'bips' AS table_name, COUNT(*) AS row_count FROM bips;
结果:
jails|3
logs|5
bans|80
bips|592
c. 看来 f2bstate 输出用的 bips 表

我最早用的 bans 表内容,在 DashBoard 中显示。

2)MM GeoLite2 数据库

注册后就可以到下载界面:

分类:

三种精度: ASN ,City,Counrty

数据调用方式: APIs ,数据库,CSV
 

我用的版本是 GeoLite2-City_20250131 ,数据库不大,文件不到 56MB。中国区的数据是含糊的,你知道的原因,只有国家名。

使用:

GeoLite2-City.mmdb 可以在 Pyhone 用 geoip2 

pip install geoip2

例,打开数据库:

reader = geoip2.database.Reader('GeoLite2-City.mmdb')

具体看:

Geolocate an IP address using Databases | MaxMind Developer Portal

或者问 AI 

3. 应用 Dashboard 

工作原理:

从服务器上用 scp 下载 fail2ban 数据库,用 sqlite 找出 fail2ban.bips 表中的 ip 列内容,在 GeIP 数据库中找到对应的地理位置,分析并统计,最后显示在页面上。

附带功能是,显示安装 fail2ban 后的记录天数 “ Uptime (Days)”,因为要统计 2 台主机,设计在主页右上角有2个按键来切换主机。

如下:

很好奇:伊朗排第五

AI 时代,还用密码攻击?

相关文章:

< 自用文儿 > 下载 MaxMind GeoIP Databases 对攻击的 IP 做 地理分析

起因 两个 VPM/VPS,安装了 fail2ban 去拦截密码穷举攻击。每天的记录都在增长,以前复制屏幕输出就行,一屏的内容还容易粘贴出来的。昨天已经过 500 条,好奇 fail2ban 是如何存储这些内容的?就发现它在使用 SQLite3 数…...

前端知识速记:重绘和回流

前端知识速记:重绘和回流 一、什么是重绘与回流 1. 重绘(Repaint) 重绘是指当元素的外观发生变化时,浏览器需要重新绘制这些元素。由于这些操作不会改变元素占据的空间,因此不需要进行回流。常见的重绘操作包括&…...

webrtc peerconnection_client peerconnection_server 连接失败问题解决 win10 win11

0 常见问题 (1) webrtc peerconnection_client 连接 peerconnection_server 无连接列表 (2)连接导致崩溃debug状态下因为这个断言 RTC_DCHECK_RUN_ON(&capture_checker_); 1 在 peerconnection\client\main.cc 当中 定义类 class CustomSock…...

【C++】STL——list的使用与底层实现

目录 💕1.带头双向链表List 💕2.list用法介绍 💕3.list的初始化 💕4.size函数与resize函数 💕5.empty函数 💕6.front函数与back函数 💕7.push_front,push_back,pop_front,pop_back函数…...

iOS 音频录制、播放与格式转换

iOS 音频录制、播放与格式转换:基于 AVFoundation 和 FFmpegKit 的实现 在 iOS 开发中,音频处理是一个非常常见的需求,比如录音、播放音频、音频格式转换等。本文将详细解读一段基于 AVFoundation 和 FFmpegKit 的代码,展示如何实现音频录制、播放以及 PCM 和 AAC 格式之间…...

【PyTorch】解决Boolean value of Tensor with more than one value is ambiguous报错

理解并避免 PyTorch 中的 “Boolean value of Tensor with more than one value is ambiguous” 错误 在深度学习和数据科学领域,PyTorch 是一个强大的工具,它允许我们以直观和灵活的方式处理张量(Tensor)。然而,即使…...

Jsoup库具体怎么用?

Jsoup 是一个非常强大的 Java 库,用于解析和操作 HTML 文档。它提供了丰富的功能,包括发送 HTTP 请求、解析 HTML 内容、提取数据、修改 HTML 元素等。以下将详细介绍 Jsoup 的基本用法和一些高级功能,帮助你更好地使用 Jsoup 进行网络爬虫开…...

python:如何播放 .spx 声音文件

.spx 是 Speex音频编解码器的文件扩展名,它是一种开源的、免费的音频编解码器,主要用于语音压缩和语音通信领域。spx 文件通常用于语音记录、VoIP应用、语音信箱等场景。 .mp3 是一种广泛使用的音频格式,它采用了有损压缩算法,可…...

HTML学习笔记(6)

利用dom操作实现&#xff0c;对一个表格的增删改查 代码如下&#xff1a; todolist.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, …...

走向基于大语言模型的新一代推荐系统:综述与展望

HightLight 论文题目&#xff1a;Towards Next-Generation LLM-based Recommender Systems: A Survey and Beyond作者机构&#xff1a;吉林大学、香港理工大学、悉尼科技大学、Meta AI论文地址&#xff1a; https://arxiv.org/abs/2410.1974 基于大语言模型的下一代推荐系统&…...

【DeepSeek-R1 +1.5B】2060显卡ollama本地部署+open-webui界面使用

https://github.com/open-webui/open-webui Deepseek开源R1系列模型&#xff0c;纯RL助力推理能力大跃升&#xff01; 2060显卡下使用deepseek-r1-1.5B deepseek开源小模型需要的显存&#xff08;根据显存来选模型大小&#xff09; &#xff0c;图from: DeepSeek本地部署&…...

《翻转组件库之发布》

背景 继《翻转组件库之打包》_杨晓风-linda的博客-CSDN博客之后&#xff0c;组件库已经可以正常构建&#xff0c;那如何像elementUI等组件库那样&#xff0c;用npm安装&#xff0c;按照既定的用法使用即可呢&#xff1f;本篇便为你揭晓 资料相关 1、npm官方文档&#xff1a;…...

在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高

在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高 在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高而其他的中奖倍数较低。这种不均衡会导致模型偏向于高频样本(低中奖倍数的),…...

语言月赛 202311【基因】题解(AC)

》》》点我查看「视频」详解》》》 [语言月赛 202311] 基因 题目描述 有一个长度为 n n n 的字符串 S S S。其只包含有大写字母。 小 A 将 S S S 进行翻转后&#xff0c;得到另一个字符串 S ′ S S′。两个字符串 S S S 与 S ′ S S′ 对应配对。例如说&#xff0c;对…...

unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键

目录 1 用Input接口去监测&#xff1a;鼠标&#xff0c;键盘&#xff0c;虚拟轴&#xff0c;虚拟按键 2 鼠标 MouseButton 事件 2.1 鼠标的基本操作 2.2 测试代码 2.3 测试情况 3 键盘Key事件 3.1 键盘的枚举方式 3.2 测试代码同上 3.3 测试代码同上 3.4 测试结果 4…...

GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读

一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览&#xff1a; 国家标准|GB/T 43698-2024 相关标准&#xff1a; &a…...

ASP.NET Core与EF Core的集成

目录 分层项目中EF Core的用法 数据库的配置 数据库迁移 步骤汇总 注意&#xff1a; 批量注册上下文 分层项目中EF Core的用法 创建一个.NET类库项目BooksEFCore&#xff0c;放实体等类。NuGet&#xff1a;Microsoft.EntityFrameworkCore.RelationalBooksEFCore中增加实…...

【AI大模型】Ubuntu18.04安装deepseek-r1模型+服务器部署+内网访问

以下内容主要参考博文&#xff1a;DeepSeek火爆全网&#xff0c;官网宕机&#xff1f;本地部署一个随便玩「LLM探索」 - 程序设计实验室 - 博客园 安装 ollama Download Ollama on Linux curl -fsSL https://ollama.com/install.sh | sh 配置 ollama 监听地址 ollama 安装后…...

SpringAI系列 - 使用LangGPT编写高质量的Prompt

目录 一、LangGPT —— 人人都可编写高质量 Prompt二、快速上手2.1 诗人 三、Role 模板3.1 Role 模板3.2 Role 模板使用步骤3.3 更多例子 四、高级用法4.1 变量4.2 命令4.3 Reminder4.4 条件语句4.5 Json or Yaml 方便程序开发 一、LangGPT —— 人人都可编写高质量 Prompt La…...

Github - 记录一次对“不小心包含了密码的PR”的修复

Github - 记录一次对“不小心包含了密码的PR”的修复 前言 和好朋友一起开发一个字节跳动青训营抖音电商后端(now private)的项目&#xff0c;某大佬不小心把本地一密码commit上去并提了PR。 PR一旦发出则无法被删除&#xff0c;且其包含的commit也能被所有能看到这个仓库的…...

OpenRGB终极指南:一个软件搞定所有RGB灯光控制,告别厂商软件束缚

OpenRGB终极指南&#xff1a;一个软件搞定所有RGB灯光控制&#xff0c;告别厂商软件束缚 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgra…...

League Akari:英雄联盟玩家的智能游戏助手

League Akari&#xff1a;英雄联盟玩家的智能游戏助手 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否厌倦了在英雄联盟中重复繁琐的准备…...

Halbot框架解析:从零构建可扩展聊天机器人的实践指南

1. 项目概述&#xff1a;一个轻量级、可扩展的聊天机器人框架最近在折腾一个需要集成多个聊天平台&#xff08;比如微信、钉钉、Telegram&#xff09;的自动化项目&#xff0c;发现市面上现成的机器人框架要么太重&#xff0c;要么扩展性不够&#xff0c;要么就是文档写得云里雾…...

大一学生揭秘科罗拉多矿业学院扫描技术:掌控投影仪和摄像头,问题待修复

大一学生掌控科罗拉多矿业学院投影仪和摄像头&#xff0c;扫描技术揭秘与问题修复情况曝光在科罗拉多矿业学院开启大一生活时&#xff0c;我发现当地 DNS 服务器会为每个连网设备分配子域名&#xff0c;如 “meow” 设备在校园无线网络显示为 “meow.mines.edu”&#xff0c;但…...

GraphQL-WS vs 传统GraphQL:为什么WebSocket是实时应用的首选

GraphQL-WS vs 传统GraphQL&#xff1a;为什么WebSocket是实时应用的首选 【免费下载链接】graphql-ws Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-ws …...

别再死磕官方文档了!R语言circlize包画圈图,这份新手避坑笔记帮你省下三天时间

R语言circlize包实战指南&#xff1a;从挫败感到高效绘图的进阶之路 第一次打开circlize包的官方文档时&#xff0c;那种扑面而来的复杂参数和抽象概念让人望而生畏。作为生物信息学分析中常用的环形可视化工具&#xff0c;circlize包在基因组数据展示、多维度数据关联分析等领…...

开源商业技能知识库:从道法术器到实战应用的全解析

1. 项目概述&#xff1a;一个面向商业技能的开源知识库 最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫 openclaw-business-skills 。光看名字&#xff0c;你可能会觉得这又是一个普通的“商业技能”教程合集。但点进去仔细研究后&#xff0c;我发现…...

自托管OSINT平台Sovereign Shield:构建数据主权的容器化情报系统

1. 项目概述&#xff1a;一个面向开源情报与数字资产保护的“主权之盾” 在开源情报&#xff08;OSINT&#xff09;和数字资产安全领域&#xff0c;从业者常常面临一个核心矛盾&#xff1a;一方面&#xff0c;我们需要强大的自动化工具来高效地收集、分析和监控公开信息&#x…...

[GESP202512 C++ 三级] 判断题第 3 题 ← strcmp

【题目描述】 strcmp(str1, str2) 返回 0 表示 str1 大于 str2 &#xff0c;返回正数表示两者相等。&#xff08;❌️&#xff09;【题目解析】 返回 0 → 两个字符串完全相等。 返回正数 → str1 > str2。 返回负数 → str1 < str2。...

避开STM32G4比较器的那些‘坑’:LOCK机制、EXTI连接与GPIO配置详解

STM32G4比较器开发实战&#xff1a;LOCK机制、EXTI映射与GPIO配置的深度解析 当你在深夜调试STM32G4的比较器模块时&#xff0c;突然发现中断死活不触发&#xff0c;或者LOCK寄存器配置后无法修改参数&#xff0c;这种挫败感我深有体会。本文将带你直击STM32G4比较器开发中最容…...