渗透测试学习笔记(五)网络

一.IP地址

1. IP地址详解

  1. ip地址是唯一标识,一段网络编码
  2. 局域网(内网):交换机-网线-pc
  3. x.x.x.x 32位置2进制(0-255)

IP地址五大类

IP类型IP范围
A类0.0.0.0 到 127.255.255.255
B类128.0.0.0 到191.255.255.255
C类192.0.0.0 到 223.255.255.255
D类(组播地址)224.0.0.0 到 239.255.255.255
E类 (科研使用)240.0.0.0 到247.255.255.255
  1. 常用的内网地址号段
  • 10.x.x.x
  • 172.16.x.x~172.31.x.x
  • 192.168.x.x
  • 随意的IP地址也可(保留这样的地址供其使用是为了避免以后接入公网时引起地址混乱)

2. 网关

  1. 一个网络的出口,一版网关再路由器上
  2. 路由器:可用于连接内外网的设备
  3. PC发包流程
  • 首相判断目标IP与自己是否在同一个网段
  • 如果在同一个网段,则直接发送出去,不找网关
  • 如果不在用一个网段,则发包给网关

3.DNS域名服务

  1. Domain Name Service
    域名服务
    作用:为客户机提供域名解析服务器
  2. 域名组成
  • 国家顶级域 cn jp hk uk
  • 商业顶级域 com
  • 政府机构 gov
  • 教育机构 edu
  • 民间组织 org
    域名组成
  www.baidu.com.

二级域名(点)一级域名(点)根域(点)
3. 监听端口:

  • TCP-53
  • UDP-53
  1. DNS解析种类
  • 递归查询:客户机和本地DNS服务器之间
  • 迭代查询:本地DNS服务器和跟等其他DNS服务器解析过程
    1)递归查询:客户机与本地DNS服务器之间
    2)迭代查询:本地DNS服务器与根等其他DNS服务器的解析过程
  1. 域名解析的记录类型主要包括以下几种:
域名解析的记录类型基础概念优势应用场景
A记录(Address Record)A记录是最基本的DNS记录类型,用于将域名指向一个IP4地址简单易用将域名解析到具体的服务器IP地址,使用户能够通过域名访问网站
AAAA类(Quad-A Record)AAAA记录与A记录类似,但用于将域名指向一个IP6地址支持IP6地址,适用于 需要IP6支持的网络环境将域名解析到IPv6地址。
CNAME记录(Canonical Name Record)CNAME记录用于将一个域名指向另一个域名,即别名记录。可以将多个域名指向同一个目标域名,简化管理。当多个子域名需要指向同一个主域名时使用
MX记录(Mail Exchange Record)MX记录用于指定邮件服务器的地址,处理域名的电子邮件确保电子邮件能够正确路由到指定的邮件服务器配置域名邮箱服务
TXT记录(Text Record)TXT记录用于存储任意文本信息,通常用于验证域名所有权、SPF(发件人策略框架)用于多种验证和配置目的SPF记录、DKIM(域名密钥识别邮件签名)记录、DMARC(域名基础邮件认证报告和遵从性)记录
NS记录(Name Server Record)NS记录用于指定域名的DNS服务器地址确保域名能够被正确解析配置域名的DNS服务器
  1. DNS服务器分类
  • 主要名称服务器
  • 辅助名称服务器
  • 根名称服务器
  • 高速缓存名称服务器
  1. 客户机域名请求解析顺序
    DNS缓存–>本地hosts文件–>本地DNS服务器
    服务器对域名请求的处理顺序
    1.DNS高速缓存2.本地区域解析文件 3.转发器 4。根

  2. DNS Over HTTPS DOH

4.DHCP(Dynamic Host configure Protocol)自动分配IP地址

  • 地址池/作用域
  • IP,子网掩码,网关,DNS,租期
  • DHCP协议端口是UDP 67/68
DHCP原理

租约过程:

  1. 客户机发送DHCP Discovery广播包–DHCP Discovery发现,客户机广播请求IP地址(包含客户机的MAC地址)
  2. 服务器响应DHCP Offer广播包,DHCP Offer-提供IP地址(但是无子网掩码,网关等参数)
  3. 客户机发送DHCP Request广播包 , DHCP Request 选择确定一个IP地址后请求相关的其他信息,客户机选择IP
  4. 服务器发送DHCP ACK广播包,ACK确认,服务器确定了租约,提供网卡详细参数IP,掩码,网关,DNS,租约等

续约过程:

  1. 当50%过后,客户机会再次发送DHCP Request包进行续约,如服务器无响应,则继续使用并在87.5%再次发送DHCP Request包,进行续约
  2. 如果仍旧无响应,就释放IP地址重新发送DHCP Discovery广播包来获取IP地址
  3. 当无法人和服务器响应时,自动给自己分配一个169.254.X.X/16,属于全球统一无效地址,用于临时内网通信
    攻击与防御:
  4. 频繁的发送伪装DHCP请求,直到将DHCP地址资源池资源耗尽
    防御:交换机端口上做动态MAC地址绑定
  5. 伪装DHCP服务器攻击:hack通过将自己部署为DHCP服务器,为客户机提供非法ip地址
    防御:在交换机上除合法的DHCP服务器所在的端口外, 全部设置禁止发送dhcp offer包

二.OSI模型

分层

  1. 将复杂的流程分解为几个功能相对单一的子过程
  2. 整个流程清晰,复杂问题简单化
  3. 更容易发现问题,针对性解决

1.七层模型

应用层 应用层
表示层 表示层
会话层 会话层
传输层 传输层
网络层 网络层 网络层
数字链路层 数字链路层 数字链路层
物理层 ----> 物理层 ----> 物理层
pc 网关 pc

2.五层模型

把表示层和会话层并入应用层

3.常见的协议

应用层
传输层
网络层

模型协议
应用层http:80,https 443;ssh 22;DNS 53;Telnet 23; Ftp:20;DHCP:2167;SMTP :68
传输层TCP UDP
网络层ICMP IP ARP
数据链路层MAC子协议层
物理层

三.数据链路层

  1. 第2层
  2. 传输单元:帧
  3. 帧结构
    在这里插入图片描述
  • 帧头内容:目标MAC,源MAC,类型
  • 类型的作用:识别上层协议
  • 0x0800:上层为IP协议
  • 0x0806:上层为ARP协议
  1. 数据链路层的设备:交换机/网卡
    交换机的工作原理:
    收到一个数据帧后:
  2. 首先学习帧中的源MAC地址来形成MAC地址表
  3. 检查帧中的目标MAC地址,并匹配MAC地址表 -如果表中有匹配项,则单播转发,如果表中无匹配项,则除接收端口外广播转发
  4. MAC地址表的老化时间默认为300s(可修改)

MAC地址老化:

  1. 为适应网络变化,MAC表需要不断更新
  2. MAC表中自动生成的表项(即动态MAC表项)并非永久有效,每一条表项都有一个生存周期,到达生存周期仍得不到更新的表项将被删除,这个生存周期被称为老化时间
  3. 如果达到生存周期前记录被更新,则该表项的老化时间重新计算。

四.路由

  • 为IP包选择路径的过程
  • 路由器选择路径的唯一依据就是路由表

1.路由器工作原理

  1. 一个帧到达路由,路由首先检查目标MAC地址是否是自己,如果不是则丢弃,如果是则解封装,将IP包送到路由器内部
  2. 路由器检查IP包头中的目标IP,并匹配路由表,如果匹配失败就丢弃,并向源ip回馈错误信息,如果匹配成功,则将IP包路由到出接口
  3. 封装帧,首先将出接口的MAC地址作为源MAC封装号,然后检查ARP缓存表,检查是否有下一跳的MAC地址,将提取并作为目标MAC地址封装到帧中。
  4. 如果没有,则发送ARP广播请求下跳的MAC,并获取到对方的mac地址,再记录缓存,并封装帧,最后将帧发送出去。

五.ARP协议

APR协议

  • ARP协议用于将一个已知的IP地址解析成MAC地址
    ARP缓存
 arp -a  //查看缓存arp -d  //清理缓存
1. 原理:
  1. 发送ARP广播请求
  • 主机发送信息时将包含目标IP地址的ARP请求广播到局域网上的所有主机,并接收返回消息,以此确定目标的物理地址
  • 收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源,
  • 地址解析协议是建议在网络中各个主机互相信任的基础上,局域网上的主机可以自主发送ARP应答消息
  • 其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;
  1. ARP攻击或欺骗的原理
    ARP攻击或欺骗额原理,通过发送伪造虚假 的ARP报文(广播或单播),实现攻击或者欺骗
  2. 如虚假报文的mac是伪造不存在,实现ARP攻击结果:中断通信或者断网
  3. 如虚假报文的mac是攻击者自身的mac地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量,但不中断通信!
  4. ARP协议没有验证机制,所以容易被arp投毒攻击
  5. ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒

五.ACL和安全组

  1. ACL(Access Control Lists)和安全组是两种不同的访问控制机制,通常用于控制网络访问权限
  2. ACL通常用于路由器和交换机等网络设备中,用来定义数据包的访问规则
  3. 安全组则是云计算环境(如AWS、Azure、Google Cloud等)中的概念,用于控制进出虚拟机实例或其他云资源的网络流量。
  4. 主要区别在于应用范围和控制粒度不同。ACL更底层,控制的是单个数据包的流入流出,而安全组更高级,可以看作是多个ACL规则的组合,控制的是实例级别或子网级别的访问权限

六.NAT协议

  1. NAT原理:
    通过地址转换实现私有网络和公有网络之间的互相访问
    工作过程:
  2. 当数据包从内网发往外网时候,NAT会将数据包的源IP由私王地址转换成公网地址
  3. 响应的数据包从公网返回到内网时,NAT会将数据包的目的IP从公网转为私网地址
  4. NAT主要实现公司IP地址的转换,一版是由路由器或者防火墙来完成,不建议在三层交换机上配置
  5. NAT有三大类:
  • 静态NAT:1对1映射(静态PAT,端口映射技术)
  • 动态NAT
  • PAT(端口地址转换,端口复用技术)

七.公钥和私钥

公钥和私钥是非对称加密技术的核心概念,广泛应用于加密通道,数字签名和身份验证登场景

7.1公钥(Public Key)

定义:公钥是在非对称加密系统中使用的一个密钥,可以安全公开的分发
功能:主要用于加密数据和验证数字签名,在加密过程中,公钥用于加密信息,只有对应的私钥此案解密
分发:公钥被设计成可以公开共享,通过数字证书形式发放

7.2私钥(Private Key)

定义:私钥与公钥是成对出现的密钥,应严格保密
功能:用于解密通过公钥加密的数据和生成数字签名,在数字签名的场景中,私钥用于生成签名,而公钥用于验证签名
保密性:私钥保密性是整个加密系统安全的关键

7.3加密和解密过程

非对称加密中,加密和解密过程如下:

  1. 加密过程:发送放使用接收方的公钥对消息进行加密,然后将加密后的消息发送给对方
  2. 解密过程:接收方使用自己的私钥对收到的加密消息进行解密

7.4数字签名和验证

  1. 签名过程:发送放使用自己的私钥对消息的散列进行签名,并将签名附加在消息上发送
  2. 验证过程:接收方使用发送方的公钥验证签名的真实性和消息的完整性

7.5密钥的生成合管理

  1. 密钥生成:密钥对由专门的算法生成,如RSA。ECDSA或DSA等
  2. 密钥长度:密钥的安全性语气长度成正比,通常密钥长度越长,安全性越高
  3. 密钥管理: 私钥的安全存储和管理至关重要,常用的方法包括密码保护、硬件安全模块(HSM)等

7.6加密算法和标准

  1. RSA 最常用的非对称加密算法之一,适用于加密和数字签名
  2. ECC(椭圆曲线加密: 相比于RSA,ECC在相同的密钥长度下提供更高的安全性。
  3. DSA(数字签名算法): 专门用于数字签名的非对称算法。

7.7应用场景

  1. 安全通信: 如HTTPS、SSL/TLS等协议,用于安全地传输数据。
  2. 数字签名: 用于证实信息的来源和完整性,广泛应用于软件分发、电子文档签名等
  3. 身份验证: 在多种在线服务和交易中验证用户身份。
  4. 数据加密: 用于保护敏感数据的隐私,如电子邮件加密、文件加密等。

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

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

相关文章

《自制编译器》--青木峰郎 -读书笔记 编译hello

在该书刚开始编译hello.cb时就遇到了问题。 本人用的是wsl,环境如下, 由于是64位,因此根据书中的提示,从git上下载了64位的cb编译器 cbc-64bit 问题一: 通过如下命令编译时,总是报错。 cbc -Wa,"--32" -Wl,"-…

jedis使用及注意事项

Jedis Jedis 是一个 Java 客户端,用于与 Redis 数据库进行交互。它提供了一系列简单易用的 API,使得在 Java 应用程序中使用 Redis 变得非常方便。以下是 Jedis 的使用方法及一些注意事项。 Jedis的优势 Lettuce客户端及Jedis客户端比较如下:…

浏览器执行机制

主线程 任务1,任务2 微队列微队列任务1, 微队列任务2延时队列延时队列任务1, 延时队列任务2交互队列.... 事件循环的工作原理 主线程执行同步任务: 主线程首先执行所有同步任务(即栈中的任务)。这些任务会…

Java 基础知识——part 4

8.成员方法:Java中必须通过方法才能对类和对象的属性操作;成员方法只在类的内部声明并加以实现。一般声明成员变量后再声明方法。 9.方法定义 方法的返回值是向外界输出的信息,方法类型和返回值类型同;返回值通过return返回&…

C/S软件授权注册系统(Winform+WebApi+.NET8+EFCore版)

适用软件:C/S系统、Winform桌面应用软件。 运行平台:Windows .NETCore,.NET8 开发工具:Visual Studio 2022,C#语言 数据库:Microsoft SQLServer 2012,Oracle 21c,MySQL8&#xf…

监控易 IDC 数据中心一体化智能运维平台:新质生产力的典范

一、引言 在当今数字化飞速发展的时代,IDC 数据中心作为信息产业的核心基础设施,其稳定、高效运行对于企业和社会的重要性不言而喻。随着数据量的爆炸式增长和业务复杂度的提升,传统的运维模式已难以满足需求,数据中心面临着诸多挑…

busybox学习——简单介绍

文章目录 简介官网源码目录结构构建 简介 BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任…

CTFHUB 信息泄露 备份文件下载-网站源码

根据提示应是猜测网站源码的备份文件,可以采用bp拼接文件名和后缀 开启bp抓包后设置第一个攻击点导入文件名 第二个攻击点导入后缀 开始暴力破解,有成功响应的 拼接到网站后缀后可以直接下载 解压缩后记事本的名字就是flag 总结: …

Latex 转换为 Word(使用GrindEQ )(英文转中文,毕业论文)

效果预览 第一步: 告诉chatgpt: 将latex格式中的英文翻译为中文(符号和公式不要动),给出latex格式第二步: Latex 转换为 Word(使用GrindEQ ) 视频 https://www.bilibili.com/video/BV1f242…

X射线衍射全岩分析在岩石学研究中的重要性

X射线衍射全岩分析在岩石学研究中的重要性 X射线衍射(XRD)全岩分析在岩石学研究中扮演着至关重要的角色,它是一种非破坏性的分析技术,能够提供岩石和矿物的精细结构信息。通过解析材料内部原子排列的特征,XRD不仅揭示了…

【Bolt.new + PromptCoder】三分钟还原油管主页

【Bolt.new PromptCoder】三分钟还原油管主页 PromptCoder官网:PromptCoder Bolt官网:https://bolt.new/ Bolt 是什么? Bolt.new 是一个提供创建全栈网络应用服务的平台。它允许用户通过提示(Prompt)、运行&#x…

定时/延时任务-万字解析Spring定时任务原理

文章目录 1. 概要2. EnableScheduling 注解3. Scheduled 注解4. postProcessAfterInitialization 解析4.1 createRunnable 5. 任务 Task 和子类6. ScheduledTaskRegistrar6.1 添加任务的逻辑6.2 调度器初始化6.3 调用时机 7. taskScheduler 类型7.1 ConcurrentTaskScheduler7.2…

JumpServer开源堡垒机搭建及使用

目录 一,产品介绍 二,功能介绍 三,系统架构 3.1 应用架构 3.2 组件说明 3.3 逻辑架构 3.3 逻辑架构 四,linux单机部署及方式选择 4.1 操作系统要求(JumpServer-v3系列版本) 4.1.1 数据库 4.1.3创建数据库参考 4.2 在线安装 4.2.1 环境访问 4.3 基于docker容…

ResNet网络:深度学习中的革命性架构

目录 ​编辑 引言 ResNet网络的特点 1. 残差块(Residual Block) 2. 恒等映射(Identity Mapping) 3. 深层网络训练 4. Batch Normalization 5. 全局平均池化 6. 灵活的结构 ResNet的应用案例 ResNet的研究进展 实战案例…

Node.js day-01

01.Node.js 讲解 什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码 Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来编写服务器后端…

又要考试了

一、实现无名管道练习&#xff1a;父进程写入管道&#xff0c;子进程读取管道数据。 #include<myhead.h> int main(int argc, const char *argv[]) {int fd[2];char buff[1024]"王吕阳&#xff0c;崔庆权别卷了";char s[1024];if(pipe(fd)-1){perror("pi…

LoadBalancer负载均衡和Nginx负载均衡区别理解

LoadBalancer和Nginx都是用来做负载均衡用的&#xff0c;那二者有什么区别呢&#xff1f; Nginx服务器端的负载均衡&#xff1a; 所有请求都先发到nginx&#xff0c;然后再有nginx转发从而实现负载均衡。LoadBalancer是本地的负载均衡&#xff1a; 它是本地先在调用微服务接口…

Technitium DNS Server的基本使用1(创建主区域,A记录,开启递归查询,递归到114.114.114.114)

Technitium DNS Server Technitium DNS Server搭建 搭建请看博主的上篇博客&#xff0c;内外网的方法都有 链接: 内网搭建Technitium DNS Server详细教程 登陆进去是以下界面 这个界面主要是监控&#xff0c;有访问的时候就会有波动 创建主区域&#xff0c;A记录 写上主区…

Git简介和特点

目录 一、Git简介 二、Git特点 1.集中式和分布式 (1)集中式版本控制系统 (2)分布式版本控制系统 2.版本存储方式的差异 (1)直接记录快照&#xff0c;而非差异比较 3.近乎所有操作都是本地执行 一、Git简介 Git是目前世界上最先进的的分布式控制系统&#xff08;没有之一…

CSS学习记录15

CSS下拉菜单 使用CSS创建可悬停的下拉列表。 下拉式式菜单 .dropdown类使用position:relative,当我们希望将下拉内容放置在下拉按钮的正下方(使用position:absolute)时&#xff0c;需要使用该类。 .dropdown-content 类保存实际的下拉内容。默认情况下它是隐藏的&#xff0…