一.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协议笔记相关推荐

  1. MAC、IP、ARP协议

    文章目录 1. 综述 2. MAC 3. IP 4. ARP协议 1. 综述 MAC地址是以太网的MAC子层所使用的的地址,属于数据链路层 IP地址是TCP/IP体系结构网际层所使用的地址,属于网际层 ...

  2. MAC地址、IP地址、ARP协议

    B站视频:计算机网络微课堂(有字幕无背景音乐版) 网址:https://www.bilibili.com/video/BV1c4411d7jb?p=61 说明:讲的不错,后期可以继续看此视频学习网络知 ...

  3. PPP协议和MAC地址、IP地址及ARP协议三者之间的关系(3.2)

    目录 点对点PPP协议 PPP协议封装的帧格式 PPP协议工作流程 媒体接入控制 媒体接入控制的分类 怎么解决"碰撞问题"?(随机接入方式) CSMA/CD(多址接入.载波监听.碰 ...

  4. 【计算机网络微课堂】3.7 MAC地址、IP地址以及ARP协议

    目录 MAC地址 IEEE802局域网的MAC地址格式 IEEE802局域网的MAC地址发送顺序 单播.广播.多播MAC地址 IP地址 ARP协议 MAC地址 IEEE802局域网的MAC地址格式 I ...

  5. linux下ip冲突检测 arp

    linux下ip冲突检测 ARP协议具体解释之Gratuitous ARP(免费ARP)

  6. ARP协议工作原理及ARP欺骗(中间人攻击)

    网络中的数据传输所依赖的是MAC地址而不是IP地址,ARP协议负责将IP地址转换为MAC地址 ARP协议工作原理 ARP协议规定,每台计算机都需要一个ARP表,用来保存IP地址和MAC地址的映射关系 ...

  7. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...

  8. TCP/IP详解--学习笔记(3)-IP协议,ARP协议,RARP协议

    ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息. 1.IP协议 IP协议是TCP/IP协议的 ...

  9. TCP/IP协议基本概括+ARP协议详解+DNS协议详解---Linux学习笔记

    TCP/IP协议的体系结构: TCP/IP协议族四层模型和OSI七层模型 上层协议使用下层协议的服务,下层协议给上层协议提供一个接口. 四层模型中各个层次的作用和特点 上图说明: 最底层是数据链路层, ...

最新文章

  1. 你有什么技能是公司离不开你
  2. php和python对比-PHP和Python性能比较:放弃PHP改用Python
  3. DataSnap 用TStream 传递大数据 返回流大小为-1的情况
  4. Boghe连接FreeSwitch的配置
  5. JdbcType类型和Java类型的对应关系
  6. leetcode-简单题-题序:9+13
  7. c++中BOOL和bool的区别
  8. Django中object.all
  9. ArcGIS API For JavaScript——空间查询(FindTask和IdentifyTask)
  10. html博客音乐播放器代码大全,HTML博客音乐播放器代码大全
  11. CANoe教程:CAPL编程
  12. Python之pygame安装教程
  13. 共识,权威以及去中心化的区块链
  14. Dazdata BI产品3D+BI医院综合管理应用案例
  15. 华为设备如何查看风扇的序列号?
  16. 国产深度deepin操作系统20.2.4发布
  17. Android FingerPrint之指纹识别
  18. 证件识别、驾驶证识别技术
  19. 人工智能-OpenCV+Python实现人脸识别(视频人脸检测)
  20. Python基础笔记_Day04_数据类型、math模块、random模块、string模块

热门文章

  1. windows 使用bat脚本文件,移动文件
  2. onmouseover和onmouseout事件小结
  3. TTS | 语音合成常见数据集及数据格式详情
  4. 给电子开发工程师的建议
  5. 功能测试之合理使用测试辅助工具
  6. runtime一般用法和原理
  7. 地图格子 java_地图纠偏java算法
  8. 拜个早年,产品经理要不要懂技术
  9. 红旗linux 安装教程,红旗Linux6.0SP1桌面版系统安装教程
  10. 无锡设计培训——服装设计师的工作职责