IP包头ARP协议笔记
一.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(一组端口)
IP包头ARP协议笔记相关推荐
- MAC、IP、ARP协议
文章目录 1. 综述 2. MAC 3. IP 4. ARP协议 1. 综述 MAC地址是以太网的MAC子层所使用的的地址,属于数据链路层 IP地址是TCP/IP体系结构网际层所使用的地址,属于网际层 ...
- MAC地址、IP地址、ARP协议
B站视频:计算机网络微课堂(有字幕无背景音乐版) 网址:https://www.bilibili.com/video/BV1c4411d7jb?p=61 说明:讲的不错,后期可以继续看此视频学习网络知 ...
- PPP协议和MAC地址、IP地址及ARP协议三者之间的关系(3.2)
目录 点对点PPP协议 PPP协议封装的帧格式 PPP协议工作流程 媒体接入控制 媒体接入控制的分类 怎么解决"碰撞问题"?(随机接入方式) CSMA/CD(多址接入.载波监听.碰 ...
- 【计算机网络微课堂】3.7 MAC地址、IP地址以及ARP协议
目录 MAC地址 IEEE802局域网的MAC地址格式 IEEE802局域网的MAC地址发送顺序 单播.广播.多播MAC地址 IP地址 ARP协议 MAC地址 IEEE802局域网的MAC地址格式 I ...
- linux下ip冲突检测 arp
linux下ip冲突检测 ARP协议具体解释之Gratuitous ARP(免费ARP)
- ARP协议工作原理及ARP欺骗(中间人攻击)
网络中的数据传输所依赖的是MAC地址而不是IP地址,ARP协议负责将IP地址转换为MAC地址 ARP协议工作原理 ARP协议规定,每台计算机都需要一个ARP表,用来保存IP地址和MAC地址的映射关系 ...
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...
- TCP/IP详解--学习笔记(3)-IP协议,ARP协议,RARP协议
ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息. 1.IP协议 IP协议是TCP/IP协议的 ...
- TCP/IP协议基本概括+ARP协议详解+DNS协议详解---Linux学习笔记
TCP/IP协议的体系结构: TCP/IP协议族四层模型和OSI七层模型 上层协议使用下层协议的服务,下层协议给上层协议提供一个接口. 四层模型中各个层次的作用和特点 上图说明: 最底层是数据链路层, ...
最新文章
- 你有什么技能是公司离不开你
- php和python对比-PHP和Python性能比较:放弃PHP改用Python
- DataSnap 用TStream 传递大数据 返回流大小为-1的情况
- Boghe连接FreeSwitch的配置
- JdbcType类型和Java类型的对应关系
- leetcode-简单题-题序:9+13
- c++中BOOL和bool的区别
- Django中object.all
- ArcGIS API For JavaScript——空间查询(FindTask和IdentifyTask)
- html博客音乐播放器代码大全,HTML博客音乐播放器代码大全
- CANoe教程:CAPL编程
- Python之pygame安装教程
- 共识,权威以及去中心化的区块链
- Dazdata BI产品3D+BI医院综合管理应用案例
- 华为设备如何查看风扇的序列号?
- 国产深度deepin操作系统20.2.4发布
- Android FingerPrint之指纹识别
- 证件识别、驾驶证识别技术
- 人工智能-OpenCV+Python实现人脸识别(视频人脸检测)
- Python基础笔记_Day04_数据类型、math模块、random模块、string模块