Linux用户的ifconfig实用程序
Ifconfig代表“接口配置 Interface Configuration”。
它是Linux机器的实用程序,用于在Unix/Linux机器中配置,分配,添加,删除,控制和查询网络接口。
普通的Linux用户使用IFCONFIG命令为接口分配IP地址和网络掩码,或者禁用或者启用给定的接口。
让我们看看Linux管理员或者linux geek如何通过此简单命令获得乐趣。
今天的theitroad将解释力量,ifconfig命令的真正实力。
1.显示网络设备和配置以及所有网络设置
[root@satish ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:1B:B9:B3:BD:4F inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:201 Base address:0xc00 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:9439 errors:0 dropped:0 overruns:0 frame:0 TX packets:9439 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5524963 (5.2 MiB) TX bytes:5524963 (5.2 MiB) ppp0 Link encap:Point-to-Point Protocol inet addr:106.219.181.163 P-t-P:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:8444 errors:0 dropped:0 overruns:0 frame:0 TX packets:8991 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:7785191 (7.4 MiB) TX bytes:1164790 (1.1 MiB)
说明:在这里我们可以清楚地看到ifconfig命令的输出。
它显示了网络接口的信息。
eth0:是我的以太网卡
lo:是回送地址
ppp0:点对点协议。
2.如何显示所有网络接口的信息
[root@satish ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:1B:B9:B3:BD:4F inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:201 Base address:0xc00 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:10033 errors:0 dropped:0 overruns:0 frame:0 TX packets:10033 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5555990 (5.2 MiB) TX bytes:5555990 (5.2 MiB) ppp0 Link encap:Point-to-Point Protocol inet addr:106.219.181.163 P-t-P:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:8468 errors:0 dropped:0 overruns:0 frame:0 TX packets:9090 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:7787427 (7.4 MiB) TX bytes:1170752 (1.1 MiB) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
注意:现在,在Linux世界中,如今ip命令越来越受人们的青睐,当我们浏览ip命令的手册页时,我们会发现它更加简单,并且还具有执行此操作的能力,这也有些棘手。
让我们看看如何在Linux中通过ip命令查看网络设备和配置。
[root@satish ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:1b:b9:b3:bd:4f brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0 3: sit0: <NOARP> mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0 4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 3 link/ppp inet 106.219.181.163 peer 10.64.64.64/32 scope global ppp0
Ip还有一个命令来显示有关网络配置和设备的更多信息
[root@satish ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:1b:b9:b3:bd:4f brd ff:ff:ff:ff:ff:ff 3: sit0: <NOARP> mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0 4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 3 link/ppp
3.查看特定接口的网络配置
[root@satish ~]# ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:106.219.181.163 P-t-P:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:8980 errors:0 dropped:0 overruns:0 frame:0 TX packets:9758 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:8289652 (7.9 MiB) TX bytes:1240309 (1.1 MiB)
4.如何启用网络接口
#ifup eth0 #ifconfig eth0 up
5.如何禁用网络接口
#ifconfig eth0 down
或者
#ifdown eth0
6,如何为网络接口分配IP
#ifconfig eth0 192.168.1.1 #ip address add 192.168.1.1 dev eth0
7.如何将Netmask分配给网络接口
#ifconfig eth0 netmask 255.255.255.0
8,如何删除一个IP地址
#ip addr del 192.168.1.1/24 dev eth0
9.如何在单个命令行中分配所有内容(IP地址,网络掩码和网络连接)。
#ifconfig eth0 netmask 255.255.255.0 up
10.如何为网络接口分配广播地址
#ifconfig eth0 broadcast 192.168.1.255
注意:广播地址是一种32位地址模式,其中所有主机位均为“ 1”
11,如何一次分配所有IP地址,网络掩码和广播地址
#ifconfig etho 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
12.如何更改网络接口卡的Mac地址
#ifconfig eth0 hw ether FF:GG:HH:II:JJ:KK
13.如何向网络接口添加新的别名
#ifconfig eth0:0 192.168.1.100
14.如何查看或者验证网络接口上是否设置了新别名
[root@satish ~]# ifconfig eth0:0 eth0:0 Link encap:Ethernet HWaddr 00:1B:B9:B3:BD:4F inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 Interrupt:201 Base address:0xc00
15,如何删除别名网络
#ifconfig eth0:0 down
16.如何更改网络接口的最大传输单元(MTU)
#ifconfig mtu 1000
17.如何启用混杂模式
#ifconfig eth0 promisc
18,如何禁用混杂模式
#ifconfig eth0 -promisc
什么是混杂模式?
答:混杂模式用于接受流经NIC(网络接口卡)的所有数据包
如今,大多数黑客和网络捕获工具都使用这种模式来捕获和分析流经网络接口卡的数据包。
在普通模式下会发生什么?
在正常模式下,每当NIC接收到一个数据包时,它都会验证该数据包是否属于其自身。
如果不是这样,它将正常丢弃数据包,而在混杂模式下则不是这样。
如何获得外部IP地址?
[root@localhost ~]# curl ifconfig.me 106.223.44.33 [root@localhost ~]#