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

 更新时间:2013年05月26日 17:04:33   作者:  
本篇文章是对开发板上动态获取ip的2种实现方法进行了详细的分析介绍,需要的朋友参考下

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

相关文章

  • C++ 中引用与指针的区别实例详解

    C++ 中引用与指针的区别实例详解

    这篇文章主要介绍了C++ 中引用与指针的区别实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • clion最新激活码+汉化的步骤详解(亲测可用激活到2089)

    clion最新激活码+汉化的步骤详解(亲测可用激活到2089)

    这篇文章主要介绍了clion最新版下载安装+破解+汉化的步骤详解,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • C语言循环链表的原理与使用操作

    C语言循环链表的原理与使用操作

    无论是静态链表还是动态链表,有时在解决具体问题时,需要我们对其结构进行稍微地调整。比如,可以把链表的两头连接,使其成为了一个环状链表,通常称为循环链表
    2022-05-05
  • C语言 联合(union)用法案例详解

    C语言 联合(union)用法案例详解

    这篇文章主要介绍了C语言 联合(union)用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C++中auto类型说明符详解(附易错实例)

    C++中auto类型说明符详解(附易错实例)

    这篇文章主要给大家介绍了关于C++中auto类型说明符的相关资料,文中还附易错实例,在C++11中引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型,需要的朋友可以参考下
    2023-07-07
  • C++ 数据结构之对称矩阵及稀疏矩阵的压缩存储

    C++ 数据结构之对称矩阵及稀疏矩阵的压缩存储

    这篇文章主要介绍了C++ 数据结构之对称矩阵及稀疏矩阵的压缩存储的相关资料,这里实现稀疏矩阵和对称矩阵的压缩存储的实例,需要的朋友可以参考下
    2017-08-08
  • 详解C语言中结构体的自引用和相互引用

    详解C语言中结构体的自引用和相互引用

    这篇文章主要介绍了C语言中结构体的自引用和相互引用,详细解析了结构体中指针的指向情况,需要的朋友可以参考下
    2016-04-04
  • C++命名空间using namespace std是什么意思

    C++命名空间using namespace std是什么意思

    namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,下面这篇文章主要给大家介绍了关于C++命名空间using namespace std是什么意思的相关资料,需要的朋友可以参考下
    2023-01-01
  • C语言解决字符串中插入和删除某段字符串问题

    C语言解决字符串中插入和删除某段字符串问题

    这篇文章主要介绍了C语言解决字符串中插入和删除某段字符串问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C++JSON库CJsonObject详解(轻量简单好用)

    C++JSON库CJsonObject详解(轻量简单好用)

    CJsonObject是基于cJSON全新开发一个C++版的JSON库,CJsonObject的最大优势是轻量简单好用,开发效率极高,对多层嵌套json的读取和生成使用非常简单,喜欢的朋友一起看看吧
    2021-04-04

最新评论