TCP/IP-(1)-ARP

预备知识

OSI
网络是分层的,TCP/IP 关注的是 第三层采用 IP 协议 和 第四层 采用的是 TCP 和 UDP 协议。
对于第一层和第二层,我们需要在意的是 MTU (最大传输单元),
这个值有一个最小值,因为载波监听的需求,并没强制性的最大值,Lan默认的是1500。(如何优化MTU可以见 参考2) 如何查询MTU可以通过 ifconfig 命令查询。

ARP

ARP 协议

ARP 提供的是IP转化为MAC地址的功能,提供的是在局域网内传输的能力,因为在局域网内传输数据,需要使用MAC地址(因为在数据链路层的协议需要)。

  • 静态映射:直接写在路由表内
  • 动态映射:采用广播的方式查询(ARP协议)

ARP

ARP 流程

ARP的核心是有一个源目标IP地址和目标IP地址,目标的物理地址是填充0,以广播的方式发送出去,识别出是自己IP的机器以单播的方式返回给发送者。

ARP 相关命令

  • arp -a : 查询所有arp相关
  • tcpdump -n arp : 监听arp请求

ARP 相关攻击

arp本身没有验证性,可以强制回答自己的mac地址。如果有黑客接入网络会导致大批量的arp地址错误。
可以参考本文的 参考资料3

参考资料

  1. TCP/IP协议卷一: 详解
  2. Ping Test to determine Optimal MTU Size on Router
  3. ARP攻击防范方法总结