写一个C语言程序: 能修改Linux 主机的IP、DHCP、DNS 等设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写一个C语言程序: 能修改Linux 主机的IP、DHCP、DNS 等设置相关的知识,希望对你有一定的参考价值。

写一个C语言程序: 修改 Linux 主机的IP、DHCP、DNS 等设置 修改 Linux 主机的机器时间、机器名称 等设置 修改 Linux 主机的root用户密码、增删改用户、修改用户密码

可以调用system()函数。把linux系统命令拼成字符串,然后调用system去执行这个字符串就可以了。修改系统配置,需要root身份。
1、system函数:
原型:int
system(const
char
*
command);
功能:执行
dos(windows系统)

shell(Linux/Unix系统)
命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。
2、例程:
#include<stdio.h>
#include<stdlib.h>
int main()
system("del C:\\123.txt");//在控制台中,执行命令del C:\\123.txt,删除C盘目录下的123.txt文件
return 0;
参考技术A 5月8日
21:10
dns所要的包:
bind-*
bind-devel-*
bind-utils-*
caching-nameserver-*
redhat-config-bind-*
具体在那张盘我就记不太清楚了,你可以放进去试,反正总共才3张盘。
关于linux安装程序,比windows要复杂一点,一般的就是执行一个configure脚本,但是不是每个软件都是这么安装,你可以看一下包内的readme.txt,或
readme.txt文件,你们一定有详细的添加删除应用软件的步骤。
参考技术B 如果是在LINUX下面用的话,写一个交互友好一点的SHELL脚本是代价最小的,要想用C语言实现代价实在太高,光ifconfig/route的源码分析就很多了,还不说DHCP、DNS和用户管理什么的了。
其实以上这些需求直接都有现成的指令或系统调用,用Shell加工一下就OK了。

已知IP和端口,用c语言怎么判断能不能连接网络

已知IP和端口,用c语言怎么判断能不能连接网络,能连接网络,把数据发送给服务器。若不能连接网络,就把从客户端接收到的数据存到自己用c语言创建的文件中,等有网络后,再把缓存文件中的数据发送给服务器(JSON形式发送)

持续建立tcp连接
建立成功就是和服务器连上了
不成功就等于是无网络
建立成功后,保持一个心跳连接确定网络通畅就好
参考技术A 在什么操作系统平台下的程序?一般不自己写,可以调用系统API,就是说有现成的函数给你调用追问

Linux
要自己写逻辑,TCP链接可以做判断吗?

追答

嵌入式Linux吗?以前接触过一点,但没做过项目,网上找找例子看看吧,你的问题是里面的实现细节,抱歉回答不了了。完整的linux系统和windows差不多,应该有现成的API

以上是关于写一个C语言程序: 能修改Linux 主机的IP、DHCP、DNS 等设置的主要内容,如果未能解决你的问题,请参考以下文章

linux下用NAT方式实现主机与宿主机之间能ping

Linux虚拟机中的IP与宿主机IP不一样,但是能上网能ping通宿主机IP,但是我改成与宿主机一个网段就不行了

Linux Ubuntu 16.04 主机名设置

已知IP和端口,用c语言怎么判断能不能连接网络

linux 批量修改主机名脚本

Linux下通过HostName访问主机以及修改HostName方法