我买了一本《Linux网络编程》,看到第12章,12.6节ioctl()函数。
第4部分12.6.4ioctl()函数的网络接口请求。
书中举了个例子,对网络接口的获取和配置。
程序分四部分进行网络接口请求命令的测试:第一部分是通过一个序列号获得网络接口
的名称;第二部分获取网络接口的常用配置参数;第三部分获取IP地址;第四部分修改
一下本机的IP地址。
代码如下:
这个程序在Linux操作系统下可以正常工作。
可是在虚拟机上不行,第四部分修改IP地址有问题。
运行结果如下:
提示"SIOCSIFADDR error"。其中,程序里面我修改了一个地方,原程序里是eth0,
可是我的虚拟机里是eth3,所以我把原程序里eth0全改为eth3.
我的虚拟机的网络参数如下:
请问高手,哪里出了问题呢?谢谢
我怀疑是不是设置网络IP地址的时候协议族弄错啦,可是又不确定。
请高手指点,多谢!