LINUX下如何用珵序实现自动获取IP,自动获取DNS功能

wxxylanxue 2011-10-18 01:41:37
如题 ,不是指得到当前系统己经存在的IP,而是DHCP自动分配IP功能。请高手指教!
1.自动获取IP
手动设置IP

2.自动获取DNS
手动设置DNS

目前用QT做的界面,其中有以上两个功能,当用户选中自动获取IP和自动获取DNS时,相当于程序让系统重新自动分配IP。程序是在在LINUX下
...全文
1414 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
流浪若相惜 2013-11-29
  • 打赏
  • 举报
回复
引用 4 楼 nice_cxf 的回复:
自动分配IP是DHCP服务器做的,你要自己实现这个功能。。。自己去查linux内核的有关源代码把,指定ip可以系统调用ipconfig,或者查看ipconfig源代码自己实现
nonono!linux下是ifconfig!
nadleeh 2013-11-29
  • 打赏
  • 举报
回复
引用 楼主 wxxylanxue 的回复:
如题 ,不是指得到当前系统己经存在的IP,而是DHCP自动分配IP功能。请高手指教! 1.自动获取IP 手动设置IP 2.自动获取DNS 手动设置DNS 目前用QT做的界面,其中有以上两个功能,当用户选中自动获取IP和自动获取DNS时,相当于程序让系统重新自动分配IP。程序是在在LINUX下
dhcp和dns 都是client/server类型的,这个你得看2部分源码
jiamianshiye 2013-11-28
  • 打赏
  • 举报
回复
你的自动获取DNS解决了没?能分享下么
  • 打赏
  • 举报
回复
gethostbyname
ForestDB 2011-10-19
  • 打赏
  • 举报
回复
去看看dhclient。
nice_cxf 2011-10-19
  • 打赏
  • 举报
回复
自动分配IP是DHCP服务器做的,你要自己实现这个功能。。。自己去查linux内核的有关源代码把,指定ip可以系统调用ipconfig,或者查看ipconfig源代码自己实现
Ailen 2011-10-19
  • 打赏
  • 举报
回复
mark, 学习!
凡迪 2011-10-19
  • 打赏
  • 举报
回复
不懂,帮顶
wxxylanxue 2011-10-19
  • 打赏
  • 举报
回复
自己顶起。高手快帮我指点一二呀
libai 2011-10-19
  • 打赏
  • 举报
回复
就是通过你的程序对文件修改,
修改ifcfg-eth0文件。
这个文件在/etc/sysconfig/network-scripts/下

修改完成合,自己在写个shell脚本,通过你的程序(fork个子进程) 调用这个脚本 ,重新加载你刚设置的文件既可
hancker 2011-10-19
  • 打赏
  • 举报
回复
我的思路这样:(可能有点麻烦。但应该有效)
每次你的程序起来后,执行system函数(里面的参数自己去查)再把结果重定向输出临时产生的文件中
然后,再按生成的格式去解析里面的内容(即可得到IP与DNS)

相信也应该有对应的API。可以去网上搜一搜。
exbob 2011-10-19
  • 打赏
  • 举报
回复
补充一下,修改后记得重启一下服务:
/etc/init.d/network restart

对于DNS,也是修改一个文件,
具体哪个文件去百度吧
exbob 2011-10-19
  • 打赏
  • 举报
回复
很简单:修改ifcfg-eth0文件。
如果是红帽或Fedora系统,
这个文件在/etc/sysconfig/network-scripts/下,
文件中:
BOOTPROTO=static
表示静态IP。
用使用DHCP,就设为:
BOOTPROTO=dhcp

hulongchuan 2011-10-19
  • 打赏
  • 举报
回复
第一种方法:ifconfig(如果是代码里实现可以写个shell脚本)
第二种方法:通过socket获取IP。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧