转载请注明来源:https://www.cnblogs.com/hookjc/

本机IP:192.168.0.1 (c0 a8 00 01)
本机MAC:00-50-56-c0-00-01

目标IP:192.168.0.2 (c0 a8 00 02)
目标MAC:00-0c-29-0b-42-7e

1、  Ping 目标主机192.168.0.2时,本机发送的ARP数据包为
00000000 : ff ff ff ff ff ff 00 50 56 c0 00 01 08 06 00 01
00000010 : 08 00 06 04 00 01 00 50 56 c0 00 01 c0 a8 00 01
00000020 : 00 00 00 00 00 00 c0 a8 00 02

以太网数据包发送目的地:ff ff ff ff ff ff(全网)
以太网数据包发送源:00 50 56 c0 00 01(本机)
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 01(Request)
数据内容:告诉IP为c0 a8 00 02的目标主机,本机的IP为c0 a8 00 01,MAC为
00 50 56 c0 00 01,请更新,并将你的MAC发送给我。

目标主机回应本机的ARP数据包为
00000000 : 00 50 56 c0 00 01 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 02 00 0c 29 0b 42 7e c0 a8 00 02
00000020 : 00 50 56 c0 00 01 c0 a8 00 01

以太网数据包发送目的地:00 50 56 c0 00 01
以太网数据包发送源: 00 0c 29 0b 42 7e
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 02(Reply)
数据内容:告诉MAC为    00 50 56 c0 00 01 的主机,你的IP和MAC我已经收到,我的MAC和IP为00 0c 29 0b 42 7e 和c0 a8 00 02,请保存更新。

2、  修改系统IP时(未发生IP冲突的情况下),发送的ARP数据包为
00000000 : ff ff ff ff ff ff 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 01 00 0c 29 0b 42 7e c0 a8 00 03
00000020 : 00 00 00 00 00 00 c0 a8 00 03

以太网数据包发送目的地:ff ff ff ff ff ff(全网)
以太网数据包发送源:00 0c 29 0b 42 7e(本机)
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 01(Request)
数据内容:告诉IP为c0 a8 00 03的主机,本机的MAC和IP为00 0c 29 0b 42 7e 和c0 a8 00 03。由于网络内没有c0 a8 00 03 主机,所以此数据包将不会有回应,此时,局域网交换机将会刷新缓存,使你的IP和MAC对应起来。

3、  修改系统IP时(发生IP冲突的情况下),发送的ARP数据包为
00000000 : ff ff ff ff ff ff 00 0c 29 0b 42 7e 08 06 00 01
00000010 : 08 00 06 04 00 01 00 0c 29 0b 42 7e c0 a8 00 01
00000020 : 00 00 00 00 00 00 c0 a8 00 01

以太网数据包发送目的地:ff ff ff ff ff ff(全网)
以太网数据包发送源:00 0c 29 0b 42 7e
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 01(Request)
数据内容:告诉IP为c0 a8 00 01的主机,本机的MAC和IP为00 0c 29 0b 42 7e 和c0 a8 00 01。由于网络内已经有c0 a8 00 01 主机,将会发生冲突。这时将收到ARP Reply数据包。

接收的ARP数据包为
00000000 : 00 0c 29 0b 42 7e 00 50 56 c0 00 01 08 06 00 01
00000010 : 08 00 06 04 00 02 00 50 56 c0 00 01 c0 a8 00 01
00000020 : 00 0c 29 0b 42 7e c0 a8 00 01

以太网数据包发送目的地:00 0c 29 0b 42 7e
以太网数据包发送源:00 50 56 c0 00 01
以太网数据包数据包内容类型:08 06(ARP数据包)
ARP数据包类型:00 02(Reply)
数据内容:告诉MAC为00 0c 29 0b 42 7e的主机,本机的MAC和IP为00 50 56 c0 00 01和 c0 a8 00 01。这时MAC 为42 7e c0 a8 00 01的主机收到这个包后,并知道他的IP与其它主机冲突了。

4、  伪造ARP数据包
向目标MAC发送伪造的ARP Reply,告知一个假的信息,达到欺骗的目的。
本机真实IP为:192.168.0.1(c0 a8 00 01)
本机真实MAC为:00-50-56-c0-00-01
伪造的MAC为:11-11-11-11-11-11

欺骗目标:
IP为:192.168.0.2(c0 a8 00 02)
MAC:00-0c-29-0b-42-7e

伪造的数据包如下:
Packet length: 60
00000000 : 00 0c 29 0b 42 7e 11 11 11 11 11 11 08 06 00 01
00000010 : 08 00 06 04 00 02 11 11 11 11 11 11 c0 a8 00 01
00000020 : 00 0c 29 0b 42 7e c0 a8 00 02(剩余部分用0填补)

来源:python脚本自动迁移

ARP数据包分析的更多相关文章

  1. 01、WireShark——ARP 协议包分析

     1. 什么是ARP ARP(Address Resolution Protocol)协议,即地址解析协议.该协议的功能就是将 IP 地 址解析成 MAC 地址. ARP(Address Resolu ...

  2. WireShark——ARP 协议包分析

     1. 什么是ARP ARP(Address Resolution Protocol)协议,即地址解析协议.该协议的功能就是将 IP 地 址解析成 MAC 地址. ARP(Address Resolu ...

  3. 《Wireshark数据包分析实战》 - http背后,tcp/ip抓包分析

    作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强. 但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求.wireshark作为抓取 ...

  4. WireShark数据包分析数据封装

    WireShark数据包分析数据封装 数据封装(Data Encapsulation)是指将协议数据单元(PDU)封装在一组协议头和尾中的过程.在OSI七层参考模型中,每层主要负责与其它机器上的对等层 ...

  5. 可视化数据包分析工具-CapAnalysis

    可视化数据包分析工具-CapAnalysis 我们知道,Xplico是一个从pcap文件中解析出IP流量数据的工具,本文介绍又一款实用工具-CapAnalysis(可视化数据包分析工具),将比Xpli ...

  6. snmp数据包分析

    今天看了一下snmp数据包的报文格式,用wireshark抓了两个数据包来分析. 先说说snmp get-request的书报包格式吧,get-next-request,get-response,se ...

  7. tcprstat源码分析之tcp数据包分析

    tcprstat是percona用来监测mysql响应时间的.不过对于任何运行在TCP协议上的响应时间,都可以用.本文主要做源码分析,如何使用tcprstat请大家查看博文<tcprstat分析 ...

  8. firebug登陆之数据包分析

    登陆之数据包分析 工具: python-urllib2   |  firefox+firebug或者chrome,用浏览器打开登陆页面之后,按F12键会默认打开开发者工具或者启动firebug,点击n ...

  9. Wireshark数据包分析(一)——使用入门

    Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...

随机推荐

  1. JDBC编程工具类 Dbconnection

    JDBC基础:https://blog.csdn.net/weixin_44893902/article/details/106746880 Dbconnection工具类(包含了连接,增删改查,关闭 ...

  2. SpringBoot 原理分析、监控、项目部署

    目录 SpringBoot 监控 概述 使用 SpringBoot Admin 概述 使用 SpringBoot 项目部署 SpringBoot 监控 概述 SpringBoot 自带监控功能 Act ...

  3. ElasticSearch、Kibana 介绍&安装

    目录 ElasticSearch 介绍 基于数据库查询的问题 倒排(反向)索引 ES 存储和查询的原理 ES 核心概念 ES 安装 Kibana ElasticSearch 介绍 基于数据库查询的问题 ...

  4. Python_元类

    什么是元类 我们知道,实例对象是由类创建的,那么类又是由什么创建的呢? 答案就是元类. 元类基本不会用到,但是就算不用,也应该去熟悉一下概念. 理解类也是对象 在大多数编程语言中,类就是一组用来描述如 ...

  5. spring cloud --- Feign --- 心得

    spring boot      1.5.9.RELEASE spring cloud    Dalston.SR1 1.前言 什么是Feign? 为了简化我们的开发,Spring Cloud Fei ...

  6. Spring cloud 框架 --- Eureka 心得

    spring boot      1.5.9.RELEASE spring cloud    Dalston.SR1 1.前言 (1)接触了spring cloud 框架 ,首先要知道Eureka是什 ...

  7. Linux上天之路(四)之Linux界面介绍

    Linux界面 linux为使用者提供了图形界面和文本界面,但是很多操作依然需要文本界面的操作才能完成,很多人使用起来比较蹩脚,又因为linux平台的个人应用APP相对较少,使得大家的个人PC安装了l ...

  8. Linux上天之路(十三)之系统进程管理

    主要内容 进程介绍 进程管理 进程优先级 1. 进程介绍 Linux系统中的几乎任何行动都会以进程的形式进行.如果你用网络浏览器查看网页,浏览器就作为进程运行.如果键入bash shell的命令行,这 ...

  9. [转]webpack配置本地服务器

    亲测,webpack打包vue项目之后生成的dist文件可以部署到 express 服务器上运行. 我的vue项目结构如下: 1. 进入该vue项目目录,打开git bash,执行:npm run b ...

  10. 开启mysql外部访问(root外连)

    MySQL外部访问 mysql 默认是禁止远程连接的,你在安装mysql的系统行运行mysql -u root -p 后进入mysql 输入如下: mysql>use mysql; mysql& ...