linux下怎样通过应用程序读取/配置网络?

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:30:59
我想知道怎样在网络应用程序中配置自身IP/子网掩码/网关,并读取子网掩码/网关的配置信息。
不要简单地告诉我通过什么ifconfig 、netstat命令配置,注意是在“程序”中调用的!
我现在知道一种方法:系统调用。例如在程序中写代码:system("ifconfig eth0 192.168.0.12")就可以。缺点是ifconfig命令的配置重启后不能保存。
我刚入门,请高手指点,如果方法得当,会追加分数(不知能不能)。
男拧要低调 在说什么?编写应用程序跟看懂内核源码有什么关系?而且我敢说现在全国搞linux开发的人上万计,高手也上千计。
网络上搜索不到的,搜索的结果都是通过命令行配置。
再说一遍:我不需要ifconfig!!!!!!
3楼:我的意思是通过运行代码来修改机器(不是程序)的IP和其他配置,这个代码怎么写?

那要用的就不是ifconfig命令了

是用程序改/etc/networks/**
也可能是/etc/sysconfig/networks/**
里的文件了

路径可能不同具体看系统啦

DNS就改/etc/resolv.conf了

看了半天,还是没太明白lz的意思哦,lz是不是想给每个应用程序都设置上自己的IP地址、mask呢?比如:EVA的ip是192.168.1.100,而BT下载的ip就是192.168.1.101,是不是这个意思啊?

就算是系统调用,调用的还是ifconfig这个命令啊。要么就是shell编程,不过还是会调用ifconfig这个命令,还有就是重定向,把这个ip写入配置文件里,这样就不会保存不了了

如果要每个应用程序都弄一个ip的话,那好像实现不了哦,不过我知道linux可以一机绑定多个IP和mask

ps:这是我唯一能帮你的,如果帮不上忙,请不要责怪

这种程序随便一搜索就出来了啊,
XP不是有一键设定IP地址的小程序吗
同理,LINUX也有,如果自己要写,起码要看得懂LINUX的源代码吧,搞LINUX开发的全国一共才几个?

在终端上输入 IFCONFIG

好像是。你 可以式一式