蓝桥杯-网络安全比赛(7)基础知识 HTTP、TTL、IP数据包、MSS、MTU、ARP、LLMNR、MDNS、NBNS。

 1. IP中TTL值能够给我提供什么信息?2. IP头部中标志、13位偏移、32位源IP地址、目标IP、IP数据包格式,有多少字节3. IP头部中的16位标识是什么?4. MSS 和MTU分别有多大?5. 怎么获取路由IP信息?PING、NSLOOKUP、TRACERT、域名解析6. HTTPS是如何防止中间人劫持、明文传输的?7. ARP收复包不会确认身份?

网络基础

ttl

IP中的TTL值:

  • TTL值的作用:TTL(Time To Live) 是IP数据包的一个字段,用来表示数据包在网络中可以生存的时间,或者说数据包在网络中经过的路由器数目的最大值。
    每经过一个网络设备(如路由器),TTL值就会减1,直到TTL值减为0时,数据包就会被丢弃。
  • TTL值与入侵检测:黑客可以通过发送ICMP Echo请求(ping)来探测目标主机的操作系统类型。不同的操作系统通常设置不同的TTL初始值。
    例如,Linux系统的TTL值通常为64,而Windows系统的TTL值通常为128
    因此,通过观察返回的TTL值,黑客可以推测目标主机的操作系统类型。
  • 防止利用TTL值:为了防止这种基于TTL值的探测,系统管理员可以修改操作系统的TTL值设置,使得黑客难以准确判断操作系统类型。

IP数据包格式的内容分别为?

IP data package
IP报头中的16位标识、3位标志和13位片偏移字段共同构成了IP数据报的分片机制,该机制确保了数据在网络中的可靠传输和重新组装。
当IP数据包的大小超过*MTU(最大传输单元)*时,就需要进行分片。

  • 16位标识(Identification):用于标识一个IP数据报。 当一个IP数据报太大,需要分片时,这个数据报的所有分片都将具有相同的标识值。
  • 3位标志(Flags):标志位则用于标识是否允许分片,以及当前分片是否还有后续的分片。
    • DF(Don’t Fragment)位:当设置为1时,表示数据报在传输过程中不能被分片。如果数据报在传输路径上的某个点的大小超过了MTU,并且DF位被设置为1,那么该数据报将被丢弃,并向发送方发送一个ICMP错误消息。
    • MF(More Fragments)位:当设置为1时,表示该分片后面还有其他的分片。如果MF位被设置为0,则表示这是原始数据报的最后一个分片
  • 13位偏移(Fragment Offset):13位偏移字段用于指示分片在原始数据包中的位置,
  • 32位源IP地址和目标IP:IP数据包头中包含32位的源IP地址和目标IP地址,用于标识数据包的发送方和接收方。
  • 字节数:IP数据包头的长度是可变的,但最小长度为20字节。具体的字节数取决于选项字段的长度。

MSS与MTU是什么?

  • MSS(Maximum Segment Size) 是TCP协议中的一个参数,表示TCP能够发送的最大数据段大小(不包括TCP和IP头部)。
  • MTU(Maximum Transmission Unit) 是网络层协议能够发送的最大数据包大小(不包括任何层协议头部)。当IP数据包的大小超过MTU(1500)时,就需要进行分片
  • 关系MSS的值通常设置为MTU减去IP头部和TCP头部的长度(即1460)
    因此,当IP包的大小超过MTU时,TCP会自动将数据分段以适应MTU的限制。

怎么获取路由IP信息?

  • PING:用于测试与远程主机的连通性,通过发送ICMP Echo请求并等待响应来判断目标主机是否可达。
  • NSLOOKUP:用于查询DNS记录,可以将域名解析为IP地址,或者查询其他DNS相关信息。
  • TRACERT:用于跟踪数据包从源主机到目标主机所经过的路由路径,并显示每跳的延迟。
  • 域名解析:将人类可读的域名转换为计算机可识别的IP地址的过程。

HTTPS是如何防止中间人劫持、明文传输的?

HTTPS是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
  • 中间人劫持:中间人攻击是指攻击者在通信双方之间插入自己,截获、篡改或窃取双方的通信内容。
  • HTTPS的作用:HTTPS通过SSL/TLS协议,在客户端和服务器之间建立一个加密的通信通道,保护数据在传输过程中的机密性和完整性,从而防止中间人劫持和明文传输。
  • 验证机制:HTTPS还使用数字证书来验证服务器的身份,确保客户端与正确的服务器建立连接。

总之HTTPS通过数字证书验证服务器身份,使用SSL/TLS协议建立安全通信通道,对数据进行加密传输,确保网络通信在传输过程中不被中间人劫持或窃取,保证数据的安全性和完整性。

ARP协议是什么?

ARP收复包不会确认身份:ARP(Address Resolution Protocol)用于将网络层(IP层)的32位IP地址转换为数据链路层(MAC层)的48位物理地址。
ARP请求包不包含身份确认机制,因此容易受到ARP欺骗等攻击。

思考题:

在这里插入图片描述

如何防御ARP攻击:

使用静态ARP映射,而不是动态ARP解析。
配置ARP过滤或ARP检查,在网关设备上只允许已知的ARP请求通过。
使用ARP安全特性,如ARPGuard或Dynamic ARP Inspection (DAI)。
定期更新和审查ARP缓存表。

关于ARP攻击的防御策略:

  1. 静态ARP绑定
    在网络设备(如交换机或路由器)上手动配置ARP条目,将MAC地址与IP地址静态绑定。这样可以防止攻击者通过发送伪造的ARP响应来篡改ARP缓存。
  2. ARP过滤或ARP检查
    在网关设备上启用ARP过滤功能,只允许已知的、信任的ARP请求通过。这通常涉及到配置访问控制列表(ACLs)来限制ARP流量的来源和目的。
    ARP检查功能可以验证ARP请求的源MAC地址和IP地址是否与预期相匹配,以防止伪造的ARP请求。
  3. 使用ARP安全特性
    一些网络设备提供了ARP安全特性,如Cisco的ARPGuard或Cisco IOS的Dynamic ARP Inspection (DAI)。这些特性可以监控ARP流量,并阻止不符合安全策略的ARP请求。
  4. 定期更新和审查ARP缓存
    管理员应定期检查和更新ARP缓存表,以确保其中只包含有效的、受信任的条目。这可以通过手动检查或使用网络管理工具来完成。

当输入一个错误的域名时,DNS会怎么处理:

[如图访问http://hhhhhhhhhhhhh的时候]
protocal

  1. 当输入一个错误的域名时,DNS服务器会查找其缓存和配置的区域文件来解析该域名。
  2. 如果域名不存在于缓存或区域文件中,DNS服务器会向其他DNS服务器发起递归查询。
  3. 如果所有查询都失败,DNS服务器会返回一个NXDOMAIN响应,表示该域名不存在。
  4. 由于DNS查询失败,您的计算机或网络中的其他设备可能会尝试使用本地名称解析协议来解析该域名。
    • 如果您的网络环境是Windows主导的,并且启用了NetBIOS名称解析,那么NBNS可能会被用来解析域名。
    • 如果还是不行它可能会发送MDNS查询来查找本地网络中的相关服务。
    • 如果您的计算机或网络中的其他设备配置了LLMNR,它们还可能会发送LLMNR查询广播,询问网络中是否有其他设备知道该域名的IP地址。

关于LLMNR、MDNS、NBNS等协议,它们都是本地链接的DNS解析协议,用于在本地网络中进行名称解析。
当标准的DNS解析失败时,这些协议可能会作为备选方案来尝试解析域名。

可以说它们都是名称解析协议,用于在计算机网络中解析主机名或域名到对应的IP地址。
然而,LLMNR和MDNS更侧重于本地网络的名称解析和设备发现,
而NBNS则更多地与早期的Windows系统网络相关。

LLMNR

llmns

Link-Local Multicast Name Resolution 可以形象地理解为计算机网络中的“本地翻译官”。
当同一本地链路上的主机需要知道其他主机的名字时,LLMNR就会出手相助,通过多播的方式快速找到答案。
它基于DNS数据包的格式,使得IPv4和IPv6的主机都能轻松使用。

MDNS

Multicast DNS 则像是网络中的“广播员”。
它不仅可以帮助主机解析本地域名到IP地址,还能用于设备发现和服务发现,特别是在局域网内。
设备使用多播地址发送MDNS查询,就像在一个大会上使用扩音器喊话,其他设备听到后可以回复提供所需的服务或资源的IP地址。

NBNS

NetBIOS Name Service 则是早期Windows系统网络中的“名片交换中心”
它主要用于将NetBIOS名称映射到IP地址上,是NetBIOS-over-TCP(NBT)协议族的一份子。
通过NBNS,路由器可以发送状态请求获取设备名,Windows PC在收到请求后会发送命名信息给路由器,就像交换名片一样。

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

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

相关文章

RAG进阶(二): RAG 融合(rag fusion)

在上一篇博客中,我们学习了多重查询(Multi Query)技术,Multi Query的基本思想是当用户输入查询语句(自然语言)时,我们让大模型(LLM)基于用户的问题再生成多个查询语句,这些生成的查询语句是对用户查询语句的补充,它们是…

Mybatis逆向工程笔记小结

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1.前言 2.实现方案 2.1. mybatis-generator生成 2.1.1. 环境说明 2.1.2. 数…

为什么IB损失要在100epochs后再用?

在给定的代码中,参数start_ib_epoch用于控制从第几轮开始使用IB(Instance-Balanced)损失函数进行训练。具体来说,如果start_ib_epoch的值大于等于100,那么在训练的前100轮中将使用普通的交叉熵损失函数(CE&…

【强训笔记】day7

NO.1 思路:双指针模拟,begin表示最长数字字符串最后一个字符,而len表示数字字符串的长度,i用来遍历,如果为数字,那么定义j变量继续遍历,直到不为数字,i-j如果大于len,就…

博客系统项目测试报告

文章目录 一.报告概要二.测试环境三.手工测试用例四.编写测试用例五.自动化测试Selenium测试项目主要特点 一.报告概要 项目概要 本项目是一个全功能的个人博客系统,旨在提供一个用户友好、功能全面的平台,允许用户注册、登录、浏览博客、查看详细内容、…

周刊是聪明人筛选优质知识的聪明手段!

这是一个信息过载的时代,也是一个信息匮乏的时代。 这种矛盾的现象在 Python 编程语言上的表现非常明显。 它是常年高居编程语言排行榜的最流行语言之一,在国外发展得如火如荼,开发者、项目、文章、播客、会议活动等相关信息如海如潮。 但…

#9松桑前端后花园周刊-React19beta、TS5.5beta、Node22.1.0、const滥用、jsDelivr、douyin-vue

行业动态 Mozilla 提供 Firefox 的 ARM64 Linux二进制文件 此前一直由发行版开发者或其他第三方提供,目前Mozilla提供了nightly版本,正式版仍需要全面测试后再推出。 发布 React 19 Beta 此测试版用于为 React 19 做准备的库。React团队概述React 19…

leetCode76. 最小覆盖子串

leetCode76. 最小覆盖子串 题目思路 代码 // 双指针 哈希表 // 这里cnt维护过程:先找到能够匹配T字符串的滑动窗口,然后这个cnt就固定了,因为i向前移动的同时,j也会维护着向前 // 就是当又出现能够满足T字符串的时候&#xff0…

Chrome浏览器安装React工具

一、如果网络能访问Google商店,直接安装官方插件即可 二、网络不能访问Google商店,使用安装包进行安装 1、下载react工具包 链接:https://pan.baidu.com/s/1qAeqxSafOiNV4CG3FVVtTQ 提取码:vgwj 2、chrome浏览器安装react工具…

【JavaScript】运算符

算术运算符 1. 加法运算符() 加法运算符用于将两个值相加。如果两个操作数都是数字,则它们将被加在一起。如果其中一个操作数是字符串,则另一个操作数将被转换为字符串,然后执行字符串连接。 运算子不同&#xff0c…

基于ESP32和ESP8266的物联网开发过程(一)

给大家演示一个小工具,通过Wifi去连接ESP32或者ESP8266出来的一个热点。连接到这个热点之后,可以输密码,也可以不输密码。这里我设置的是不输密码直接进来,我这个是ESP8266。 进来之后直接点配置Wifi,然后可以看到ESP8…

sem_wait 和 sem_post

在给出的 Sem 类中,sem_wait 和 sem_post 是 POSIX 信号量(semaphores)的操作函数,用于控制对共享资源的访问。 sem_wait(&_sem); sem_wait 函数的作用是等待(或称为“P”操作,源于荷兰语 "Prob…

【简单介绍下7-Zip】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

快速入门!学习鸿蒙App开发的终极指南!

鸿蒙(HarmonyOS)是华为推出的一款分布式操作系统,旨在为不同设备提供统一的操作体验。鸿蒙App开发可以让应用程序在多个设备上实现流畅运行。本文将介绍鸿蒙App开发的终极指南,帮助您快速入门。 开发环境搭建 鸿蒙App开发过程需要…

双色球案例【C#】

【实例类型】 1双色球类 方法的参数是对象。 public List<string> Numbers { get; set; } // 这个是对象的属性 /// <summary>/// 双色球类/// /// 作用&#xff1a;主要是用来封装数据/// </summary>public class DoubleChromosphere{//public str…

JDBC—用户登录功能的实现

实现功能&#xff1a; 1、需求&#xff1a; 模拟用户登录功能 2、业务描述&#xff1a; 程序运行时&#xff0c;提供一个输入的入口&#xff0c;可以让用户输入用户名和密码 用户输入用户名和密码之后&#xff0c;提交信息&#xff0c;java程序收集到用户信息 …

MD hog 实现移动侦测

1. 原图resize到 640*360 大小&#xff0c; resize方法可采用 bilinear interpolation; 2. 计算 Hog水平方向和垂直方向的梯度&#xff0c;滤波 kernel如下 MD_HogGradX "-1,-2,0,2,1" MD_HogGradY "-1,-2,0,2,1" 3.对比帧选择&#xff0c;假如当前…

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(五)

本系列课程&#xff0c;将重点讲解Phpsploit-Framework框架软件的基础使用&#xff01; 本文章仅提供学习&#xff0c;切勿将其用于不法手段&#xff01; 继续接上一篇文章内容&#xff0c;讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 在下面的图片中&#…

如何代码激活service——packageKit 系统更新番外

在访问packageKit服务的过程中&#xff0c;服务一直访问失败&#xff0c;PackageKit::Daemon::global()->isRunning() 一直返回false&#xff0c;他是一个用于检查 PackageKit 守护进程是否正在运行的函数调用。在 Qt 和 PackageKit 的集成中&#xff0c;isRunning 方法通常…

opengait代码运行之gaitedge 未完成版

文章目录 前言一、下载源代码二、配置环境——pycharm,pytorch等1.pycharm虚拟环境设置2.下载相应的包 三、下载数据集四、下载模型1.第一种方式2.第二种方式 五、开始训练 前言 本次任务为运行opengait代码。主要侧重于gaitedge&#xff0c;需要用到的数据集为CASIA-B。 电脑…