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

本文主要是介绍蓝桥杯-网络安全比赛(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在收到请求后会发送命名信息给路由器,就像交换名片一样。

这篇关于蓝桥杯-网络安全比赛(7)基础知识 HTTP、TTL、IP数据包、MSS、MTU、ARP、LLMNR、MDNS、NBNS。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/965757

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

如何做好网络安全

随着互联网技术的飞速发展,网站已成为企业对外展示、交流和服务的重要窗口。然而,随之而来的网站安全问题也日益凸显,给企业的业务发展和用户数据安全带来了巨大威胁。因此,高度重视网站安全已成为网络安全的首要任务。今天我们就来详细探讨网站安全的重要性、面临的挑战以及有什么应对方案。 一、网站安全的重要性 1. 数据安全与用户隐私 网站是企业存储和传输数据的关键平台,包括用户个人信息、

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A