我正在尝试从DHCP server请求特定的IP地址 .
我的理解是,如果服务器在初始DHCP_DISCOVER消息中支持DHCP_REQUESTED_IP请求,我应该能够这样做 .
这是我的代码不起作用:
ip_addr_copy(&dhcp->msg_out->ciaddr , "0xc0a80014" );
dhcp->msg_out->yiaddr.addr = 0xc0a801e0 ;
dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4);
dhcp_option_long(dhcp, htonl(0xc0a80176));
dhcp_option_long(dhcp, htonl(0xc0a801e0));
dhcp_option(dhcp, DHCP_OPTION_SERVER_ID, 4);
dhcp_option_long(dhcp, htonl(0xc0a80164));
dhcp_option_long(dhcp, htonl(0xc0a80101));
dhcp_option(dhcp, DHCP_OPTION_PARAMETER_REQUEST_LIST, 4/*num options*/);
1 回答
根据我的假设,当您发现
dhcp
时,您需要IP地址 . 现在,例如 .如果使用
udhcpc
(busybox:The udhcp client negotiates a lease with the DHCP server and notifies a set of scripts when a leases is obtained or lost.)* 我在接口wlan0上发现ip然后我首先写下系统调用以便在wlan0
上启动发现然后打电话
如此简单的代码
找到
GetIpAddress_system()
的来源,如下所示