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

网络安全 Day19-计算机网络基础知识04(网络协议)

计算机网络基础知识04(网络协议)

  • 1. ARP
    • 1.1 ARP通讯原理
    • 1.2 arp欺骗
    • 1.3 ARP欺骗与预防
    • 1.4 排查ARP病毒
  • 2. DHCP工作原理(自动分配内网IP)
  • 3. TCP协议三次握手、四次挥手原理
  • 4. DNS协议工作原理

1. ARP

  • Linux查看arp:arp -a
  • 局域网内主机的通讯方式是通过MAC地址来实现的
  • 告诉MAC地址如何查找物理记得位置
    • 员工入职记录网卡MAC地址
    • 工位网线接口上联交换机端口,用交换机查看

1.1 ARP通讯原理

  • 刚连接上网络时的电脑和交换机情况
    在这里插入图片描述
  • 当PC1开始发出数据传输PC7请求时(请求内容:PC1deIP PC1的MAC地址 ??? PC7的IP地址)
    在这里插入图片描述
  • 交换机进行广播,广播内容中的IP如果是PC7,相应的机器不会接收其内容,如果是则接收。同时在MAC表上临时记录PC1的MAC地址
    在这里插入图片描述
  • PC7再返回信息给PC1同时PC1也记住了PC7的MAC地址,下次通信的时候就不用再次广播通知PC2-PC8了
    在这里插入图片描述

1.2 arp欺骗

  • 原理
    • 通过arp缓存表的缺陷,经过一次连接后,所有地址存在内存中。
    • 一台机器中arp毒后修改其他机器的ARP表中的解析记录,修改其他机器的ARP表中的MAC地址为病毒机器MAC
    • 主机A发数据包的时候,不会ARP广播了,因为直接读APR表信息进行封包,源地址:10.0.0.3 主机A MAC 目的地址: 10.0.0.254 病毒机器MAC,发到网络里。
  • 图示
    • 没中病毒时
      在这里插入图片描述
    • 中ARP病毒时,ARP表就会被修改从而连接的MAC地址就会改变就连接到和黑客机器。
      在这里插入图片描述

1.3 ARP欺骗与预防

  1. 手工绑定IP和MAC(麻烦)
    1. 手工绑定IP和MAC:arp -s ip地址 mac地址
    2. 绑定之后不会查找缓存表,而是直接绑定
  2. Windows安装防火墙

1.4 排查ARP病毒

  1. 找网关正确的IP和MAC(假设IP10.0.0.254 MAC00:xx)
  2. 去网络异常机器上arp -a,看10.0.0.254的MAC是否正确
  3. 如果不一样杀毒重装系统

2. DHCP工作原理(自动分配内网IP)

在这里插入图片描述

3. TCP协议三次握手、四次挥手原理

  • 原理
    在这里插入图片描述
  • ack(acknowledgement):是在网络通信中确认收到数据包的消息
  • seq(sequence number):用于标识排序数据包,确保按照正确顺序进行传输

4. DNS协议工作原理

  • 工作原理图
    请添加图片描述
  • DNS:主要作用是可以将域名解析为IP
  • DNS原理:就不口述了画图了
  • DNS具体能做的事
    名字作用
    A 记录www.oldboy.me—>1.1.1.1
    CNAME常被CDN网站加速服务商应用
    MX解析记录49000448@qq.com 搭建邮件服务
    PTR反向解析1.1.1.1 —>www.oldboy.me 邮件服务
    • CDN(Content Delivery Network)
      • 介绍:内容分发网络,用于王文网站的时候加速访问速度和减轻源服务器的负载
      • 简单工作原理
        • 静态缓存:将静态缓存内容(图片、CSS、JavaScript等)存放在分布世界各地的服务器上,如果需要访问源服务器上的静态内容,就直接访问本地服务器就行。
        • 就近访问:他们通常位于网络骨干节点的大数据中心。
        • 负载均衡、动态内容加速
  • 用Linux追踪DNS解析过程
    • 命令:dig @8.8.8.8 www.baidu.com +trace
      • @8888:常用的DNS解析服务器
      • +trace:命令的选项,从根查看DNS的解析路径
    • 结果
      [root@oldboytraining ~] dig @8.8.8.8 www.baidu.com +trace; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @8.8.8.8 www.baidu.com +trace
      ; (1 server found)
      ;; global options: +cmd
      .                       12529   IN      NS      l.root-servers.net.
      .                       12529   IN      NS      c.root-servers.net.
      .                       12529   IN      NS      k.root-servers.net.
      .                       12529   IN      NS      b.root-servers.net.
      .                       12529   IN      NS      d.root-servers.net.
      .                       12529   IN      NS      h.root-servers.net.
      .                       12529   IN      NS      g.root-servers.net.
      .                       12529   IN      NS      f.root-servers.net.
      .                       12529   IN      NS      a.root-servers.net.
      .                       12529   IN      NS      j.root-servers.net.
      .                       12529   IN      NS      e.root-servers.net.
      .                       12529   IN      NS      i.root-servers.net.
      .                       12529   IN      NS      m.root-servers.net.
      ;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 18068 mscom.                    172800  IN      NS      j.gtld-servers.net.
      com.                    172800  IN      NS      i.gtld-servers.net.
      com.                    172800  IN      NS      l.gtld-servers.net.
      com.                    172800  IN      NS      d.gtld-servers.net.
      com.                    172800  IN      NS      k.gtld-servers.net.
      com.                    172800  IN      NS      h.gtld-servers.net.
      com.                    172800  IN      NS      e.gtld-servers.net.
      com.                    172800  IN      NS      m.gtld-servers.net.
      com.                    172800  IN      NS      c.gtld-servers.net.
      com.                    172800  IN      NS      f.gtld-servers.net.
      com.                    172800  IN      NS      g.gtld-servers.net.
      com.                    172800  IN      NS      b.gtld-servers.net.
      com.                    172800  IN      NS      a.gtld-servers.net.
      ;; Received 503 bytes from 192.33.4.12#53(192.33.4.12) in 19425 msbaidu.com.              172800  IN      NS      dns.baidu.com.
      baidu.com.              172800  IN      NS      ns2.baidu.com.
      baidu.com.              172800  IN      NS      ns3.baidu.com.
      baidu.com.              172800  IN      NS      ns4.baidu.com.
      baidu.com.              172800  IN      NS      ns7.baidu.com.
      ;; Received 201 bytes from 192.12.94.30#53(192.12.94.30) in 322 mswww.baidu.com.          1200    IN      CNAME   www.a.shifen.com.
      a.shifen.com.           1200    IN      NS      ns1.a.shifen.com.
      a.shifen.com.           1200    IN      NS      ns3.a.shifen.com.
      a.shifen.com.           1200    IN      NS      ns2.a.shifen.com.
      a.shifen.com.           1200    IN      NS      ns5.a.shifen.com.
      a.shifen.com.           1200    IN      NS      ns4.a.shifen.com.
      ;; Received 228 bytes from 119.75.219.82#53(119.75.219.82) in 16 ms
      

相关文章:

网络安全 Day19-计算机网络基础知识04(网络协议)

计算机网络基础知识04&#xff08;网络协议&#xff09; 1. ARP1.1 ARP通讯原理1.2 arp欺骗1.3 ARP欺骗与预防1.4 排查ARP病毒 2. DHCP工作原理&#xff08;自动分配内网IP&#xff09;3. TCP协议三次握手、四次挥手原理4. DNS协议工作原理 1. ARP Linux查看arp&#xff1a;ar…...

Verilog语法学习——LV5_位拆分与运算

LV5_位拆分与运算 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 题目描述&#xff1a; 现在输入了一个压缩的16位数据&#xff0c;其实际上包含了四个数据…...

❤️创意网页:创意动态画布~缤纷移动涂鸦~图片彩色打码

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…...

数值分析第六章节 用Python实现解线性方程组的迭代法

参考书籍&#xff1a;数值分析 第五版 李庆杨 王能超 易大义编 第5章 解线性方程组的迭代法 文章声明&#xff1a;如有发现错误&#xff0c;欢迎批评指正 文章目录 迭代法的基本概念雅可比迭代法与高斯-塞格尔迭代法雅可比迭代法高斯-塞格尔迭代法 迭代法的基本概念 6.1.1引言…...

【低代码专题方案】使用iPaaS平台下发数据,快捷集成MDM类型系统

01 场景背景 伴随着企业信息化建设日趋完善化、体系化&#xff0c;使用的应用系统越来越多&#xff0c;业务发展中沉淀了大量数据。主数据作为数据治理中枢&#xff0c;保存大量标准数据库&#xff0c;如何把庞大的数据下发到各个业务系统成了很棘手的问题。 传统的数据下发方…...

驱动开发 day3 (模块化驱动启动led,蜂鸣器,风扇,震动马达)

模块化驱动启动led,蜂鸣器,风扇,震动马达并加上Makefile 封装模块化驱动&#xff0c;可自由安装卸载驱动&#xff0c;便于驱动更新(附图) 1.安装模块驱动同时初始化各个设备并使能 2.该驱动会自动创建驱动节点. 3.通过c函数程序输入控制各个设备 4.卸载模块驱动 //编译驱动…...

数据结构与算法基础-学习-27-图之最短路径之Dijkstra(迪杰斯特拉)算法

一、最短路径应用案例 例如从北京到上海旅游&#xff0c;有多条路可以到目的地&#xff0c;哪条路线最短&#xff0c;哪条路线最省钱&#xff0c;就是典型的最短路径问题。 二、最短路径问题分类 最短路径问题可以分为两类&#xff0c;第一类为&#xff1a;两点间最短路径。第…...

Windows Server 2012 能使用的playwright版本

由于在harkua_bot里面使用到了playwright&#xff0c;我的服务器又是Windows Server 2012 R2&#xff0c;最新版playwright不支持Windows Server 2012 R2&#xff0c;支持Windows Server 2016以上&#xff0c;所以有了这个需求 https://cdn.npmmirror.com/binaries/playwright…...

css实现溢出变为省略号

单行文本溢出省略 text-overflow&#xff1a;规定当文本溢出时&#xff0c;显示省略符号来代表被修剪的文本 white-space&#xff1a;设置文字在一行显示&#xff0c;不能换行 overflow&#xff1a;文字长度超出限定宽度&#xff0c;则隐藏超出的内容overflow设为hidden&#…...

nginx如何配置两个服务器的连接

nginx 中通过server_name listen的方式配置多个服务器 nginx配置两个站点的windows操作方法&#xff0c;双域名双站点...

Linux环境Arduino IDE中配置ATOM S3

linux选择ubuntu发行版。 硬件设备有多小呢&#xff1a; 功能超级强大。 之前的ROS1和ROS2案例已经全部移植完成并测试结束&#xff08;三轮纯人力校验&#x1f60e;&#xff09;。 官网文档信息非常非常好&#xff1a; https://docs.m5stack.com/zh_CN/quick_start/atoms3…...

【C#】.Net Framework框架下的Authorize权限类

2023年&#xff0c;第31周&#xff0c;第3篇文章。给自己一个目标&#xff0c;然后坚持总会有收货&#xff0c;不信你试试&#xff01; 在C#的.NET Framework中&#xff0c;你可以使用Authorize类来处理权限认证。Authorize类位于System.Web.Mvc命名空间中&#xff0c;它提供了…...

C++ list底层实现原理

文章目录 一、list底层实现二、类构成三、构造函数四、迭代器五、获取第一个元素六、获取最后一个元素七、插入元素 一句话&#xff1a;list底层实现一个双向循环链表 一、list底层实现 一个双向循环链表 二、类构成 class list : protected_List_base_list_base.lsit_impl…...

C#实现数字验证码

开发环境&#xff1a;VS2019&#xff0c;.NET Core 3.1&#xff0c;ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和Check&#xff0c;Create用于创建验证码&#xff0c;Check用于验证它是否有效。 声明一个静态类变量存放列表&#xff0c;列表中存放包含令…...

Git的常用命令以及使用场景

文章目录 1.前言2.工作区,暂存区,版本库简介3.Git的常用命令4.版本回退5.撤销修改6.删除文件7.总结 1.前言 在学习Git命令之前,需要先了解工作区,暂存区和版本库这三个概念 2.工作区,暂存区,版本库简介 在使用Git进行版本控制时&#xff0c;有三个重要的概念&#xff1a;工作…...

tcp keepalive

tcp keepalive用于检查两者之间的链路是否正常&#xff0c;或防止链路断开。 一旦建立了TCP连接&#xff0c;该连接被定义为有效&#xff0c;直到一方关闭它。一旦连接进入连接状态&#xff0c;它将无限期地保持连接状态。但实际上&#xff0c;这种联系不会无限期地持续下去。如…...

PP-Matting: AI高精度图像前景Matting,让抠图轻而易举

分割和Matting的一个重要区别是:分割返回的是像素分类标签,其结果是整型数据;而Matting返回的是属于前景或背景的概率P,从而在前景与背景交互区域产生渐变的效果,使得抠图更加自然。Matting分割模型训练完成后,对于原始图像每个位置上的像素,都将生成一个表示其前景透明…...

VUE3-01

1.选项式和组合式 选项式API&#xff1a;按照作用组织代码 组合式API&#xff1a;按照功能组织代码 2.<script setup> <template><div class"about"><h1>{{name}}</h1><button click"sayHello">测试</button>…...

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)

说明&#xff1a;如果实现了docker部署mysql并完成主从复制的话再继续&#xff0c;本篇文章主要说明springboot配置实现Shardingjdbc进行读写分离操作。 如果没实现docker部署mysql实现主从架构的话点击我 Shardingjdbc配置介绍&#xff08;版本&#xff1a;5.3.2&#xff09;…...

Python 进阶(四):日期和时间(time、datetime、calendar 模块)

❤️ 博客主页&#xff1a;水滴技术 &#x1f338; 订阅专栏&#xff1a;Python 入门核心技术 &#x1f680; 支持水滴&#xff1a;点赞&#x1f44d; 收藏⭐ 留言&#x1f4ac; 文章目录 1. time模块1.1 获取当前时间1.2 时间休眠1.3 格式化时间 2. datetime模块2.1 获取当前…...

Transformer背景介绍

目录 Transformer的诞生Transformer的优势Transformer的市场 Transformer的诞生 论文地址 Transformer的优势 Transformer的市场...

深入理解BeanDefinition和Spring Beans

深入理解BeanDefinition和Spring Beans 引言 在Spring框架中&#xff0c;BeanDefinition和Spring Beans是非常重要的概念。BeanDefinition定义了Spring Bean的元数据&#xff0c;而Spring Beans是应用程序中的对象实例。理解BeanDefinition和Spring Beans的概念和使用方法对于…...

实验六 调度器-实验部分

目录 一、知识点 1.进程调度器设计的目标 1.1.进程的生命周期 1.2.用户进程创建与内核进程创建 1.3.进程调度器的设计目标 2.ucore 调度器框架 2.1.调度初始化 2.2.调度过程 2.2.1.调度整体流程 2.2.2.设计考虑要点 2.2.3.数据结构 2.2.4.调度框架应与调度算法无关…...

基于飞桨paddle波士顿房价预测练习模型测试代码

基于飞桨paddle波士顿房价预测练习模型测试代码 导入基础库 #paddle&#xff1a;飞桨的主库&#xff0c;paddle 根目录下保留了常用API的别名&#xff0c;当前包括&#xff1a;paddle.tensor、paddle.framework、paddle.device目录下的所有API&#xff1b; import paddle #Lin…...

只会“点点点”,凭什么让开发看的起你?

众所周知&#xff0c;如今无论是大厂还是中小厂&#xff0c;自动化测试基本是标配了&#xff0c;毕竟像双 11、618 这种活动中庞大繁杂的系统&#xff0c;以及多端发布、多版本、机型发布等需求&#xff0c;但只会“写一些自动化脚本”很难胜任。这一点在招聘要求中就能看出来。…...

35.图片幻灯片

图片幻灯片 html部分 <div class"carousel"><div class"image-container"><img src"./static/20180529205331_yhGyf.jpeg" alt"" srcset""><img src"./static/20190214214253_hsjqw.webp"…...

CentOS7系统Nvidia Docker容器基于TensorFlow2.12测试GPU

CentOS7系统Nvidia Docker容器基于TensorFlow1.15测试GPU 参考我的另一篇博客 1. 安装NVIDIA-Docker的Tensorflow2.12.0版本 1. 版本依赖对应关系&#xff1a;从源代码构建 | TensorFlow GPU 版本Python 版本编译器构建工具cuDNNCUDAtensorflow-2.6.03.6-3.9GCC 7.3.1Ba…...

Go 下载安装教程

1. 下载地址&#xff1a;The Go Programming Language (google.cn) 2. 下载安装包 3. 安装 &#xff08;1&#xff09;下一步 &#xff08;2&#xff09;同意 &#xff08;3&#xff09;修改安装路径&#xff0c;如果不修改&#xff0c;直接下一步 更改后&#xff0c;点击下一…...

InnoDB数据存储结构

一. InnoDB的数据存储结构&#xff1a;页 索引是在存储引擎中实现的&#xff0c;MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同存储引擎中存放的格式一般不同的&#xff0c;甚至有的存储引擎比如Memory都不用磁盘来存储数据&#xff0c;这里讲讲InooDB存储引擎…...

基于ts的浏览器缓存工具封装(含源码)

cache.ts缓存工具 浏览器缓存工具封装实现使用方法示例代码 浏览器缓存工具封装 在前端开发中&#xff0c;经常会遇到需要缓存数据的情况&#xff0c;例如保存用户的登录状态、缓存部分页面数据等 但有时候需要缓存一些复杂的对象&#xff0c;例如用户信息对象、设置配置等。…...