IP包头&ARP协议笔记

2023-11-20

一.IP包头分析

1.帧中的IP包头[从版本到可选项,其中2为帧头]

注:1)IP包头最小长度:20字节[即可选项以前部分,IP包头长度是可变的]

2)可选项最长可以是40个字节,故IP包头最长可以是60个字节

1.版本(4)说明是IPv4

2.首部长度:标识IP包头的长度,决定往后读取的字节数[每一个]

3.优先级与服务类型[3+ 4+1]:QOS(服务质量)       TOS(服务类型) 

优先级(低延迟服务类型,数据包不需要做任何过滤)

4.总长度:IP包的总长度(应用层数据长度+四层包头[TCP/UDP包头]+IP包头长度)

5.以下数据需要三个完整的帧来传输,所以需要复制三个帧来传输,数据合理分割,IP包头里面有一个值不一样[段偏移量,决定包头先后顺序],段偏移量只能是1480的倍数(这里),这个值用来决定包头先后顺序

6.标志(3)           1)【三个比特的第一个比特永远为0,代表没有启用;

                                2)第二个比特,只有0、1两个值。若为0,代表数据包进行了分片;若为1,代表未分片,只有一个帧,比特值小于1500。

                               3)标志位最后一位来表明本分片是否为最后一个分片(1:还有后续分片;0:最后一个分片)

7.DDOS攻击(分布式拒绝服务攻击):分布式拒绝服务攻击方式在进行攻击的时候,可以对源IP地址进行伪造,这样就使得这种攻击在发生的时候隐蔽性是非常好的,同时要对攻击进行检测也是非常困难的,因此这种攻击方式也成为了非常难以防范的攻击。

8.IP分片在网络层完成,三层分片;但现在IP分片一般不会在网络层,在应用层分片;一般010标志不能通过防火墙

9.标识符:用来标识同一个数据报文的所有分片,同一个数据报文里面的所有分片的标识符是一致的。

10.TTL(生存时间):1)取值范围:0-255

                                     2)通过TTL初始值可以判断对方主机(windows>100/linux<100)

                                     3)每经过一个网关(路由器)TTL值减1,直到TTL值为0

                                      4)作用:防止数据包在网络上永久循环下去

                                       5)网关的TTL值255,代表网络设备,linux系统

11.协议号(8): 识别协议号:     6:往TCP 走         17:往UDP走       1:往同层的ICMP协议走

88:IGMP(网关选择协议)

12.首部校验和:只校验20-60个字节部分

13.源地址:即源IP地址    每个IP地址由32位二进制,MAC地址48位

二.路由原理

1.路由(路由器为IP包选择路径的过程):跨越从源主机到目标主机的一个互联网络来转发数据包的过程

2.路由表:C代表直连    S代表静态(静态路由即手工写路由)

S* 0.0.0.0/0:默认路由

管理距离值:1)直连路由C默认管理距离值:0         2)静态路由S:1       3)S*:无穷

管理距离值越大,优先级越小

优化路由表条目:

3.路由条目类型:直连路由,静态路由,默认路由,浮动路由

4.静态路由和默认路由的配置:

1)静态路由的配制Router(config)#ip route 目标网段 子网掩码  下一跳IP

eg:ip route 70.1.1.0 255.255.255.0 20.1.1.2(命令回车即形成S开头的路由条目)

2)默认路由的配置:Router(config)#ip route 0.0.0.0  0.0.0.0 address

eg:ip route 0.0.0.0   0.0.0.0   20.1.1.2

3)浮动路由:在静态或默认路由后加空格+数字

eg:ip route 0.0.0.0  0.0.0.0  20.1.1.2

       ip route 0.0.0.0   0.0.0.0  30.1.1.1  2

两个无穷大比较,上面可以看成1无穷大,下面为2无穷大,下面的优先级更低

三.ARP协议

1.

注:广播域越小越好

2.交换机不能隔离广播域,路由器可以控制广播域

3.ARP:地址解析协议,将一个已知的IP地址解析成MAC地址(工作在三层

4.原理:发送ARP广播请求---接收ARP单播应答

5.ARP范围:内网协议,在同一局域网内工作

6.windows中的ARP命令:

7.ARP欺骗原理/ARP攻击原理:捏造ARP应答报文(广播或单播),识别后到的应答,可一直捏造报文[中断通信/断网]

1.如虚假报文中的MAC地址不存在,实现ARP攻击,结果为中断通信或断网

2.如虚假的MAC地址是监听者自己的,实现APR欺骗,结果可以监听、窃取、篡改、控制流量,但不中断通信

3.ARP协议没有验证机制

8.当发现目标IP与自己不在同一网段,也会发送ARP广播请求,但报文里问的不是外网的网段的MAC地址,而是问网关的IP,网关应答其MAC地址,学习到以后,在送往外网数据的帧头加上网关MAC地址送到交换机上,交换机识别到后,把数据送到网关。【广播请求也可以攻击】

9.交换机只认MAC地址,不认IP。如果ARP欺骗用自己的MAC地址替代他人的,可以截获别人聊天内容A—>B     A—>C—>B

10.ARP欺骗主机图示

11.路由器的接口是空的,不能配IP,故没有·MAC地址。(可以配IP的接口才有MAC地址)

PC也没有MAC地址表,只有交换机有MAC地址表

12.路由器工作原理:

1)当一个五层帧到达路由器后,路由器首先检查帧头的目标MAC地址是不是自己,如果是,解封装,将IP包输送到路由器内部去,

2)路由器检查目标IP,并匹配路由表,若匹配失败,则丢弃,并向源IP回馈错误信息;若目标IP在路由表里面有,则路由转发,则将IP包路由到出接口

3)封装帧,以输出接口的MAC地址作为源MAC地址封装好,检查自己的ARP缓存表有没有下一跳的IP地址,如果有,将提取并作为目标MAC地址封装到帧中,如果没有,向下一跳发送ARP广播请求下一跳的MAC,并获取到对方的MAC地址,再记录缓存,并封装帧,最后将帧发送出去

 四.ARP实验原理:

1.arp -a:查看arp缓存表                    arp -d:清空arp缓存表     arp -s IP MAC地址:静态绑定

2.网络攻击软件:cain(自带抓包功能)

五.ARP攻击防御

1.静态ARP绑定(静态ARP优先级高于动态的):手工绑定/双向绑定

2.ARP防火墙:开防火墙后,自动绑定真正网关,就知道了真正的网关(看谁给网关发包的速度快)

                         自动绑定静态ARP

                         主动防御

3. 硬件级防御:

交换机支持端口做动态ARP绑定(配合DHCP服务器)

或做静态ARP绑定:如conf t

                                  ip dhcp snooping

                                   int range f0/1 -48(一组端口)

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IP包头&ARP协议笔记 的相关文章

  • go 进阶 gin实战相关: 五. gin_scaffold 企业脚手架

    目录 一 gin scaffold 企业级脚手架 二 gin scaffold 脚手架安装及使用演示 文件分层解释 开始使用 1 配置开启go mod 功能 2 下载 安装 gin scaffold 3 整合 golang common 4
  • 原生js php ajax,原生Ajax怎么写

    写原生Ajax的方法 首先创建XMLHttpRequest对象 然后编写回调函数onreadystatechange 接着配置请求信息 最后发送请求即可 Ajax Asynchronous JavaScript and XML的缩写 是一种

随机推荐

  • C#使用NuGet包播放视频之二————读取RTSP流

    RTSP流的读取 上篇文章做到读取本地摄像头 基本事都做完了 这篇文章将RTSP流加进去 双击窗体中ToolStrip的RTSP 为之添加事件 事件中编写代码如下
  • Yii2框架(一)安装及目录结构

    如题 对 你要相信自己的眼睛 你没看错确实是Yii2框架 现在都2020年了 刚刚开始折腾Yii2框架难免有些过时 但是没办法 公司目前的项目是基于Yii2开发的 嘿 你说怎么这么巧 我还没用过Yii2框架 没办法 看手册呗 这玩意 万变不
  • Vue2运行报错SyntaxError: Cannot use import statement outside a module

    问题描述 像配置vue3那样配置vue config js的路径代理 代替src后 报错 语法错误 不能在模块外部使用导入语句 原因 模块语法一个是CommonJS module 一个是 ES6 module vue config js里的
  • Google Voice账号的具体保号教程

    Google Voice 官方号码回收规则 https www google com intl zh CN googlevoice program policies html 在9个月内你的Google Voice没拔打电话或接收短信 你的
  • Hbase使用shell命令报错大集锦:

    一 Hbase使用shell命令出现报错 PleaseHoldException Master is initializing 解决办法 0 保证hbase运行着的 1 删除HDFS里hbase文件夹 hdfs dfs rm r hbase
  • 蓝牙BLE连接设备报错onClientConnectionState() - status=133解决方法

    S905平台 Android 5 1 1 WIFI 蓝牙芯片AP6255 客户某蓝牙设备使用他们专用的APK连接不上 查logcat信息如下 D BluetoothAdapter 5097 stopLeScan D BluetoothAda
  • Arduino智能小车随笔(一)

    Arduino智能小车随笔 一 看到小孩的各种STEM课程很火 收费又老贵 就想着不如自己和小孩一起学着做个arduino智能小车 即能让女儿学点编程 又能省了智商税 一举两得 然而到了后面女儿基本上只帮我接线 arduBlock实在无法支
  • ZooKeeper踩坑

    一 下载安装包时要下载文件名中带有bin的安装包 否则会报错 找不到或无法加载主类 org apache zookeeper server quorum QuorumPeerMain Error contacting service 这是由
  • Alluxio集群环境搭建,救救孩子!

    写在前面 最近的一段时间内我会做HDFS Alluxio HBase相关的开发工作 我会继续学习并分享不限于这些组件的知识 正常来说 搭建个集群环境根本不需要专门写个文章 但是这次我必须写 顺带必须小吐槽一下 Alluxio官方文档搭建集群
  • python程序填空题 快乐的数字_Python习题之快乐的数字

    快乐的数字 描述 编写一个算法来确定一个数字是否 快乐 快乐的数字按照如下方式确定 从一个正整数开始 用其每位数的平方之和取代该数 并重复这个过程 直到最后数字要么收敛等于1且一直等于1 要么将无休止地循环下去且最终不会收敛等于1 能够最终
  • Spring Boot整合ElasticSearch

    一 ES客户端 ES提供多种不同的客户端 1 TransportClient ES提供的传统客户端 官方计划8 0版本删除此客户端 2 RestClient RestClient是官方推荐使用的 它包括两种 REST Low Level C
  • vs+qt新建ui项目

    新建项目入门参考教程 新建项目入门参考教程 手动调整UI及程序编写 手动调整UI及程序编写 Qss基础 Qt part 6 QSS Qt样式表 界面美化1 Qt part 7 QSS参考样式表 界面美化2 Qt part 8 QSS 按键菜
  • ArcGIS中KML/KMZ转为.shp文件

    kml kmz到 gt layer到 gt shp 1 打开ArcMap gt ArcToolbox 2 在ArcToolbox中选择 转换工具 gt 由KML转出 gt KML转图层 3 在 KML转图层 的弹出框中 选择并导入KML文件
  • numpy基本矩阵操作

    矩阵乘法 numpy当中常用的矩阵乘法有两种 numpy dot和numpy matmul 当对象是2D矩阵的时候 这两个函数都是进行最正常的矩阵乘法 import numpy as np a np array 1 2 3 4 b np a
  • java-ipfs-api.jar的食用方法

    引入java ipfs api jar 从仓库引入 在pom xml中添加仓库
  • 微信小程序实现车牌号键盘

  • Adobe软件还行吗?

    前段时间 美国政府 准备通过诉讼阻止Adobe去年公布的 以200亿美元收购Figma的交易 理由是此举属于反竞争行为 新闻一出 Adobe股价旋即下跌 但跌幅并不像2022年刚公布这笔交易时那么迅猛 看起来 相较于收购成功 投资者们反而希
  • gzip模块配置指令

    1 gzip指令 该指令用于开启或者关闭gzip功能 语法 gzip on off 默认值 gzip off 位置 http server location 注意只有该指令为打开状态 下面的指令才有效果 http gzip on 2 gzi
  • Python学习:random模块下的choices()函数详解

    1 random choice seq 函数 从非空序列中随机选取一个数据并返回 该序列可以是list tuple str set 举例 import random print random choice choice 结果 choice其
  • IP包头&ARP协议笔记

    一 IP包头分析 1 帧中的IP包头 从版本到可选项 其中2为帧头 注 1 IP包头最小长度 20字节 即可选项以前部分 IP包头长度是可变的 2 可选项最长可以是40个字节 故IP包头最长可以是60个字节 1 版本 4 说明是IPv4 2