新闻详情

新闻详情

首页 / 资讯中心 / 详情

网络攻击五阶段详解:从端口扫描到DoS防御的实战指南

发布时间:2026/9/30 3:04:45来源:尧图网络
网络攻击五阶段详解:从端口扫描到DoS防御的实战指南
简介这份PPT课件系统讲解了网络安全领域最常见的攻击类型与防范方法面向网络管理员、安全运维人员及信息安全初学者。内容围绕网络攻击的完整流程展开涵盖预攻击探测中的Ping扫描与端口扫描开放扫描、半开放扫描、秘密扫描、操作系统识别以及漏洞扫描、木马攻击、拒绝服务攻击、欺骗攻击、蠕虫病毒攻击等典型手法并结合防火墙、入侵检测、防病毒措施给出对应防范思路可帮助读者建立从信息收集、系统渗透到攻击防御的完整认知链路。资源包共1个PPT演示文稿大小2.28MB页面以图解与流程图方式呈现攻击步骤与检测手段结构清晰适合高校信息安全课程、企业安全培训或自学入门。目前已有2664人学习浏览对希望系统了解常见网络攻击原理及基础防御策略的读者是一份实用性强、信息密度高的讲义。1. 网络攻击为什么总防不住先看懂攻击者的五个阶段网络攻击从来不是“一条命令打穿一台机器”的短视频桥段。实战里走的是五个阶段探测Probe→ 渗透Penetrate→ 驻留Persist→ 传播Propagate→ 瘫痪Paralyze。这份关于最常见网络攻击的讲义拆的就是这五步里每一步的典型手法——Ping 扫描找活主机、端口扫描找服务、漏洞扫描找软肋、木马与蠕虫负责驻留和传播、拒绝服务攻击负责最后致命一击。对刚入门的安全工程师、运维和准备等保测评的同事来说这套框架有两个直接价值一是看告警时能判断攻击者走到哪一步了二是做加固时知道优先级——先堵探测再管渗透最后才是对抗 DoS。这篇文章会把每类攻击的原理、判断方法、实操命令和踩过的坑一条条写清楚。2. 预攻击探测Ping 扫描与端口扫描攻击者的第一只脚2.1 Ping 扫描找活主机不是 ping 通那么简单预攻击探测的第一件事是确认目标是否在线。Ping 的原理是发 ICMP Echo 报文等对方回 Echo Reply能拿到回包就说明主机活着、路由通着。但这里有个常见的误区ping 不通不等于主机不在线。我排查过太多案例最后发现是防火墙把 ICMP 全丢了主机上 HTTP 服务跑得好好的。# 常见做法先做一次网段存活探测确认哪些 IP 在线 nmap -sn 192.168.10.0/24 # -sn 表示只做主机发现不扫端口 # 输出里 Host is up 表示目标在线Host seems down 表示没有响应ping 不通的典型原因有这么几种目标主机的网卡配置不对、网关路由缺失、防火墙禁了 ICMP、或者源和目标之间做了 NAT。还有一种历史遗留问题叫 “Ping of death”往目标发一个超过 65535 字节的巨型 ICMP 包老版本操作系统直接崩溃。现在主流系统都修复了这类协议栈问题但在内网扫描时如果遇上极老设备还是别用太激进的包尺寸参数。从防御角度看应对 Ping 扫描的办法不是完全禁用 ICMP而是限制 ICMP 的类型和速率。完全禁 ping 会连基本的连通性排查都做不了我一般建议在防火墙 / 路由器上只放行必要的 ICMP 类型比如 echo-reply、destination-unreachable其余全丢并且在边界设备上记录扫描来源 IP方便事后溯源。另一个容易被忽略的是 Ping 扫描的变体工具比如 WS_Ping ProPack、Pinger它们还会顺带探测 NetBIOS、共享资源和用户列表。也就是说攻击者不用等到端口扫描阶段光是活着的主机列表和开放共享就能决定下一轮攻击从哪台机器开始。2.2 端口扫描三种模式开放、半开与秘密扫描端口扫描是探测阶段的核心工作目的是把目标主机开放的端口和服务摸清楚。扫描模式大致分三类区分依据是 TCP 连接建立到哪一步。开放扫描Open Scanning是最直接的方式扫描器调用系统 socket 的 connect() 去和目标端口完成完整的三次握手。握手成功就说明端口开放失败就说明关闭。优点是实现简单、不需要特殊权限缺点是服务器会完整记录下连接行为如果某个客户端对一批端口轮流发起连接审计日志里一眼就能看出来。我在内网做合规巡检时会用这种方式因为要的就是留下审计证据。半开放扫描Half-Open Scanning也叫 SYN 扫描原理是只发 SYN 包。如果目标回 SYN|ACK就说明端口开放扫描方随即发一个 RST 掐断连接不完成第三次握手如果目标回 RST则说明端口关闭。因为连接从未建立完整大多数应用不会记录到这次探测。它的代价是在 UNIX 系系统上需要 root 权限才能构造原始 SYN 包Windows 上则需要 Npcap 或 WinPcap 驱动支持。秘密扫描Stealth Scanning则完全不涉及 TCP 三次握手的任何部分典型代表是 FIN、XMAS、NULL 扫描。原理是向目标端口发送带有 FIN、URG、PUSH 等标志位的异常数据包按 RFC 规范关闭端口应当回 RST而开放端口通常会静默丢弃。这类扫描隐蔽性更强但可靠度差网络上设备丢包、状态检测防火墙干扰都会导致误报。实际渗透测试里我做信息收集一般先用 SYN 扫描建立全貌再对个别可疑端口用 FIN 或 ACK 扫描验证不会一上来就全秘密扫描。# 常见做法SYN 半开扫描快速摸清端口状态 nmap -sS -p 1-1024 192.168.10.11 # -sS 指定 SYN 扫描需要 root 权限 # -p 指定端口范围实际工作中先扫常见端口再扫高位端口 # 确认某个端口是不是真的开着再上用 connect 全连接复核 nmap -sT -p 3389 192.168.10.11 # -sT 是完全三次握手的 connect 扫描 # 适用于没有 root 权限、或者 SYN 扫描结果被防火墙干扰的情况-sS和-sT的选择逻辑很简单有权限且追求效率用 SYN没权限或需要兼容性用 connect。还有一个更隐蔽的变体叫 IP ID header 扫描攻击者借用第三方主机的 IP 去扫目标通过观察第三方 IP 序列号增长规律判断目标端口状态这种手法要求对第三方主机的网络状况有足够了解现实中很少见更多是 CTF 和靶场里出现。2.3 操作系统识别指纹探测的常见手法端口扫描能拿到“开了哪些服务”下一步就是确认操作系统类型和版本。攻击者知道目标是 Windows Server 还是 Linux 发行版就能缩小漏洞利用的范围。操作系统识别OS Fingerprint分两种思路。主动指纹是发送精心构造的 TCP 包依据不同系统对异常数据包的不同响应来判定比如初始 TTL 值、窗口大小、TCP 选项排序。被动指纹则是抓取目标主机发出的正常流量分析其中的报文特征不产生额外探测流量隐蔽性好很多。nmap 的 OS 探测就属于主动指纹我一般加上-O参数但会同时搭配-sV做服务版本探测一次拿到系统和版本双结果# 常见做法同步探测操作系统和服务版本 nmap -O -sV 192.168.10.11 # -O 是操作系统指纹探测-sV 是服务版本探测 # 输出中 Running: Linux 3.X 就是系统判定结果操作系统识别结果不一定准尤其经过防火墙改写或负载均衡分流后误判很常见。判定结果是 Linux 但实际是 Windows Server 的情况我遇到过多次遇到这种情况别急着下结论手动看 TTL 值更直观Windows 的初始 TTL 通常是 128Linux 常见是 64网络设备常见是 255。用 ping 看回包 TTL误差概率比全自动指纹低不少也算是一个土办法。3. 漏洞与综合扫描从“有什么端口”到“有什么漏洞”3.1 漏洞扫描的分类与选型理由端口扫描告诉你目标开了哪些门漏洞扫描则是去检查这些门上的锁够不够结实。漏洞扫描综合扫描主要分两大类基于特征的扫描和基于配置的核查。基于特征的扫描是把目标服务的版本号和 CVE 漏洞库匹配比如检测到 OpenSSH 7.2 就关联一批已知漏洞基于配置的核查是检查系统账号策略、密码复杂度、共享权限这类配置项对应的是基线核查需求。选型上商业扫描器像 Nessus、Qualys漏洞库更新快、覆盖广适合等保测评和重保前的自查开源方案 OpenVAS 免费且功能完整适合预算有限的中小团队。我个人的习惯是平时用 OpenVAS 跑例行巡检重要检查前再用 Nessus 交叉复核一遍两类扫描结果取交集能过滤掉相当一部分误报。3.2 一次完整的综合扫描流程任务配置与结果解读综合扫描不是“装个软件点开始”这么简单。流程上一般分四步定义扫描范围、配置扫描策略、执行扫描、人工验证结果。定义扫描范围最关键。第一次做扫描我就吃过亏把整个网段直接丢进去结果扫描器把交换机、打印机、IP 电话全部扫了一遍策略稍微激进一点打印机直接死掉。从那以后我每次都先拿存活主机列表做白名单确认资产归属后再开扫。扫描策略上低风险场景用温和模式只做端口探测和常见漏洞检查内网或靶场环境可以用激进模式启用 exploit 尝试。执行扫描后结果的输出通常是一个报告列表每一项对应一个漏洞标着风险等级、受影响的资产、漏洞描述和解决方案。这里最需要留意的是漏洞的“可利用性”和“实际影响”之间的差别。一个高危漏洞如果绑定的服务根本没对外网开放实际风险就低一个档次反过来一个中危漏洞如果处在内网核心网段、旁边就是数据库优先级要大大提升。# 常见做法用 nmap 自带的 NSE 脚本做一次轻量漏洞检查 nmap -sV --scriptvulners -p 80,443 192.168.10.11 # --scriptvulners 会对比漏洞库给出可能的 CVE 列表 # 适合做快速摸排替代完整漏洞扫描器准确度不如 Nessus 但够用vulners脚本的价值在于快几分钟内把暴露在公网的服务版本和已知漏洞关联起来局限是只匹配版本特征不做实际验证所以结果里大量“可能受影响”需要人工判断。要做真正可靠的验证还是得靠完整漏洞扫描器它们会尝试实际触发部分漏洞来确认。3.3 扫描结果的误报与验证为什么扫描器说话不能全信把扫描器输出直接当成结论是致命的。我最常见到的三类问题一是服务识别错误导致的误报比如把 Apache 误识别成 nginx匹配到一堆不存在的漏洞二是版本号本身做了伪装管理员改了 banner 信息扫描器却信以为真三是漏洞存在但无法利用例如需要特殊触发条件或依赖特定配置文件。处理误报有个笨但有效的方法对每一个高危及以上漏洞手工复核指纹。先确认服务真实类型和版本再去查这个版本对应的 CVE 是否说得通最后看漏洞描述的触发条件在当前环境下是否满足。一套流程走下来高危漏洞数量经常能缩水一半以上。这不是说扫描器无用而是扫描器的职责是帮你缩小范围最终判断得靠人。4. 木马、蠕虫与欺骗攻击驻留、传播与身份冒用4.1 木马攻击从植入到驻留的完整链条木马的本质是做两件事伪装和开后门。伪装是为了骗你执行它开后门是为了让攻击者长期持有控制权。植入途径常见的有三种钓鱼邮件附件、软件捆绑下载、利用漏洞自动植入。执行之后的行为链条通常是创建新文件、修改现有文件、设置注册表启动项、安装新服务最终在系统里留下一个稳定的后门入口。从防御角度看对抗木马的重点不在“杀”而在“不让它起来”。内网里终端只要统一启用了白名单管控阻止未知程序运行木马即便落地也执行不了。我检查受感染主机时有一套固定动作先看启动项和计划任务再看服务列表最后用netstat查异常外联。# 常见做法排查 windows 主机的异常驻留和连接 netstat -ano | findstr ESTABLISHED tasklist /svc | findstr PID号 # 对照业务白名单看是多出来的进程还是多出来的外联 IP # Linux 环境下用 netstat -antlp 或 ss -antlp 替代查到的结果要重点比对两处一是连接的目标 IP 是否属于已知业务服务器二是进程名称是否为系统正常进程。木马经常把自己伪装成 svchost.exe、explorer.exe 这类耳熟能详的名字但真正的判断依据是进程路径和启动命令行。路径在 System32 目录下的系统进程一般可信在临时目录、用户目录里出现同名进程则基本坐实了问题。4.2 蠕虫病毒攻击自传播模型与抑制手段蠕虫和木马的定位不同。木马是“潜伏”蠕虫是“扩散”。蠕虫不需要宿主文件自身就能通过网络漏洞、弱口令、共享目录批量传播典型的攻击步骤是探测网段里的存活主机和开放端口尝试漏洞利用或口令猜测成功后写入自身副本并继续向下一批目标扩散。蠕虫的杀伤力不在于单台机器的破坏而在于指数级扩散带来的网络拥塞和主机瘫痪。针对蠕虫的抑制核心是“隔离”。发现内网有蠕虫爆发时第一件事不是杀毒而是封禁感染的网段与其它网段之间的流量切断传播路径。传播链断了之后再逐台清理和补丁。我整理一个简单的排查和抑制清单先按网段确认感染范围标注已感染 IP 清单在核心交换机 / 防火墙上对感染 IP 做流量的双向阻断对未感染的机器临时封禁蠕虫利用的高危端口如 445、3389清理完单台主机后再解除封禁避免二次感染最后统一补漏洞、改弱口令避免下次复发这个顺序不能反。先杀毒再封网的做法在实际爆发里往往一边杀一边继续扩散越杀越多。4.3 欺骗攻击ARP 欺骗与 IP 欺骗的实战边界欺骗攻击的核心思路是伪造身份。常见的是 ARP 欺骗和 IP 欺骗。ARP 欺骗发生在局域网内部攻击者发送伪造的 ARP 报文把网关的 MAC 地址篡改成自己的 MAC受害主机的流量就会先经过攻击者再到达网关实现中间人窃听或篡改。实际场景里一个办公室里的某台机器中毒后整个部门上网变得时断时续抓包一看全是重复的 ARP 应答就是典型的 ARP 欺骗。应对办法有两个层级接入交换机上配置动态 ARP 检测DAI通过 DHCP 监听绑定 IP-MAC 关系非法 ARP 报文直接丢弃主机层面做 IP-MAC 静态绑定但大型网络里维护成本太高还是推荐在网络设备侧做防护。另一种是 IP 欺骗攻击者伪造源 IP 发包绕开基于 IP 的认证或实施反射型攻击。这类攻击的缓解在边界防火墙上做——启用反向路径转发uRPF检查源地址不合法的包直接丢。5. 拒绝服务攻击排查与防御常见坑与缓解参数5.1 看现象连接堆积、CPU 飙升先查什么拒绝服务攻击DoS的目标是耗尽目标系统的资源让它无法提供正常服务。现象层面最容易识别的是两类连接数异常堆积和 CPU/带宽被打满。收到告警后我第一步是上设备看会话表。防火墙或者负载均衡上如果出现大量 SYN 半连接源 IP 分散且请求端口集中在某一两个服务大概率是 SYN Flood如果连接都是完整建立的但每个连接只发少量数据、占着连接不释放则更可能是慢速攻击。这一步不用急着做复杂分析先确认“攻击面”是什么是新建连接速率过高还是并发连接数过高还是单位流量过大。# 常见做法在 Linux 目标主机上快速确认连接状态分布 ss -ant | awk {print $1} | sort | uniq -c # 大量 SYN-RECV 说明三次握手被打断典型 SYN Flood # 大量 ESTABLISHED 且线程繁忙更可能是慢速连接耗尽资源5.2 对症缓解SYN Cookie、连接限速与黑洞路由确认攻击类型后对症下药。SYN Flood 的首选缓解是开启 SYN Cookie 机制让服务器在 SYN 队列满时不再维护半连接状态而是通过 cookie 校验完成握手。这个开关基本无副作用生产环境建议默认开启。连接速率限制方面可以用 iptables 对单个源 IP 做并发连接数限制或者在上游防火墙里配置连接速率阈值。# 常见做法防火墙层面对单 IP 做连接数限制 iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 100 -j DROP # --connlimit-above 100 表示单个源 IP 超过 100 个并发 SYN 就直接丢 # 数值需要根据业务实际情况调整防止误伤正常用户带宽型攻击靠单台设备硬扛是不现实的UDP Flood 或放大攻击的流量动辄几十 Gbps必须在运营商侧或高防节点做流量清洗。如果攻击流量已经大到链路饱和只能在上游把被攻击 IP 的流量黑洞掉牺牲可用性换网络整体存活这也是云服务商默认的处理策略。5.3 四个高频踩坑记录踩坑一开启 SYN Cookie 后业务报连接超时。 现象是 SYN Flood 攻击时把 cookie 打开攻击结束后业务反而访问异常。原因是攻击期间大量合法连接也走了 cookie 校验流程超时参数默认偏短攻击结束后遗留的 | 半开连接清理需要时间。 解决攻击结束后适当调大tcp_synack_retries让合法重试能顺利完成等连接池恢复后再调回原值。踩坑二iptables 限制误伤 NAT 后面的用户。 现象是封了某个源 IP 后整片办公区都上不了网。原因是公司出口做了 NAT大家出去都是同一个公网 IP限速针对的是源 IP 而不是真实用户。 解决这种场景应优先放在应用层或负载均衡层做限速按会话维度控制不用 iptables 按 IP 控制。踩坑三黑洞路由把所有流量都丢了包括正常业务。 现象是抗 D 设备把攻击 IP 引到黑洞后业务完全中断。原因是只看了攻击流量峰值没评估黑洞对正常业务链路的影响。 解决黑洞前先确认业务是否有多线路或多节点容灾黑洞只影响单线单点才能接受否则宁可降级限速也不盲目全黑洞。踩坑四攻击结束但 CPU 持续高位。 现象是流量已经恢复正常主机 CPU 依旧 100%。原因多半是攻击期间积压的大量半连接或日志处理任务还在占用资源。 解决攻击结束后手工清理连接表、轮转日志、重启一遍业务进程恢复时间能从小时级缩短到分钟级。6. 攻击链复盘用五个阶段做溯源与加固6.1 把告警映射到攻击阶段平时收到零零散散的告警最难判断的是“到底有没有被攻击”。我现在的做法是拿五阶段框架做归类探测阶段对应扫描日志、异常 ICMP 流量渗透阶段对应漏洞利用尝试、异常登录行为驻留阶段对应新启动的服务、异常的进程和计划任务传播阶段对应内网横向连接瘫痪阶段对应资源耗尽和业务中断。归类完之后攻击者的意图就很清晰了。如果只有探测阶段的告警说明攻击者还在踩点加固还来得及如果有驻留阶段的迹象那就不是“要不要处理”的问题而是“已经失陷多久”的问题要立即启用应急响应流程。这个映射表我不只自己用也给运维团队做了个简化版贴在告警处理手册里新人收到告警先归阶段再决定处理等级。6.2 加固清单与验证方法基于五阶段做防守顺序是反着来的先防探测再防渗透最后处理驻留和传播。对应的具体措施包括边界防火墙收紧对外端口只暴露必要服务对内网开启主机存活探测的日志记录高危服务强制启用堡垒机统一入口终端启用应用白名单域内禁用共享弱口令。验证加固效果不是“改完配置就完事”而是要实际模拟一遍攻击链。我从那以后每次做完加固都强制走一遍流程先用 nmap 从外部扫一遍确认暴露面收敛再用 Nessus 扫一遍确认高危漏洞清零最后对内网几台关键主机做一次弱口令和匿名共享检查确认横向渗透的通路被堵上。全套跑完我才敢把加固结果填进报告里。攻击者和防守者之间的角力永远在变但五阶段框架是相对稳定的坐标系。把一个告警放到坐标系里看该优先处理什么、下一步可能发生什么判断就快得多。希望这篇来自一线排查的笔记能帮你在接到告警时少走弯路也让你对内网资产心里更有底。本文还有配套的精品资源点击获取
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频 2026/9/30 23:59:44

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证 2026/9/30 23:59:36

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
MCP Kubernetes Server 实战:用 TaoToken 统一 Key 打通集群管理工具链 2026/9/30 23:59:30

MCP Kubernetes Server 实战:用 TaoToken 统一 Key 打通集群管理工具链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置) 2026/9/30 23:59:30

2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱 2026/9/30 23:59:23

游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱

游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱Bilibili 同步视频游戏逻辑 vs 游戏引擎,剧本和摄影机的区别现代游戏引擎都包含哪些模块?游戏编辑器:游戏开发者的工作台数学,游戏引擎的内功根基需要重点掌握的数学知…

阅读更多 →
中科院青藏高原所李新团队提出 READY 框架|地学数据光“开放共享”还不够,得先过“AI 就绪”这道关 2026/9/30 23:59:23

中科院青藏高原所李新团队提出 READY 框架|地学数据光“开放共享”还不够,得先过“AI 就绪”这道关

近日,中国科学院青藏高原研究所、国家青藏高原科学数据中心联合国内多个地学数据中心科研人员,系统提出了“人工智能就绪地球科学数据(AI-ready geoscience data)”的定义框架与实现路径。当前,“人工智能就绪数据&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉