了解并缓解 IP 欺骗攻击
欺骗是黑客用来未经授权访问计算机或网络的一种网络攻击,IP 欺骗是其他欺骗方法中最常见的欺骗类型。通过 IP 欺骗,攻击者可以隐藏 IP 数据包的真实来源,使攻击来源难以知晓。一旦访问网络或设备/主机,网络犯罪分子通常会挖掘其中的敏感数据,利用计算机,它们可以变成僵尸,并可用于发起拒绝服务 (DoS)攻击。
什么是 IP 欺骗?
IP 地址用于互联网上设备之间的通信。网络犯罪分子使用虚假的源 IP 地址来隐藏和冒充另一个系统。本质上使目标系统更难检测到。此类攻击的目的是窃取敏感数据,用恶意软件或病毒感染您的计算机,甚至使您的服务器崩溃。
IP 欺骗的工作原理
那么,让我们深入了解 IP 欺骗的工作原理。IP 地址是一系列数字,用于在互联网上识别您的设备,每个连接到互联网的设备都有一个 IP 地址,通过使用它,它们可以交换数据。下面是 IP 标头数据包的样子

IP 欺骗利用来源,伪造数据包内的来源,类似地,这就像在邮箱中的信封上放置假的回信地址。大多数情况下,IP 数据包在到达目的地时会经过多个中间设备或路由器,而这些设备或路由器根本不检查源地址。
在下面的例子中,您可以看到网络攻击者已成功将数据包的源 IP 从 1.1.1.1 更改为 3.3.3.3(更改的 IP)。

现在,假设有人想要破坏并完全切断他们的互联网服务,他们可以向受害者发送带有虚假源地址的数据包,数据包数量如此之多,以至于受害者没有资源来处理合法数据包。攻击者可以在许多数据包中使用许多不同的虚假源地址,而且通常无法追溯攻击者的来源以阻止受害者的攻击,更糟糕的是,攻击者可以征用中间节点来放大攻击,方法是触发该节点向受害者发送非常大的数据包,这需要更多的资源来处理,如下图所示。

IP 欺骗的类型
以下三种是最常见的 IP 欺骗类型
1. 分布式拒绝服务(DDoS)攻击
分布式拒绝服务 (DDoS) 攻击是最常见的网络攻击,它使用欺骗方法,本质上是目标主机、服务或网络充斥着互联网流量。
DDoS 攻击的主要特征
- 基于流量的攻击:其目的是使目标主机的带宽饱和。其中一些方法是执行 ICMP 洪水、UDP 洪水和其他欺骗性数据包洪水。攻击以每秒比特数 (bps) 为单位进行测量。
- 协议攻击:这些攻击利用网络协议中的弱点。例如,在 TCP 中,它会使用 SYN 洪水。碎片数据包攻击是另一个例子,其中数据包被碎片化并重新组装以逃避安全控制并发起攻击。死亡之 Ping 和 Smurf DDoS 是其他一些攻击。这些攻击以每秒数据包 (pps) 为单位进行测量。
- 应用层攻击:这些攻击针对特定应用程序或服务,使攻击看起来像合法流量。示例包括 HTTP 洪水、GET/POST 洪水和 Slowloris。这些攻击以每秒请求数 (rps) 来衡量。
2. 掩盖僵尸网络设备
IP 欺骗可用于通过掩饰僵尸网络来访问计算机。一旦僵尸网络获得对 PC 的访问权限,犯罪者就会利用它从单一来源进行控制。受僵尸网络影响的 PC 会代表攻击者进行恶意攻击。
3.中间人攻击
中间人攻击用于更改数据包并在原始发送者或接收者不知情的情况下传输它们。如果攻击者伪造 IP 地址并获得个人帐户的访问权限,他们就可以跟踪通信的任何方面。一旦获得访问权限,个人信息很容易被盗,犯罪者可以将用户引导到虚假网站等等。随着时间的推移,黑客收集了大量可以使用或出售的机密信息——这意味着中间人攻击比其他攻击更有价值、更有利可图。
如何检测 IP 欺骗
网络监控工具可用于分析端点的流量。虽然最终用户很难检测到 IP 欺骗攻击,但源 IP 的更改是在网络层(即开放系统互连通信模型的第 3 层)中完成的。由于修改是在数据包级别完成的,因此不会留下任何更改的迹象。通常,欺骗的连接请求从外部看起来是真实的。让我们讨论一下您可以缓解此类攻击的方法:
- 数据包过滤: 用于分析数据包,检查数据包的 IP 地址与访问控制列表 (ACL) 上详细的 IP 地址之间是否存在不一致,用于检测被篡改的数据包。
- 入口过滤: 检查传入数据包以评估源 IP 报头是否与允许的源地址匹配。如果检查失败,则丢弃数据包。
- 出口过滤: 验证出站数据包的源地址是否与组织网络的源地址不匹配。这可以防止内部用户发起 IP 欺骗攻击。
如何防范 IP 欺骗
IP 欺骗的工作方式可以隐藏攻击者的身份,因为很难追溯到其原始来源。但是,我们可以采取一些反欺骗措施来降低此类攻击的风险。
- 不断扫描网络以查找异常活动
- 数据包过滤机制,用于检测与组织注册网络不同的源 IP
- 验证所有 IP 地址并部署网络攻击预防工具
- 在路由器/防火墙上启用保留路径转发,以验证如果流量来自伪造的 IP 地址,是否会在接口上被阻止。
欺骗攻击示例
GitHub 欺骗攻击(2019 年)
2019 年 7 月,一场复杂的网络钓鱼活动针对 GitHub 用户,目的是窃取他们的登录凭据和双因素身份验证 (2FA) 代码。入侵涉及欺骗方法,攻击者冒充 GitHub 和其他知名实体,以获取用户的信任,从而泄露敏感信息。
攻击细节
- 网络钓鱼电子邮件:攻击者发送电子邮件,声称自己来自 GitHub。电子邮件中的信息是通知用户有关可疑的登录尝试、帐户安全问题或需要更新的情况,这些情况对其帐户的安全至关重要,并敦促用户单击链接以保护其帐户。
- 欺骗性网站: URL 链接将用户带到镜像 GitHub 登录页面的网站。现在,当用户输入其凭据时,攻击者就会获取此信息。
- 凭证收集: 一旦用户在欺骗网站上输入其凭证和 2FA 代码,攻击者就能够收集这些信息。 这使攻击者能够未经授权访问用户的 GitHub 帐户。
- 利用:访问 GitHub 帐户,将可能会导致大量的利用。
- 更改或删除代码存储库
- 访问包含敏感信息的私人存储库。
- 使用被盗账户在网络或组织内发起进一步攻击
结论
IP 欺骗仍然是一种普遍且危险的网络攻击类型,它允许犯罪者通过隐藏其真实身份来未经授权访问网络和系统。更改源 IP 地址并将其追溯到攻击源非常困难。正如在 GitHub 欺骗攻击中讨论的那样,攻击者使用了各种策略,这些策略有效地欺骗用户向您提供他们的敏感信息,从而导致凭证被盗、未经授权的访问和进一步的利用。
为了缓解此类攻击,我们需要采用全面的网络监控系统、数据包过滤、入口和出口过滤等工具。此外,在路由器和防火墙上启用反向路径转发等高级技术将有助于验证 IP 数据包的来源。
必须采取主动的方法来保护网络和用户免受 IP 欺骗攻击,这将降低此类攻击的风险和影响,并有助于保护敏感数据。
相关文章:
了解并缓解 IP 欺骗攻击
欺骗是黑客用来未经授权访问计算机或网络的一种网络攻击,IP 欺骗是其他欺骗方法中最常见的欺骗类型。通过 IP 欺骗,攻击者可以隐藏 IP 数据包的真实来源,使攻击来源难以知晓。一旦访问网络或设备/主机,网络犯罪分子通常会挖掘其中…...
java LogUtil输出日志打日志的class文件内具体方法和行号
最近琢磨怎么把日志打的更清晰,方便查找问题,又不需要在每个class内都创建Logger对象,还带上不同的颜色做区分,简直不要太爽。利用堆栈的方向顺序拿到日志的class问题。看效果,直接上代码。 1、demo test 2、输出效果…...
02. Hibernate 初体验之持久化对象
1. 前言 本节课程让我们一起体验 Hibernate 的魅力!编写第一个基于 Hibernate 的实例程序。 在本节课程中,你将学到 : Hibernate 的版本发展史;持久化对象的特点。 为了更好地讲解这个内容,这个初体验案例分上下 2…...
MySQL超详细学习教程,2023年硬核学习路线
文章目录 前言1. 数据库的相关概念1.1 数据1.2 数据库1.3 数据库管理系统1.4 数据库系统1.5 SQL 2. MySQL数据库2.1 MySQL安装2.2 MySQL配置2.2.1 添加环境变量2.2.2 新建配置文件2.2.3 初始化MySQL2.2.4 注册MySQL服务2.2.5 启动MySQL服务 2.3 MySQL登录和退出2.4 MySQL卸载2.…...
初识SpringBoot
1.Maven Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包 主要功能 项⽬构建管理依赖 构建Maven项目 1.1项目构建 Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式 当我们开发了⼀个项⽬之后, 代…...
Qt之元对象系统
Qt的元对象系统提供了信号和槽机制(用于对象间的通信)、运行时类型信息和动态属性系统。 元对象系统基于三个要素: 1、QObject类为那些可以利用元对象系统的对象提供了一个基类。 2、在类声明中使用Q_OBJECT宏用于启用元对象特性,…...
Provider(1)- 什么是AudioBufferProvider
什么是AudioBufferProvider? 顾名思义,Audio音频数据缓冲提供,就是提供音频数据的缓冲类,而且这个AudioBufferProvider派生出许多子类,每个子类有不同的用途,至关重要;那它在Android哪个地方使…...
加密与安全_密钥体系的三个核心目标之完整性解决方案
文章目录 Pre机密性完整性1. 哈希函数(Hash Function)定义特征常见算法应用散列函数常用场景散列函数无法解决的问题 2. 消息认证码(MAC)概述定义常见算法工作原理如何使用 MACMAC 的问题 不可否认性数字签名(Digital …...
【C++】:继承[下篇](友元静态成员菱形继承菱形虚拟继承)
目录 一,继承与友元二,继承与静态成员三,复杂的菱形继承及菱形虚拟继承四,继承的总结和反思 点击跳转上一篇文章: 【C】:继承(定义&&赋值兼容转换&&作用域&&派生类的默认成员函数…...
昇思25天学习打卡营第13天|基于MindNLP+MusicGen生成自己的个性化音乐
关于MindNLP MindNLP是一个依赖昇思MindSpore向上生长的NLP(自然语言处理)框架,旨在利用MindSpore的优势特性,如函数式融合编程、动态图功能、数据处理引擎等,致力于提供高效、易用的NLP解决方案。通过全面拥抱Huggin…...
nigix的下载使用
1、官网:https://nginx.org/en/download.html 双击打开 nginx的默认端口是80 配置文件 默认访问页面 在目录下新建pages,放入图片 在浏览器中输入地址进行访问 可以在电脑中配置本地域名 Windows设置本地DNS域名解析hosts文件配置 文件地址…...
nginx+lua 实现URL重定向(根据传入的参数条件)
程序版本说明 程序版本URLnginx1.27.0https://nginx.org/download/nginx-1.27.0.tar.gzngx_devel_kitv0.3.3https://github.com/simpl/ngx_devel_kit/archive/v0.3.3.tar.gzluajitv2.1https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20240626.tar.gzlua-nginx-m…...
算法学习笔记(8.4)-完全背包问题
目录 Question: 图例: 动态规划思路 2 代码实现: 3 空间优化: 代码实现: 下面是0-1背包和完全背包具体的例题: 代码实现: 图例: 空间优化代码示例 Question: 给定n个物品…...
C++catch (...)陈述
catch (...)陈述 例外处理可以有多个catch,如果catch后的小括弧里面放...,就表示不限型态种类的任何例外。 举例如下 #include <iostream>int main() {int i -1;try {if (i > 0) {throw 0;}throw 2.0;}catch (const int e) {std::cout <…...
Redis实践
Redis实践 使用复杂度高的命令 如果在使用Redis时,发现访问延迟突然增大,如何进行排查? 首先,第一步,建议你去查看一下Redis的慢日志。Redis提供了慢日志命令的统计功能,我们通过以下设置,就…...
【Lora模型推荐】Stable Diffusion创作具有玉石翡翠质感的图标设计
站长素材AI教程是站长之家旗下AI绘图教程平台 海量AI免费教程,每日更新干货内容 想要深入学习更多AI绘图教程,请访问站长素材AI教程网: AI教程_深度学习入门指南 - 站长素材 (chinaz.com) logo版权归各公司所有!本笔记仅供AIGC…...
vscode 远程开发
目录 vscode 远程连接 选择 Python 环境 vscode 远程连接 按 CtrlShiftP 打开命令面板。输入并选择 Remote-SSH: Open SSH Configuration File...。选择 ~/.ssh/config 文件(如果有多个选项)。在打开的文件中添加或修改你的 SSH 配置。 这个可以右键…...
前端Vue组件化实践:打造灵活可维护的地址管理组件
随着前端技术的不断演进,复杂度和开发难度也随之上升。传统的一体化开发模式使得每次小小的修改或功能增加都可能牵一发而动全身,严重影响了开发效率和维护成本。组件化开发作为一种解决方案,通过模块化、独立化的开发方式,实现了…...
虚幻引擎ue5游戏运行界面白茫茫一片,怎么处理
根剧下图顺序即可调节游戏运行界面光照问题: 在大纲里找到post,然后选中它,找到Exposure 把最低亮度和最高亮度的0改为1即可...
《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》
代理IP如何选以及常见反爬策略 为什么需要代理? 因为有的网站会封IP,用户如果没有登录,那IP就是身份标识,如果网站发现用户行为异常就非常可能封IP 什么是代理IP 就是让一个人帮你转交请求,帮你转交的人对面不熟&a…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
