DHCP:解析開(kāi)發(fā)板上動(dòng)態(tài)獲取ip的2種實(shí)現(xiàn)方法詳解
DHCP
動(dòng)態(tài)主機(jī)設(shè)置協(xié)議(Dynamic Host Configuration Protocol, DHCP)是一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個(gè)用途:
1.給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址
2.給用戶給內(nèi)部網(wǎng)絡(luò)管理員作為對(duì)所有計(jì)算機(jī)作中央管理的手段。
方法一: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 到開(kāi)發(fā)板的/sbin/目錄下,并linux文件重命名為dhclient-script,并修改該文件的第一行#! /bin/bash 為#! /bin/sh,保存后,修改權(quán)限 chmod +x /sbin/dhclient-script
6.創(chuàng)建目錄
mkdir-p /var/state/dhcp
在/var目錄下創(chuàng)建state目錄,再在state目錄下創(chuàng)建dhcp目錄。
7.運(yùn)行
dhclient ra0
結(jié)果:
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是一個(gè)面向嵌入式系統(tǒng)的非常小的DHCP客戶端,字母的縮寫微- DHCP -客戶端(μDHCPc)。
1.udhcpc -i eth0
udhcpc只是獲取一個(gè)IP,我們需要把\busybox-1.1.2\examples\udhcp下的腳本simple.script改名為default.script,放在開(kāi)發(fā)板上的/usr/share/dhcpc/目錄下,才能將獲取的IP寫到指定的網(wǎng)卡中。
2.ifconfig
相關(guān)文章
clion最新激活碼+漢化的步驟詳解(親測(cè)可用激活到2089)
這篇文章主要介紹了clion最新版下載安裝+破解+漢化的步驟詳解,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
C++中auto類型說(shuō)明符詳解(附易錯(cuò)實(shí)例)
這篇文章主要給大家介紹了關(guān)于C++中auto類型說(shuō)明符的相關(guān)資料,文中還附易錯(cuò)實(shí)例,在C++11中引入了auto類型說(shuō)明符,用它就能讓編譯器替我們?nèi)シ治霰磉_(dá)式所屬的類型,需要的朋友可以參考下2023-07-07
C++ 數(shù)據(jù)結(jié)構(gòu)之對(duì)稱矩陣及稀疏矩陣的壓縮存儲(chǔ)
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之對(duì)稱矩陣及稀疏矩陣的壓縮存儲(chǔ)的相關(guān)資料,這里實(shí)現(xiàn)稀疏矩陣和對(duì)稱矩陣的壓縮存儲(chǔ)的實(shí)例,需要的朋友可以參考下2017-08-08
詳解C語(yǔ)言中結(jié)構(gòu)體的自引用和相互引用
這篇文章主要介紹了C語(yǔ)言中結(jié)構(gòu)體的自引用和相互引用,詳細(xì)解析了結(jié)構(gòu)體中指針的指向情況,需要的朋友可以參考下2016-04-04
C++命名空間using?namespace?std是什么意思
namespace中文意思是命名空間或者叫名字空間,傳統(tǒng)的C++只有一個(gè)全局的namespace,下面這篇文章主要給大家介紹了關(guān)于C++命名空間using?namespace?std是什么意思的相關(guān)資料,需要的朋友可以參考下2023-01-01
C語(yǔ)言解決字符串中插入和刪除某段字符串問(wèn)題
這篇文章主要介紹了C語(yǔ)言解決字符串中插入和刪除某段字符串問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
C++JSON庫(kù)CJsonObject詳解(輕量簡(jiǎn)單好用)
CJsonObject是基于cJSON全新開(kāi)發(fā)一個(gè)C++版的JSON庫(kù),CJsonObject的最大優(yōu)勢(shì)是輕量簡(jiǎn)單好用,開(kāi)發(fā)效率極高,對(duì)多層嵌套json的讀取和生成使用非常簡(jiǎn)單,喜歡的朋友一起看看吧2021-04-04

