在 DHCP 状态下,获取 LicheePI Zero 的本机 IP 地址和 DNS

在做一个LicheePI Zero(荔枝派)的项目中需要在本机为DHCP状态下,拿到本机当前的 IP 地址、子网掩码、默认网关和 DNS。在处于静态 IP 设置下,可以通过 ifconfig 指令获得本机的 IP 地址,也可以通过解析 /etc/network/interfaces 文件获得本机的当前 IP 地址,而 DNS 地址是存放在 /etc/resolv.conf 中的,也可以解析出来。但是,当处于 DHCP 设置下, IP 地址、子网掩码可以通ifconfig 指令的解析获得,但默认网关和 DNS 的信息就不能通过解析配置文件获得了。虽然在 /etc/resolv.conf 中可以存储静态设置下的 nameserver,但这并不通用。

经过查询,可以通过 udhcpc (DHCP Client)程序获得本机的 IP 地址和 DNS,记录如下。但是默认网关仍不能确定。

# which udhcpc
/sbin/udhcpc
# 
# /etc/init.d/S40network restart
Stopping network: OK
Starting network: udhcpc: started, v1.27.1
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending select for 192.168.0.100
udhcpc: lease of 192.168.0.100 obtained, lease time 7200
deleting routers
adding dns 58.20.127.170
adding dns 58.20.127.238
OK
# 

在程序中,可以通过截取 /etc/init.d/S40network restart 指令的应答,把当前获取的 IP 地址、两个DNS解析出来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核老骆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值