DHCP:解析开发板上动态获取ip的2种实现方法详解

所属分类: 软件编程 / C 语言 阅读数: 50
收藏 0 赞 0 分享

DHCP
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:
1.给内部网络或网络服务供应商自动分配IP地址
2.给用户给内部网络管理员作为对所有计算机作中央管理的手段。

方法一:dhclient   
1.下载
    https://www.isc.org/software/dhcp/
2.解压
    tar-zxvf dhcp-3.1.3.tar.gz
3.配置
    cddhcp-3.1.3
    ./configure
    成功之后生成work.linux-2.2文件夹.
4.编译
    make "CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin/arm-hismall-linux-gcc-static"
    可以在work.linux-2.2/client目录,也可以在dhcp-3.1.3目录下make,
5.拷贝
    在work.linux-2.2\client编译生成dhclient。
    拷贝配置文件dhcp-3.1.3/client/dhclient.conf/dhcp-3.1.3/client/scripts/linux 到开发板的/sbin/目录下,并linux文件重命名为dhclient-script,并修改该文件的第一行#! /bin/bash#! /bin/sh,保存后,修改权限 chmod +x /sbin/dhclient-script
6.创建目录
    mkdir-p /var/state/dhcp
    在/var目录下创建state目录,再在state目录下创建dhcp目录。
7.运行
    dhclient ra0
结果:

复制代码 代码如下:

InternetSystems Consortium DHCP Client V3.1.3
Copyright2004-2009 Internet Systems Consortium.
Allrights reserved.
Forinfo, please visit https://www.isc.org/software/dhcp/
Listeningon LPF/ra0/7c:dd:90:25:9f:a9
Sendingon   LPF/ra0/7c:dd:90:25:9f:a9
Sendingon   Socket/fallback
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVERon ra0 to 255.255.255.255 port 67 interval 14
DHCPOFFERfrom 192.168.1.1
DHCPREQUESTon ra0 to 255.255.255.255 port 67
DHCPACKfrom 192.168.1.1
bound to 192.168.1.31 -- renewal in 282261 seconds.

方法二、udhcpc
udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微- DHCP -客户端(μDHCPc)。
1.udhcpc -i eth0
udhcpc只是获取一个IP,我们需要把\busybox-1.1.2\examples\udhcp下的脚本simple.script改名为default.script,放在开发板上的/usr/share/dhcpc/目录下,才能将获取的IP写到指定的网卡中。
2.ifconfig

更多精彩内容其他人还在看

visual studio 2019编译c++17的方法

这篇文章主要介绍了visual studio 2019编译c++17的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Qt串口通信开发之QSerialPort模块详细使用方法与实例

这篇文章主要介绍了Qt串口通信开发之QSerialPort模块详细使用方法与实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Qt串口通信开发之Qt串口通信模块QSerialPort开发完整实例(串口助手开发)

这篇文章主要介绍了Qt串口通信开发之Qt串口通信模块QSerialPort开发完整实例(串口助手开发),需要的朋友可以参考下
收藏 0 赞 0 分享

Qt串口通信开发之QSerialPort模块简单使用方法与实例

这篇文章主要介绍了Qt串口通信开发之QSerialPort模块简单使用方法与实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Qt串口通信开发之QSerialPort模块Qt串口通信接收数据不完整的解决方法

这篇文章主要介绍了Qt串口通信开发之QSerialPort模块Qt串口通信接收数据不完整的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Qt图形图像开发之Qt曲线图美化QChart QScatterSeries 空心点阵图,鼠标移动到上面显示数值,鼠标移开数值消失效果实例

这篇文章主要介绍了Qt图形图像开发之Qt曲线图美化QChart QScatterSeries 空心点阵图,鼠标移动到上面显示数值,鼠标移开数值消失效果实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Qt GUI图形图像开发之QT表格控件QTableView,QTableWidget复杂表头(多行表头) 及冻结、固定特定的行的详细方法与实例

这篇文章主要介绍了Qt GUI图形图像开发之QT表格控件QTableView,QTableWidget复杂表头(多行表头) 及冻结、固定特定的行的详细方法与实例,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言实现加密解密功能

这篇文章主要为大家详细介绍了C语言实现加密解密功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C++实现猴子吃桃的示例代码

这篇文章主要介绍了C++实现猴子吃桃的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C语言实现关机小程序

这篇文章主要为大家详细介绍了C语言实现关机小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多