dhcp :dynamic host comfiguration protocol (动态主机配置协议)
属于OSI 模型中的第七层协议。
dhcp协议是基于client-server.
报文封装:基于UDP封装,主机端口为:68;服务器端口为:67.
作用:为本广播域内的主机下发IP地址
特点:支持即插即用,可以节约IP地址
基础配置:
(1)在该广域的网关路由器上建立DHCP POOL,这其中包括网段及其网络掩码的配置,网关,DNS(domain name server )ip 等基础配置

    R1(config)#ip dhcp pool 1 R1(dhcp-config)#network 1.1.1.0 255.255.255.0R1(dhcp-config)#default-router 1.1.1.1R1(dhcp-config)#dns-server 4.4.4.4

(2)PC 上一般默认是自动获取IP的,所以只要插上网线即可。
ARP包内容:
通过arp(地址解析协议)先检测这个1.1.1.2 的地址是否有主机在占用。广播发送。
DHCP 数据包的内容:

DHCP共有四种包:discover 、offer、request、ACK
dhcp工作的过程中主机地址为:0.0.0.0 。服务器的地址为1.1.1.1(网关地址)
目标地址都为255.255.255.255 ,广播方式发送。
(1)discover

由主机以广播方式发送:
主机MAC地址:ca:02:04:94:00:08,目标MAC:all ff
主机IP:0.0.0.0 目标IP:255.255.255.255
主机端口号:68 ,目标端口号:67
BOOTP:discover
BOOTP(discover)报文中包括了
文件类型:boot request
硬件类型:Ethernet
硬件地址长度:6字节
bootp flags中第一位为1表示为广播;其他位都为0。

包括:DHCP数据包类型
DHCP文件最大长度
客户标示
主机名
参数请求列表:
子网掩码
DNS
路由器
静态路由
。。。

(2)Offer

由网关路由器发出
网关MAC,广播方式发送
网关ip地址位 1.1.1.1 ,目标ip为255.255.255.255
发送端口号为:67 ,目标端口为68
BOOTP(offer)

文件类型:boot reply(答复)
下放的地址为:1.1.1.2
client MAC address :请求主机的地址
option(选项):报文类型(offer)
DHCP 服务器标识(网关IP1.1.1.1)
ip地址租期(1 天)
更新时间:12hours
更新绑定时间:21hours
子网掩码:255.255.255.0
路由器:1.1.1.1
DNS(domain name server):4.4.4.4

(3)request

由主机以广播方式发送。
option 以前和discover message 相同
看option 部分

option 的数量为9个,比较于discover 报文中的option ,多了3个
第一个为DHCP的标识:1.1.1.1
第二个为 请求的IP地址:1.1.1.2
第三个为IP地址的租期:1 天

(4)ACK

由网关路由器发出,广播方式。


网关路由器一 一确认,报文内容于offer 报文内容基本一致。

这是正常情况下的发放IP地址。当主机检测到地址冲突时,会发出大量的无故ARP;

无故ARP数据包,

以自己的MAC为MAC,自己的IP为IP 发送ARP包。产生冲突的主机都发。
当一台主机断开了,主机会主动发送release(释放)报文。
以单播方式发送。

本实验所用拓扑

DHCP 报文抓取观察相关推荐

  1. 【原创】网络报文抓取研究

    1     引言 网络报文抓取是指通过对主机网络设备的探测,实现获取该网络当前传输的所有信息,并根据信息的源主机.目标主机.服务协议和端口等信息简单过滤掉不关心数据,然后提交给上层应用程序进行进一步处 ...

  2. webservice-SOAP报文抓取与分析

    目录 一.什么是SOAP? 二.IDEA抓取SOAP报文 1. IDEA下载插件 2. 配置Tunnellij,Tunnellij是一个类似于Eclipse的TCP/IP Monitor的插件,比较流 ...

  3. 【网络通讯开发系列】如何抓取终端设备的TLS报文(一)

    文章目录 1 写在前面 2 需求分析 3 几个方法 4 原理分析 5 方法实践 5.1 工具准备 5.2 详细步骤 6 经验总结 7 参考链接 8 更多分享 作者:架构师李肯 一个专注于嵌入式IoT领 ...

  4. python中接口测试垃圾数据如何清理_一个六年经验的python后端是怎么学习用java写API的(2)Extracter,微信文章抓取清洗入库...

    描述 pirate 是由我的 django 脚手架 original 实现的,文件上传提供了七牛和腾讯云两个 backend,部署提供了默认的配置文件,因此只要关注具体的微信的抓取逻辑即可. 核心表讲 ...

  5. linux抓取tcp报文头部,3.2.3 使用tcpdump观察TCP头部信息

    3.2.3 使用tcpdump观察TCP头部信息 在2.3节中,我们利用tcpdump抓取了一个数据包并分析了其中的IP头部信息,本节分析其中与TCP协议相关的部分(后面的分析中,我们将所有tcpdu ...

  6. tcpdump抓取ipip报文

    根据目的ip抓取ipip单向报文 tcpdump -i p6p1 "ip proto 4 and (ip[20+16:1]=10 and ip[20+17:1]=184 and ip[20+ ...

  7. 用 libpcap抓取http报文

    在上一篇博客中简单对libpcap库基本函数及基本工作流程做了些简单说明, 今天我们先了解一下pcap_loop()及pcap_dispatch()函数的功能及作用: (1)pcap_loop()循环 ...

  8. tcpdump抓取udp报文

    使用tcpdump命令抓取UDP 2000端口报文,并将报文保存到当前目录下的udp.cap文件,命令如下: tcpdump -i 网络接口名称 udp port 2000 -w ./udp.cap ...

  9. Fiddler实现IOS手机抓取https报文

    如何设置代理访问内网进而抓取手机的Https报文进行分析定位. 准备工作: 1.PC上连接好VPN 2.管理员方式打开Fiddler工具 开搞: 一.设置Fiddler 1.打开Tools->O ...

最新文章

  1. WebBrowserProgramming - Python Wiki
  2. 【KVM】Ubuntu14.04 安装KVM
  3. 帮我看看这点破事 EVENT
  4. sql decimal函数例子_leetcode题库-sql练习精讲系列--三、经典排名问题
  5. html效果属性是,htmltransition属性
  6. GeneratedKeyHolder的作用:获得新建主键值
  7. matlab中for循环的步长
  8. 个人博客系统PHP源码 DouPHP轻博客
  9. IE(11)浏览器清理缓存方法
  10. 不知道图片加文字水印怎么弄?这3个方法自媒体达人必学
  11. mybaties中resultMap和resultType的区别
  12. 历史大盘跌停记录,2016大盘跌停原因
  13. ISE UCF 写法
  14. 植物大战僵尸自动拾取阳光
  15. 大数据晋级之路(4)Hadoop生态系统体系架构及基本概念
  16. 最笨的办法处理wos国家字段
  17. 认证 (Authentication) 和授权 (Authorization)
  18. 在UE5中嵌入浏览器
  19. 电信和互联网用户个人信息保护规定_2019,中国互联网个人信息保护元年
  20. 【深度学习机器翻译】GNMT:Google 的的神经机器翻译系统

热门文章

  1. ppt学习03——形状
  2. 基于UDP服务实现可靠传输
  3. vue获取dom添加样式
  4. 公共卫生管理师报考条件是什么?公共卫生管理师的报名条件是什么?
  5. 揭秘 Win8 的快速访问菜单
  6. Linux系统工程师--(4)网络文件系统
  7. 男人 你能留住肌肉吗?
  8. IPC中的AIDL机制(二)
  9. python 判断参数为Nonetype类型或空
  10. C++使用curl下载文件(get请求)