提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、ARP
    • 1.ARP功能
    • 2.ARP数据包格式
  • 二、IP协议
    • 1.IP数据报
    • 2.针对IP分片的攻击思路
    • 3.IP数据包过滤器
    • 4.针对IP数据包过滤器的攻击
  • 总结

前言

本文根据网络分层,对ARP和IP协议进行安全分析。


一、ARP

ARP是数据链路层的协议,执行32位IP地址和48位MAC地址的转换。

1.ARP功能

从数据包的角度,可以分为以下步骤:

  1. 主机 A 希望与主机B通信,但是只知道主机B的IP地址。
  2. 主机A广播主机B的IP地址的ARP请求。
  3. 所有本局域网内的主机都能收到这个广播包。
  4. 只有主机B回复此包,携带上自己的MAC地址。
  5. 主机A将B的IP地址和MAC地址的对应关系添加到自己的ARP缓存中。
  6. 主机A构造对B的数据包。
    ARP缓存表的功能:通过 ARP 缓存,降低了网络流量的使用,在一定程度上防止了 ARP 的大量广播。
    主机A的ARP缓存表更新情况:若收到应答包,目的mac地址是硬件广播地址或是者本机网卡地址,无论目的IP是不是本机网卡IP,只要缓存表中已经存在对应的ARP条目,且与收到的应答条目不一致,那么就要更新该条目。若缓存表中没有存在该条目,那么则忽略该应答。
    同时,ARP缓存表的条目是有时效性的,一定时间之后就会过期,这点符合逻辑,因为IP地址和MAC地址不是一直绑定的。
    这里存在攻击漏洞:若是别人不停的发arp包,主机A需要缓存,导致网络连接失败。

2.ARP数据包格式

以太网帧数据域部分最小为46字节,也就是以太网帧最小是 6 + 6 + 2 + 46 + 4 = 64。

二、IP协议

1.IP数据报


Ident标识,flags标志和fragment offset片偏移【两个字节,3位,13位】:一起用于数据包的分片和重组【也是针对IP协议发起攻击的主要利用的字段】
IDENT: 也即identifier,用于标识IP报文段的唯一标识符;具有同一IDENT的片段属于同一个IP报文;
FRAGMENT OFFSET: 简称FO,指明当前片段在原始完整的IP报文中的位置(偏移)。该偏移的单位是8个字节。
FLAGS: bit 0:保留;bit 1:不分片;bit 2:更多分片。如果此位是1,那么说明不是最后一个分片,如果是0,说明是最后一个分片。
接受方接受到IP分片后,会在目的主机上重组,而不是路由器重组。

2.针对IP分片的攻击思路

  1. DoS: 思路:攻击者构造两个分片,第一个分片的偏移为0;第二个分片的偏移是64800。因为IP分片可以乱序到达,所以接收方会等待其他分片;同时会为其他分片分配内存空间。相当于一个数据包会使用64K的内存。而且这段空间会持续保留15~255秒。这样,很快会耗尽主机的内存空间,造成DoS。
  2. TearDrop攻击的原理,在于构造两个分片。其中,第二个分片完全包含在第一个分片中。也即,第二个分片的FO大于第一个分片的FO,但是第二个分片的FO+ Len,都小于第一个分片最后一个字节的位置,也即第一个分片的FO+len。同时,这种攻击的成功,依赖于一种当分片发生重叠时,重组的方法。如果接收主机的实现中选择在发生重叠时,使用第一个分片来覆盖第二个分片的重叠内容,那么TearDrop攻击就能够成功。

3.IP数据包过滤器

片段过滤方法:将跟踪将过滤规则应用于第一个分片(FO = = 0),并将对第一个分片的结果应用于同一个数据包的后续分片。过滤模块将维护由源地址、目的地址,协议和IP ID索引的分组列表。当看到初始(FO = = 0)片段时,如果设置了MF位,则将分配列表项以保存过滤器访问检查的结果。当具有非零FO的数据包进入时,使用匹配的SA/DA/PROT /ID查找list元素并应用存储的结果(pass或block)。当看到具有零MF位的片段时,释放列表。

4.针对IP数据包过滤器的攻击

微小碎片攻击:通过许多IP实现,可以在发出数据包上形成异常小的片段大小。如果片段大小足够小以迫使某些TCP数据包的TCP头字段进入第二个片段,则指定这些字段的模式的过滤规则将不匹配。如果过滤实现没有强制执行最小片段大小,则可能会通过不允许的数据包,因为它在过滤器中没有得到匹配。
重叠碎片攻击:给定这样的重组实现,攻击者可以构造一系列数据包,其中,最低(零偏移)片段将包含无害数据(从而通过管理数据包过滤器传递),并且其中一些后续数据包具有非零offset会重叠TCP头信息(例如目标端口)并导致它被修改。第二个数据包将被通过大多数的过滤器通过,因为它没有零片段偏移量。


总结

以上是针对课程中ARP和IP协议的相关内容,经过一定的整理,稍微理清了之前老师讲的内容。

网络安全:ARP和IP协议相关推荐

  1. wireshark——APR协议IP协议

    文章目录 APR协议 分析APR数据包 分析APR请求数据包 分析APR响应数据包 分析免费ARP数据包 IP协议 wireshark分析捕获文件的存活时间TTL和IP分片 捕获IP数据包方法 RFC ...

  2. 苹果电脑用不用TCP/IP协议?

    文章目录 一.从一道题开始: 二.AppleTalk是什么? 一.从一道题开始: 这道题的答案选择A,现在,你在市面上几乎找不到一款不支持TCP/IP的操作系统了, 所以 Windows和MacOS都 ...

  3. 计算机网络基础(三次握手|TCP/IP协议|五层协议栈|网络安全)

    目录 一.三次握手 1.1 三次握手过程 1.2 为什么不两次握手 1.3 四次握手 1.4 常见问题 1.5 TCP的有限状态机 二.TCP与UDP 2.1 TCP/IP协议簇 2.2 TCP与UD ...

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

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

  5. TCP/IP协议之ARP笔记

    ARP:地址解析协议<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&g ...

  6. 通信原理之IP协议,ARP协议 (三)

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

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

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

  8. gns3中两个路由器分别连接主机然后分析ip数据转发报文arp协议_TCP/IP协议知识总结...

    总体 首先,展示下总体的思维导图.接下来,按照每个点解释. OSI七层模型 开放式系统互联模型(英语:Open System Interconnection Model,缩写:OSI:简称为OSI模型 ...

  9. 了解TCP协议,IP协议、ICMP协议和ARP协议(TCP报文,TCP的分成管理,TCP与UDP,TCP的三次握手四次挥手原理)

    文章目录 了解TCP/IP协议 TCP报文格式 TCP/IP 的分层管理 TCP与UDP TCP的三次握手与四次挥手 为什么要三次握手? 为什么要四次挥手? IP数据包格式 ICMP协议 ICMP协议 ...

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

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

最新文章

  1. HANA 数据库备份hang住的解决办法
  2. Ubuntu安装apt出现报错如何操作(简单记录)
  3. 【PP】通过创建工程变更号修改BOM
  4. 力扣——有序链表转换二叉搜索树
  5. java ora 00911_ORA-00911错误
  6. dd命令iso linux_BootISO:从 ISO 文件中创建一个可启动的 USB 设备
  7. 设置 chrome 无头浏览器
  8. Java基础语法初学者了解
  9. 斯坦福2019秋季课程:图机器学习资料全公开
  10. 宁愿“大小周”、每天只写 200 行代码、月薪 8k-17k 人群再涨 | 揭晓中国开发者真实现状
  11. python2中的print语句可以不用小括号。_Python基础语法 | 代码规范amp;判断语句amp;循环语句...
  12. nginx跨域配置、使用,docker部署nginx全流程(实测简单完整无坑)
  13. 企业出口退税申报系统的Sqlite数据库破解及读写
  14. SQL server2008下载安装
  15. 【服务器管理】Ubuntu的一次惊心动魄的查杀挖矿病毒的经历:病毒伪装成python
  16. Win10系统重置后键盘鼠标都失灵,光标都不显示怎么解决?
  17. 如何有效预防ddos攻击
  18. 内存调试神器- ASan详解及实例分析
  19. IPhone (是iPhone系列中的第一代)
  20. 蓝桥试题集-基础练习-BASIC-18~21-矩阵面积交-完美的代价-数的读法-Sine之舞

热门文章

  1. 给大家总结的一份白帽子成长进阶指南(内附学习资源)
  2. 同一向量空间的不同基具有相同的维度的一种证明
  3. PAT 乙级 1055  集体照
  4. linux usb 存储设备,找到哪个驱动器对应于Linux中的哪个USB大容量存储设备
  5. 【R语言】结巴分词与词性提取(以“提取知乎问题标题的频繁词前100个形容词”实战为例)(3月25日学习笔记)
  6. excel文件因服务器未响应无法打开,excel打开显示兼容模式(未响应)
  7. iscsi对oracle发起程序,系统运维|设置iSCSI的发起程序(客户端)(三)
  8. 判断tvs能抗住多少千伏浪涌的依据_手机电路浪涌防护和TVS应用
  9. c语言的case有什么作用,c语言case的用法
  10. 计组cpi与mips的计算方法