程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> DHCP:解析開發板上動態獲取ip的2種實現方法詳解

DHCP:解析開發板上動態獲取ip的2種實現方法詳解

編輯:C語言基礎知識

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved