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

跟我一起学“计算机网络”通识-应用层

应用层是TCP/IP 五层模型最上层,直接面向用户 / 应用程序,核心作用:为应用程序提供网络服务、定义数据交互规则

一、核心定位

  1. 面向软件、用户,下层(传输、网络、数据链路、物理)只负责传数据,应用层负责解读数据含义
  2. 规定:数据格式、交互流程、命令、端口、语义

二、两大核心组件

1. 应用层协议

主流协议 + 用途 + 默认端口:

  • HTTP/HTTPS:网页访问(80 / 443)
  • FTP/SFTP:文件传输(20/21 / 22)
  • DNS:域名解析,域名→IP(53)
  • SMTP/POP3/IMAP:邮件收发(25 / 110 / 143)
  • Telnet/SSH:远程登录管理(23 / 22)
  • DHCP:自动分配 IP 地址(67/68)

2. C/S & B/S 架构

  • C/S(客户端 / 服务器):需单独客户端(QQ、FTP、远程桌面)
  • B/S(浏览器 / 服务器):只用浏览器(网页、公众号、大部分网站)

三、核心工作流程

  1. 客户端发起请求(按协议格式封装数据)
  2. 服务器解析协议、处理业务
  3. 服务器返回响应数据
  4. 客户端解析展示给用户

四、关键技术点

  1. 数据编解码:明文、二进制、JSON、XML、表单等
  2. 端口号:应用层区分不同服务的标识(1~65535)
  3. 报文格式:每个协议自有头部 + 数据体
  4. 交互模式:请求 - 应答、长连接、短连接、广播、多播

五、和下层的关系

  • 应用层:干什么事(看网页、发文件、查域名)
  • 传输层:怎么传(TCP 可靠 / UDP 快速)
  • 网络层:往哪传(IP 寻址、路由)

六、网络安全

1. 渗透测试完整流程

渗透测试是模拟黑客合法攻击,主动发现系统安全漏洞的整套流程,标准分为7 大步骤,全程遵循授权原则。

  1. 前期准备 & 授权明确测试范围、目标、规则,签订授权协议(无授权测试属于违法行为),收集目标基本信息(域名、IP、业务、端口等)。
  2. 信息收集利用工具 / 公开渠道爬取域名、子域名、服务器 IP、开放端口、网站架构、中间件、CMS 版本、管理员账号等,为后续攻击铺路。
  3. 漏洞探测使用扫描器自动化检测:端口漏洞、Web 漏洞、弱口令、文件泄露、配置缺陷等,筛出可利用漏洞。
  4. 漏洞利用针对发现的漏洞进行验证、尝试入侵,获取权限(网站后台、服务器权限、数据库权限等)。
  5. 权限提升拿到基础权限后,进一步提权,获取更高管理员 / 系统最高权限,扩大控制范围。
  6. 痕迹清理清除访问日志、操作记录,避免被溯源(正规测试仅演示,不会恶意留存后门)。
  7. 报告输出 & 修复建议整理所有漏洞、风险等级、利用过程,给出详细修复方案,交付甲方完成整改。

2. XSS 跨站脚本攻击

1. 基本概念

XSS(跨站脚本攻击):向网页注入恶意 JavaScript 代码,当其他用户访问页面时,代码自动执行,窃取信息、劫持账号、弹窗钓鱼等。 成因:网站对用户输入内容未做过滤、转义

2. 三大分类

  1. 反射型 XSS(非持久型)恶意代码放在 URL 链接里,点开即触发,不存入服务器。 例:http://xxx.com?name=<script>alert('XSS')</script>
  2. 存储型 XSS(持久型,危害最大)恶意代码提交到评论、留言、帖子等位置,存入数据库,所有访问该页面的用户都会中招。
  3. DOM 型 XSS不经过服务器,纯前端 JS 解析漏洞,修改页面 DOM 结构触发攻击。

3. 常见危害

  • 窃取用户 Cookie、登录凭证
  • 劫持账号、伪造操作
  • 弹窗挂马、钓鱼、诱导下载病毒

4. 简单防御

  • 对输入输出做HTML 转义(过滤< > " ' &等特殊字符)
  • 设置 CookieHttpOnly,禁止 JS 读取 Cookie
  • 开启 CSP 内容安全策略

5. 演示代码

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>XSS 攻击模拟测试</title> <style> body { max-width: 800px; margin: 50px auto; padding: 20px; font-family: Arial; } .test-box { border: 1px solid #ccc; padding: 20px; margin: 20px 0; border-radius: 8px; } input { padding: 8px; width: 300px; margin-right: 10px; } button { padding: 8px 16px; cursor: pointer; } .result { margin-top: 15px; padding: 10px; background: #f5f5f5; border-radius: 4px; } .warn { color: red; font-weight: bold; } </style> </head> <body> <h2>XSS 攻击模拟演示(本地安全测试)</h2> <p class="warn">警告:本代码仅用于学习 XSS 原理,禁止用于非法攻击他人网站!</p> <div class="test-box"> <h3>反射型 XSS 测试(未过滤输入)</h3> <p>模拟网站未对用户输入做任何过滤,直接渲染到页面上</p> <!-- 输入框:输入 XSS 攻击代码 --> <input type="text" id="xssInput" placeholder="输入 XSS 测试代码"> <button onclick="testXss()">点击测试</button> <!-- 结果展示区:直接渲染用户输入(模拟漏洞) --> <div class="result"> <strong>攻击结果:</strong> <div id="resultDom"></div> </div> </div> <div class="test-box"> <h3>常用 XSS 测试代码(复制使用)</h3> <ul> <li><code>&lt;img src=x onerror=alert('图片加载失败触发XSS')&gt;</code> - 图片错误触发</li> <li><code>&lt;a href=javascript:alert('点击触发XSS')&gt;点我&lt;/a&gt;</code> - 链接触发</li> </ul> </div> <script> // 模拟后端未过滤输入,直接返回给前端渲染(漏洞代码) function testXss() { // 获取用户输入的内容 let userInput = document.getElementById('xssInput').value; // 高危操作:直接将用户输入作为 HTML 渲染(模拟 XSS 漏洞) document.getElementById('resultDom').innerHTML = userInput; } </script> </body> </html>

3. SQL 注入

1. 基本概念

SQL 注入:利用网站直接拼接用户输入到 SQL 语句的漏洞,构造特殊字符篡改原有 SQL 逻辑,非法查询、修改、删除数据库数据。 成因:代码未过滤用户输入,直接拼接 SQL 语句

2. 原理举例

正常登录 SQL:

select * from user where username='输入账号' and password='输入密码'

攻击者输入账号:admin' --拼接后 SQL 变为:

select * from user where username='admin' -- ' and password='xxx'

--是 SQL 注释符,后面语句失效,直接绕过密码登录

3. 常见类型

  • 数字型注入:参数为数字(如?id=1
  • 字符型注入:参数带引号(最常见)
  • 报错注入、布尔盲注、时间盲注:页面无回显时,通过报错 / 页面变化 / 延迟猜解数据
  • 堆叠注入:一次性执行多条 SQL 语句

4. 常见危害

  • 拖库(盗取全部账号、手机号、密码等敏感数据)
  • 篡改、删除数据库数据
  • 获取服务器权限、拿下整站

5. 核心防御

  1. 使用预编译语句(参数化查询)(根治方案),杜绝 SQL 拼接
  2. 过滤特殊字符:' " ; \ -- #
  3. 关闭数据库不必要权限,最小权限运行账号
  4. 不暴露数据库报错信息

七、小结

到这里,计算机网络应用层的知识就分享完咯,咱们整套计算机网络通识内容也正式收官啦!码字整理内容并不容易,如果觉得干货实用,麻烦动动小手点个赞吧~你的每一个点赞,都是我继续更新的动力,非常感谢大家🌹

http://www.zskr.cn/news/1479938.html

相关文章:

  • Matlab红外图像分层增强工具:引导滤波实现+细节调节+即跑测试样例
  • BBDown:三分钟掌握高效B站视频下载技巧
  • 亲测12款论文降AI率工具,效果最好的竟然是它!
  • AutoGen与CrewAI本质区别:通信协议vs组织契约
  • 如何在现代Web应用中实现专业级图片前后对比效果?
  • 德州市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 千叶啊
  • 从零到精通:Atmosphere大气层自定义固件的完整实战指南
  • 高效自动化抢票解决方案:DamaiHelper智能脚本完全指南
  • 智慧树刷课插件:3步搞定自动播放的终极指南
  • 音频数字化全解析:从采样量化到嵌入式采集实战
  • ImageGlass:为什么这款免费开源图像浏览器能成为你的图片管理终极解决方案?
  • B站视频下载神器:5分钟搞定大会员4K视频离线观看完整指南
  • 3个步骤解锁AMD处理器隐藏性能:RyzenAdj完整调优指南
  • 房山区2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 千叶啊
  • 终极指南:用500KB工具完全掌控你的Alienware灯光与风扇系统
  • STM32 Modbus RTU帧边界检测:超时机制原理与三种实现方案详解
  • 抚州市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 千叶啊
  • 大学城真实数据清洗实战:从脏乱Excel到分析就绪Parquet
  • 042、对焦模组标定流程:无限远校准、对焦曲线拟合与产线自动化标定
  • 广安市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 千叶啊
  • PHP数据迁移与版本控制工具
  • 宣城市2026年上门黄金回收白银回收铂金回收测评,五家全城可上门实体店整理 - 干豆腐啊
  • 2026榆林黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • PotPlayer百度翻译插件:5分钟实现免费字幕实时翻译的终极指南
  • 技术战略转向:从防御到进攻的研发思维与工具革命
  • 永州黄金回收白银回收铂金回收哪家靠谱?2026 实地测评 5 家高人气实体门店 - 信誉隆金银铂奢回收
  • 开箱即用的全球七大洲边界矢量文件(含WGS84坐标系与ArcGIS/QGIS图层样式)
  • 2026湛江黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • 音频接口核心解析:Line in与Mic in的电平、阻抗与电路设计差异
  • 2026最新长春黄金回收白银回收铂金回收攻略,实地甄选五家优质实体店 - 诚金汇钻回收公司