计算机网络面试真题总结(六)

news2024/9/23 9:26:57

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

文章收录在网站:http://hardyfish.top/

在这里插入图片描述

网络五层模型分别负责什么?

物理层

  • 负责把两台计算机连起来,然后在计算机之间通过高低电频来传送0,1这样的电信号
    • 比如通过一些电缆线传输比特流。

链路层

  • 链路层涉及到的协议比较多,比如 Mac 地址啊,ARP 等
  • 这一层主要就是负责数据的通信,使各节点之间可以通信
    • 比如通过 MAC 地址唯一识别不同的节点,通过以太网协议定义数据包等。

网络层

  • 网络层负责把一个数据从一个网络传递到另外一个网络,最大的功能就是进行路由决策
    • 比如通过 IP,子网等概念,使数据更好着在不同的局域网中传递。

传输层

  • 传输层的功能就是建立端口到端口的通信,刚才说的网络层的功能则是建立主机到主机的通信
    • 比如通过网络层我们可以把信息从 A 主机传递到 B 主机,但是 B 主机有多个程序
    • 我们具体要发给哪个程序,则是靠传输层的协议来识别,常见协议有 UDP 和 TCP。

应用层

  • 虽然收到了传输层传来的数据,可是这些传过来的数据五花八门,有html格式的,有mp4格式的,

  • 需要指定这些数据的格式规则,收到后才好解读渲染。

    • 例如我们最常见的 Http 数据包中,就会指定该数据包是 什么格式的文件了。

DNS 的解析过程?

DNS用于将域名解析为IP地址的系统。

DNS解析过程主要包括以下步骤:

  • 用户在浏览器中输入一个域名

  • 浏览器首先会在本地缓存中查找是否有该域名对应的IP地址

    • 如果有则直接返回IP地址,否则进入下一步。
  • 浏览器会向本地DNS服务器发送一个查询请求。

  • 本地DNS服务器如果缓存中有该域名对应的IP地址

    • 则直接返回IP地址给浏览器,否则进入下一步。
  • 本地DNS服务器会向根域名服务器发送一个查询请求

    • 询问该域名的顶级域名服务器(比如.com)的IP地址。
  • 根域名服务器会返回顶级域名服务器的IP地址给本地DNS服务器。

  • 本地DNS服务器再次向顶级域名服务器发送查询请求

    • 询问该域名的权威域名服务器(比如example.com)的IP地址。
  • 权威域名服务器返回该域名的IP地址给本地DNS服务器。

  • 本地DNS服务器最后将IP地址返回给浏览器。

  • 浏览器得到IP地址后,就可以向该IP地址对应的服务器发送HTTP请求,建立起与服务器的连接,开始浏览网页。

这个过程涉及到多个级别的DNS服务器:

  • 从根域名服务器到顶级域名服务器再到权威域名服务器,最终找到域名对应的IP地址。

这个过程是递归查询的过程,每一级的DNS服务器负责下一级DNS服务器的查询,直到找到IP地址。

  • 这样就实现了将域名解析为IP地址的功能。

什么是DDOS攻击?

DDoS 攻击是指 利用多个不同的计算机或网络设备,协同发起大规模的拒绝服务攻击。

攻击者通过控制大量的僵尸计算机或利用其他合法的网络设备,向目标服务器或网络发起大量的请求

  • 使其无法正常响应合法用户的请求。

DDoS攻击的目标是使目标服务器或网络过载,耗尽其计算资源、网络带宽、处理能力等

  • 导致正常用户无法访问目标服务。

攻击方式多种多样,常见的类型包括:

  • ICMP Flood:

    • 发送大量的ICMP(Internet Control Message Protocol)数据包,消耗目标服务器的网络带宽和处理能力。
  • SYN Flood:

    • 发送大量的TCP连接请求的半连接(SYN),使服务器处于半连接打开状态,无法接受新的连接请求。
  • UDP Flood:

    • 发送大量的UDP(User Datagram Protocol)数据包,使服务器的目标端口过载,无法处理其他合法的请求。
  • HTTP Flood:

    • 发送大量的HTTP请求,以耗尽目标服务器的处理能力,例如发起大量的查询或下载请求。
  • DNS Amplification:

    • 利用存在放大效应的DNS协议,向开放式DNS服务器发送小型请求,从而获得大量响应数据
      • 使目标服务器的网络带宽被占用。

DDoS攻击可以导致服务不可用、网络延迟、数据泄漏以及经济损失,对于网站、在线服务和网络基础设施造成严重影响。

为了应对DDoS攻击,可以采取一系列的防御措施,如使用入侵检测和防火墙技术、流量过滤、负载均衡等

  • 以提高网络的安全性和抗DDoS攻击能力。

什么是SQL 注入?举个例子?

SQL 注入就是通过把 SQL 命令插入到 Web表单提交或输入域名或页面请求的查询字符串

  • 最终达到欺骗服务器执行恶意的SQL命令的。

SQL注入攻击的总体思路:

  • 寻找到SQL注入的位置
  • 判断服务器类型和后台数据库类型
  • 针对不通的服务器和数据库特点进行SQL注入攻击

SQL注入攻击实例:

  • 比如,在一个登录界面,要求输入用户名和密码
    • 但是我们可以通过SQL注入来实现免帐号登录,比如我们可以这样输入:
用户名: ‘or 1 = 1 --
密 码:

用户一旦点击登录,如若没有做特殊处理,那么这个非法用户就很得意的登陆进去了。

这是为什么呢?

下面我们分析一下:从理论上说,后台认证程序中会通过如下的SQL语句来判断用户的账户密码是否正确:

String sql = “select * from user_table where username=’ “+userName+” ’ and password=’ “+password+” ‘”;

因此,当输入了上面的用户名和密码,上面的SQL语句变成:

SELECT * FROM user_table WHERE username=’’or 1 = 1- and password=’’

分析上述SQL语句我们知道,username='' or 1=1 这个语句一定会成功;然后后面加两个 -

谈一谈 XSS 攻击,举个例子?

XSS是一种经常出现在web应用中的计算机安全漏洞,与SQL注入一起成为web中最主流的攻击方式。

XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点

  • 进而添加一些脚本代码嵌入到web页面中去

  • 使别的用户访问都会执行相应的嵌入代码,从而盗取用户资料

    • 利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

XSS攻击的危害

  • 盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

  • 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

  • 盗窃企业重要的具有商业价值的资料

  • 非法转账

  • 强制发送电子邮件

  • 网站挂马

  • 控制受害者机器向其它网站发起攻击

原因解析

主要原因:

  • 过于信任客户端提交的数据!

解决办法:

  • 不信任任何客户端提交的数据,只要是客户端提交的数据就应该先进行相应的过滤处理然后方可进行下一步的操作。

进一步分析细节:

  • 客户端提交的数据本来就是应用所需要的,但是恶意攻击者利用网站对客户端提交数据的信任
    • 在数据中插入一些符号以及javascript代码
    • 那么这些数据将会成为应用代码中的一部分了,那么攻击者就可以肆无忌惮地展开攻击啦
      • 因此我们绝不可以信任任何客户端提交的数据!!!

XSS 攻击分类

反射性XSS攻击 (非持久性XSS攻击):

  • 漏洞产生的原因是攻击者注入的数据反映在响应中。
  • 一个典型的非持久性XSS攻击包含一个带XSS攻击向量的链接(即每次攻击需要用户的点击),例如,正常发送消息:
http://www.test.com/message.php?send=Hello,World

接收者将会接收信息并显示Hello,World;但是,非正常发送消息:

http://www.test.com/message.php?send=<script>alert(‘foolish!)</script>

接收者接收消息显示的时候将会弹出警告窗口!

持久性XSS攻击 (留言板场景):

  • XSS攻击向量(一般指XSS攻击代码)存储在网站数据库,当一个页面被用户打开的时候执行。
  • 也就是说,每当用户使用浏览器打开指定页面时,脚本便执行。

与非持久性XSS攻击相比,持久性XSS攻击危害性更大。

从名字就可以了解到,持久性XSS攻击就是将攻击代码存入数据库中,然后客户端打开时就执行这些攻击代码。

例如,留言板表单中的表单域:

<input type="text" name="content" value="这里是用户填写的数据">

正常操作流程是:用户是提交相应留言信息 —— 将数据存储到数据库 —— 其他用户访问留言板,应用去数据并显示

而非正常操作流程是攻击者在value填写:

<script>alert(‘foolish!)</script> <!--或者html其他标签(破坏样式。。。)、一段攻击型代码-->

并将数据提交、存储到数据库中;当其他用户取出数据显示的时候,将会执行这些攻击性代码。

修复漏洞方针:

  • 漏洞产生的根本原因是 太相信用户提交的数据,对用户所提交的数据过滤不足所导致的
    • 因此解决方案也应该从这个方面入手,具体方案包括:

将重要的cookie标记为http only, 这样的话Javascript 中的document.cookie语句就不能获取到cookie了

  • 如果在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击

表单数据规定值的类型,例如:年龄应为只能为int、name只能为字母数字组合

对数据进行Html Encode 处理

过滤或移除特殊的Html标签,例如:

<script>, <iframe> , < for <, > for>, &quot for

过滤JavaScript 事件的标签,例如 οnclick=, onfocus 等等。

需要注意的是,在有些应用中是允许html标签出现的,甚至是javascript代码出现。

因此,我们在过滤数据的时候需要仔细分析哪些数据是有特殊要求

  • 例如输出需要html代码、javascript代码拼接、或者此表单直接允许使用等等,然后区别处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2078550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day48 | 107.寻找存在的路径

语言 Java 107.寻找存在的路径 题目 107. 寻找存在的路径 题目描述 给定一个包含 n 个节点的无向图中&#xff0c;节点编号从 1 到 n &#xff08;含 1 和 n &#xff09;。 你的任务是判断是否有一条从节点 source 出发到节点 destination 的路径存在。 输入描述 第一…

最适合企业的财务管理软件:10款热门推荐

文中介绍的财务管理软件工具有&#xff1a;合思、金财管家、金蝶EAS、鼎捷易成、速达3000、畅捷通T、东软财务软件、Xero、Wave、FreshBooks。 在如今这个信息爆炸的时代&#xff0c;市场上有太多选择&#xff0c;每款财务管理软件都声称自己是最好的&#xff0c;但究竟哪一款才…

基于mallat小波变换的图像分解和重建算法matlab仿真,对比不同分解层数图像重建质量

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

.NET 给NuGet包添加Readme

前言 当我们编写了一个NuGet包后&#xff0c;NuGet包的说明会非常重要 我们以之前IX.RCL.Front 这个项目为例 1.添加Readme.md 在项目根目录 添加 Readme.md 文件属性中 生成操作 修改为&#xff1a;内容 2. 在Readme.md中添加 我们想给使用者 的提示 3.生成一个新版本的…

计算机毕业设计选题推荐-农村产权交易与数据可视化平台-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

修改原神角色数据列表:更好用了

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>原神角色数据列表</title><link rel&qu…

教你从零开始构建大模型!《Python 机器学习》作者新书来了!

自 ChatGPT发布以来&#xff0c;大型语言模型&#xff08;LLM&#xff09;已经成为推动人工智能发展的关键技术。 近期&#xff0c;机器学习和 AI 研究员、畅销书《Python 机器学习》作者 Sebastian Raschka又写了一本新书 ——《Build a Large Language Model (From Scratch)…

Qt_信号槽机制

文章目录 Qt中的信号槽机制1.在widget.h添加处理函数的声明2.添加处理函数的定义3.建立信号和槽的连接4.运行 Qt中的信号槽机制 本质就是给按钮的点击操作&#xff0c;关联上一个处理函数&#xff0c;当用户点击的时候&#xff0c;就会执行这个处理函数。 函数&#xff1a;stat…

string类(3)

string类&#xff08;3&#xff09; push_back 这是尾插一个字符。 append 这是尾插字符串。可以看出来设计得很复杂。 实践中比较常用的是&#xff1a; string s("hello world"); s.push_back( ); s.push_back(x); s.append("zzzzzzzz");用得更多的是&…

PHP移动端商城程序多端支付全端分享系统小程序源码

&#x1f4f1;&#x1f4b0;「移动端商城多端支付全端分享系统」——打造无缝购物新体验&#xff01;&#x1f6cd;️✨ &#x1f680; 开篇&#xff1a;一键触达&#xff0c;购物无界&#xff01; 在这个快节奏的时代&#xff0c;购物也需要跟上步伐&#xff01;&#x1f3c…

PY信号和槽

知不足而奋进 望远山而前行 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 在使用PyQt进行图形用户界面&#xff08;GU…

【网络】数据链路层-MAC帧

数据链路层-以太网与ARP协议 文章目录 1.数据链路层2.以太网2.1什么是以太网2.2MAC帧格式 3.ARP协议3.1为什么有ARP协议&#xff1f;3.2ARP的定位3.3ARP协议工作流程3.4ARP数据格式 4.RARP协议 1.数据链路层 数据链路层是网络协议栈中最底层的内容&#xff0c;而在之前对其他…

重装系统前如何备份数据?让重装无后顾之忧

在日常使用电脑的过程中&#xff0c;有时我们可能需要重装系统以解决一些难以通过常规手段解决的问题。然而&#xff0c;在重装系统之前&#xff0c;最重要的一步就是备份数据&#xff0c;以防止重要信息的丢失。本文将详细介绍如何在重装系统前进行数据备份&#xff0c;确保您…

Neo4j + LangChain:如何构建基于知识图谱的最强RAG系统?

自从 Neo4j 宣布与 LangChain 的集成以来&#xff0c;我们已经看到许多围绕使用 Neo4j 和大语言模型&#xff08;LLM&#xff09;构建检索增强生成&#xff08;RAG&#xff09;系统的用例。这导致了近年来知识图谱在 RAG 中使用的快速增加。基于知识图谱的 RAG 系统在处理幻觉方…

找搭子的社交软件有哪些?国内靠谱找搭子APP排行榜前10名推荐!

咕哇小程序&#xff1a;这是一个实名制的找搭子交友平台&#xff0c;没错是实名制的&#xff0c;所以骗子会少很多&#xff0c;比较纯粹&#xff0c;是我用得最久且一直在用的找搭子平台。在这个平台上&#xff0c;可以轻松找到兴趣相投的各类搭子&#xff0c;无论是旅行搭子、…

html+css+js网页设计 程序员个人编程学习网站15个页面

htmlcssjs网页设计 程序员个人编程学习网站15个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源…

【原创教程】电气制图01:启航EPLAN电气设计

从这篇文章开始,我们将阐述在实际电气制图的过程中,遇到的问题,以及我们应有的思路,从而能够胜任电气设计工作。 我们在接到电气图纸设计的项目时,前期的有效沟通是很关键的,他直接影响到你图纸设计的准确度。 首先,我们需要了解项目的规模、客户的工艺需求、‌预算和…

Meta祭出三篇最详尽Llama微调指南!千字长文,0基础小白必备

如何使用特定领域数据微调LLM&#xff0c;如何确定微调适配自己的用例&#xff0c;以及如何管理良好训练数据集的经验法则。 接下来&#xff0c;直接进入正题。 针对所有自学遇到困难的同学们&#xff0c;我帮大家系统梳理大模型学习脉络&#xff0c;将这份 LLM大模型资料 分享…

蓝牙信令测试(二)

本文BLE测试主要依据RF-PHY.TS.5.0.0协议,且仅包含了NOC(正常工作条件)的不需添加干扰的测试项目。EOC(极限工作条件)需要根据实际情况(温度范围、湿度范围以及电源类型等)而定,干扰信号需要信号发生器,在这里不再展开。 BLE支持三个物理层,如下图: 其中S=2代表2个…

pyro 教程和实例 支持贝叶斯神经网络实现 (pyro 1.8以上的)bnn Bayesian Neural Network pyro ,人工智能

Example: Bayesian Neural Network — NumPyro documentation https://uvadlc-notebooks.readthedocs.io/en/latest/tutorial_notebooks/DL2/Bayesian_Neural_Networks/dl2_bnn_tut1_students_with_answers.html 注意&#xff0c;这些文档&#xff0c;也是有对应的版本的&…