用Python构造ARP请求、扫描、欺骗
目录 0. ARP介绍 1. Scapy简述 2. Scapy简单演示 2.1 安装 2.2 构造包演示 2.2.1 进入kamene交互界面 2.2.2 查看以太网头部 2.2.3 查看 ICMP 头部 2.2.4 查看 IP 头部 2.2.5 查看 TCP/UDP 头部 2.2.6 简单构造 ICMP 包 2.2.7 简单 构造 ARP 包 3. 构造 ARP 请求 4. 构造 ARP 扫描 5. 构造 ARP 欺骗 0. ARP介绍 首先,先回忆下 TCP/IP 模型,从下到上分为:数据链路层、网络层、传输层、应用层,那么 ARP 到底属于哪一层?有人会说是网络层,但实际是属于数据链路层,只不过还要为网络层提供服务。 ARP 的主要用途是 IP(32bit) 地址到物理 MAC(48bit) 地址的映射关系。别看表面主机知道了远端IP地址就可以通信,实则先要知道远端的MAC地址(借助ARP),通过网卡到交换机构建数据链路层通信,再通过上层进行数据交互。 另外,你可能会了解到代理ARP、免费ARP、RARP这些,其中你都能搞明白他们工作原理是怎么样的嘛? 这里咱们简单回顾一下: 代理ARP:一般路由器通常充当代理角色,代替远端主机响应本地的 ARP 请求; 免费ARP:一种特殊 ARP 请求报文,用于检测 IP 冲突、硬件地址变更触发免费ARP; RARP:与 ARP 相反