ifconfig 用法详解

来源:互联网 发布:黄光剑抄袭软件 编辑:程序博客网 时间:2024/06/11 13:41
6.6没有ifAddrGet这几个函数了,从6.7又开始有了。


我觉得可以自己编一个这个函数,大概思路是
struct ifreq req;
s=socket(AF_INET,SOCK_DGRAM,0);
ioctl(s,SIOCGIFADDR,(int)&req);
对req做些转换。
转自Tony嵌入式论坛,地址:http://www.cevx.com/bbs/thread-28499-1-1.html






ifconfig 用法详解 
ifconfig 配置网络接口的工具介绍


ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。也可以把它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址
1 ifconfig 查看网络接口状态;


ifconfig 如果不接任何参数,就会输出当前网络接口的情况;


[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:C0:9F:94:78:0E
          inet addr:192.168.1.88  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2c0:9fff:fe94:780e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:850 errors:0 dropped:0 overruns:0 frame:0
          TX packets:628 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:369135 (360.4 KiB)  TX bytes:75945 (74.1 KiB)
          Interrupt:10 Base address:0x3000


lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:57 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8121 (7.9 KiB)  TX bytes:8121 (7.9 KiB)


解说:
eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:C0:9F:94:78:0E ; inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.1.88,广播地址, Bcast:192.168.1.255,掩码地址Mask:255.255.255.0


lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道;


如果想知道主机所有网络接口的情况,请用下面的命令;
[root@localhost ~]# ifconfig -a


如果想查看某个端口,比如查看eth0 的状态,就可以用下面的方法;
[root@localhost ~]# ifconfig eth0




2 ifconfig 配置网络接口;


ifconfig 可以用来配置网络接口的IP地址、掩码、网关、物理地址等;值得一说的是用ifconfig 为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法:一是通过各个发行和版本专用的工具来修改IP地址;二是直接修改网络接口的配置文件;三是修改特定的文件,加入ifconfig 指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig 的语名写入/etc/rc.d/rc.local文件中;


ifconfig 配置网络端口的方法:


ifconfig 工具配置网络接口的方法是通过指令的参数来达到目的的,我们只说最常用的参数;
ifconfig 网络端口 IP地址 hw <HW> MAC地址 netmask 掩码地址 broadcast 广播地址 [up/down]


* 实例一:
比如我们用ifconfig 来调试 eth0网卡的地址