ipconfig和ifconfig

来源:互联网 发布:服装设计师软件 编辑:程序博客网 时间:2024/04/30 13:44

    1、ipconfig:Windows中的ipconfig实用程序(在Windows 95/98中为图形用户界面的的winipcfg)可用于显示当前的TCP/IP配置的设置值。这些信息一般用来检验人工配置的TCP/IP设置是否正确。主要选项:
    /all:显示所有适配器的完整TCP/IP配置信息。ipconfig能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC)。如果IP地址是从DHCP服务器租用的,ipconfig将显示DHCP服务器的IP地址和租用地址预计失效的日期。在没有/all参数的情况下ipconfig只显示IP地址、子网掩码和各个适配器的默认网关值。适配器可以代表物理接口(例如安装的网络适配器)或逻辑接口(例如拨号连接)。
    /renew [adapter]:更新所有适配器(如果未指定适配器),或特定适配器(如果包含了Adapter参数)的DHCP配置。该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。要指定适配器名称,请键入使用不带参数的ipconfig命令显示的适配器名称。注意大多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址。
    /release [adapter]:发送 DHCP RELEASE消息到DHCP服务器,以释放所有适配器(如果未指定适配器)或特定适配器(如果包含了Adapter参数)的当前DHCP配置并丢弃IP地址配置。该参数可以禁用配置为自动获取IP地址的适配器的TCP/IP。
    /flushdns:清除DNS客户解析器缓存的内容。如有必要,在DNS疑难解答期间,可以使用本过程从缓存中丢弃否定性缓存记录和任何其他动添加的记录。
    /displaydns:显示DNS客户解析器缓存的内容,包括从本地主机文件预装载的记录以及由计算机解析的名称查询而最近获得的任何资源记录。DNS客户服务在查询配置的DNS服务器之前使用这些信息快速解析被频繁查询的名称。
    /registerdns:刷新所有DHCP租约并重新注册DNS名称。可以使用该参数对失败的DNS名称注册进行疑难解答或解决客户和DNS服务器之间的动态更新问题,而不必重新启动客户计算机。TCP/IP协议高级属性中的DNS设置可以确定DNS中注册了哪些名称。
    /showclassid [adapter]:显示指定适配器的DHCP类别ID。要查看所有适配器的DHCP类别ID,可以使用星号(*)通配符代替Adapter。该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。
    /setclassid Adapter [ClassID]:修改特定适配器的DHCP类别ID。要设置所有适配器的DHCP类别ID,可以使用星号(*)通配符代替Adapter。该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。如果未指定DHCP类别ID,则会删除当前类别ID。
    使用示例:
> ipconfig                       ... 显示信息
> ipconfig /all                  ... 显示详细信息
> ipconfig /renew                ... 更新所有适配器
> ipconfig /renew EL*            ... 更新所有名称以EL开头的连接
> ipconfig /release *Con*        ... 释放所有匹配的连接,例如 "Local Area Connection 1" 或"Local Area Connection 2"
> ipconfig /allcompartments      ... 显示有关所有分段的信息
> ipconfig /allcompartments /all ... 显示有关所有分段的详细信息
    2、ifconfig:Linux中对应的程序是ifconfig。ifconfig用来查看、配置、启用或禁用位于内核中的网络接口,这个工具极为常用的,在系统引导时它被用来设置必要的网络接口参数。可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。也可以把它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址。
    (1)查看网络接口状态:ifconfig如果不接任何参数,就会输出当前激活的网络接口情况。如果想知道主机所有网络接口的情况,请用命令ifconfig -a,如果想查看某个端口,比如查看eth0的状态,就可以用命令ifconfig eth0。

    eth0表示第一块网卡,其中HWaddr表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是00:0C:29:D8:45:30。MAC地址是生产厂家定的,每个网卡拥有的唯一地址。不过我们可以手工改动网卡的MAC地址,只要在/etc/rc.d/init.d/network文件中加入:
  ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
  然后重启,此时再用ifconfig命令查看一下,我们就会发现网卡的MAC地址已经变成xx:xx:xx:xx:xx:xx了。inet addr用来表示网卡的IPv4地址,此网卡的IP地址是192.168.0.115,广播地址Bcast:192.168.0.255,掩码地址Mask:255.255.255.0。必须确认这些信息都是正确无误的,否则Linux服务器无法与其它网络设备建立连接。我们也可以手工实现IP与Mac地址的捆绑,命令是:
  arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC)
    接下来显示的是设备的网络状态。UP代表网卡开启状态,RUNNING代表网卡的网线被接上,MULTICAST代表支持组播。MTU(最大传输单元)和Metric(度量值)字段显示的是该接口当前的MTU和度量值的值。按照惯例,度量值供某些操作系统所用,用于计算一条路由的成本。再下来显示接口通信的网络统计值。RX和TX分别表示接收和传送的数据包。如果你的网卡已经完成配置却还是无法与其它设备通信,那么从RX和TX的显示数据上可以简单地分析一下故障原因。在这种情况下,如果你看到接收和传送的包的计数(packets)增加,那有可能是系统的IP地址出现了混乱;如果你看到大量的错误(errors)和冲突(Collisions),那么这很有可能是网络的传输介质出了问题,例如网线不通或hub损坏。collisions表示网络讯号碰撞的情况说明,txqueuelen表示传输缓冲区长度大小。
  再下面的Interrupt:19 Base address:0x2000显示的是网卡的中断调用号和端口号,这是两个非常重要的硬件配置信息。如果您的网卡是PCI的,那么Linux在引导时有可能会自动配置这些信息(也很有可能会让您手工配置)。如果网卡是PnP的,则通常要用ifconfig进行手工配置了。
    lo表示主机的回环地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把Apache服务器httpd的地址指定到回环地址,在浏览器输入127.0.0.1就能看到你所架设的WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。您可以在自己的系统上用telnet对IP地址127.0.0.1进行测试。如果有inetd进程在运行的话您会从自己的机器上获得登录提示符。Linux可以利用这个特征在进程与仿真网络之间进行通信。
    (2)配置网络接口:ifconfig可以用来配置网络接口的IP地址、掩码、网关、物理地址等。值得一说的是用ifconfig为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法,一是通过各个发行和版本专用的工具来修改IP地址;二是直接修改网络接口的配置文件;三是修改特定的文件,加入ifconfig指令来指定网卡的IP地址,比如在RedHat或Fedora中,把ifconfig的配置命令写入/etc/rc.d/rc.local文件中。ifconfig 配置网络端口时最常用的参数格式是:
    ifconfig 网络端口 IP地址 hw MAC地址 netmask 掩码地址 broadcast 广播地址 [up/down]
    实例一:比如我们用ifconfig来调试eth0网卡的地址。

    实例二:在这个例子中,我们要学会设置网络IP地址的同时,学会设置网卡的物理地址(MAC地址)。比如我们设置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它。

    或者分两步来,如下:

    其中hw后面所接的是网络接口类型,ether表示以太网,同时也支持ax25、ARCnet、netrom等,详情请查看man ifconfig。
    (3)配置虚拟网络接口:有时我们为了满足不同的需要还需要配置虚拟网络接口,比如我们用不同的IP地址来架设运行多个httpd服务器,就要用到虚拟地址,这样就省却了同一个IP地址,如果开设两个的httpd服务器时,要指定端口号。虚拟网络接口指的是为一个网络接口指定多个IP地址,虚拟接口是这样的eth0:0、eth0:1、eth0:2、...、eth0:N。当然您为eth1指定多个IP地址,也就是 eth1:0、eth1:1、eth1:2、...,以此类推。其实用ifconfig为一个网卡配置多个IP地址,就用前面我们所说的ifconfig的用法,这个比较简单。看下面的例子:

    或者分两步

    注意指定IP时,要为每个虚拟网卡指定不同的物理地址。在Redhat/Fedora或与Redhat/Fedora类似的系统,您可以把配置网络IP地址、广播地址、掩码地址、物理地址以及激活网络接口同时放在一个句子中,写入/etc/rc.d/rc.local中。比如下面的例子:

ifconfig eth1:0 192.168.1.250 hw ether 00:11:00:33:11:44 netmask 255.255.255.0 broadcast 192.168.1.255 up
ifconfig eth1:1 192.168.1.249 hw ether 00:11:00:33:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up
    上面是为eth1的网络接口,设置了两个虚拟接口,每个接口都有自己的物理地址、IP地址等。
    (4)激活和终止网络接口的连接:激活和终止网络接口的用ifconfig命令,后面接网络接口,然后加上down或up参数,就可以禁止或激活相应的网络接口了。当然也可以用专用工具ifup和ifdown工具。

    对于激活其它类型的网络接口也是如此,比如ppp0,wlan0等,不过只是对指定IP的网卡有效。
    注意对DHCP自动分配的IP,还得由各个发行版自带的网络工具来激活,当然得安装dhcp客户端,这个我们应该明白。比如Redhat/Fedora:
[root@linuxchao ~]#/etc/init.d/network start
    Slackware发行版;
[root@linuxchao ~]#/etc/rc.d/rc.inet1
    注意ifconfig工具现在仍然被广泛地使用,但被认为是一个过时的工具了。现在有更强大的ip工具可以替代ifconfig,在绝大多数的Linux发行版中都自带有ip工具。可以使用ip addr和ip link命令来替代ifconfig,对于数据包信息的统计使用ip -s link命令。

原创粉丝点击