每(mei)天一(yi)個linux命令(52):ifconfig命令
許多(duo)windows非常熟悉ipconfig命令行工具,它被(bei)用(yong)來獲取網絡接口配置信息并對(dui)此進(jin)行修改。Linux系統擁有(you)一個類似的(de)工具,也就是ifconfig(interfaces config)。通常需(xu)要以root身份登錄或使用(yong)sudo以便在(zai)Linux機器上使(shi)用ifconfig工具。依賴于ifconfig命令中使(shi)用一(yi)些選(xuan)項屬性(xing),ifconfig工具不僅可(ke)以(yi)被用(yong)來(lai)簡單地(di)獲取網絡(luo)接口配(pei)置信息(xi),還(huan)可(ke)以(yi)修改這些(xie)配(pei)置。
1.命令格式:
ifconfig [網絡設備] [參數]
2.命令功(gong)能:
ifconfig 命令(ling)用來查看和配置網(wang)絡(luo)設備。當網(wang)絡(luo)環(huan)境(jing)發生改變時可通(tong)過此命令對(dui)網(wang)絡(luo)進行相應(ying)的配置。
3.命令參數:
up 啟動指定網(wang)絡設(she)備/網(wang)卡(ka)。
down 關閉(bi)指定(ding)網絡設備/網卡。該參數可以有效地阻止通過(guo)指定(ding)接口的(de)IP信息(xi)流(liu),如果想永久地關閉一個接口,我們還(huan)需要從核心路由(you)表中(zhong)將該接口的(de)路由(you)信息(xi)全部刪除。
arp 設置指定網卡是(shi)否支持ARP協議(yi)。
-promisc 設置(zhi)是否支持網(wang)(wang)卡的promiscuous模式(shi),如(ru)果選擇此參(can)數(shu),網(wang)(wang)卡將接收網(wang)(wang)絡中(zhong)發給(gei)它所有的數(shu)據包
-allmulti 設置是否(fou)支持多播模式,如果選擇此參數(shu),網卡將接收(shou)網絡中所有的多播數(shu)據(ju)包(bao)
-a 顯示全部接口(kou)信息
-s 顯示摘要信息(類(lei)似于 netstat -i)
add 給(gei)指定網卡配置IPv6地址
del 刪除(chu)指(zhi)定網(wang)卡的IPv6地(di)址(zhi)
<硬件(jian)地址> 配(pei)置網卡最大的傳(chuan)輸(shu)單元
mtu<字節數> 設置網卡的最大傳輸單元 (bytes)
netmask<子(zi)(zi)網(wang)掩碼(ma)> 設置網(wang)卡(ka)的子(zi)(zi)網(wang)掩碼(ma)。掩碼可以是(shi)有前綴0x的(de)32位十六進(jin)(jin)制(zhi)數(shu),也可以是(shi)用點分開的(de)4個十進(jin)(jin)制(zhi)數(shu)。如(ru)果不打算將網(wang)(wang)絡分成子(zi)網(wang)(wang),可以不管這一(yi)選項;如(ru)果要使用子(zi)網(wang)(wang),那么請(qing)記住,網(wang)(wang)絡中每一(yi)個系(xi)統必須有相同子(zi)網(wang)(wang)掩碼。
tunel 建立(li)隧(sui)道
dstaddr 設定(ding)一個遠端地址,建立點對點通信
-broadcast<地址> 為指定網卡設置廣播(bo)協議
-pointtopoint<地(di)址> 為網卡(ka)設(she)置點(dian)對點(dian)通訊協(xie)議(yi)
multicast 為(wei)網卡設置組播標志
address 為網卡設置IPv4地址
txqueuelen<長(chang)度> 為網(wang)卡設置傳輸列隊的長(chang)度
4.使用(yong)實例:
實例1:顯(xian)示(shi)網絡設備信息(xi)(激活狀態的)
命令:
ifconfig
輸(shu)出:
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
說明(ming):
eth0 表示第一塊網卡, 其(qi)中(zhong) HWaddr 表示網卡的物(wu)理地(di)址(zhi)(zhi),可以看到目前這個(ge)網卡的物(wu)理地(di)址(zhi)(zhi)(MAC地(di)址(zhi)(zhi))是 00:50:56:BF:26:20
inet addr 用來表示(shi)網卡的(de)IP地(di)址,此網卡的(de) IP地(di)址是 192.168.120.204,廣(guang)播地(di)址, Bcast:192.168.120.255,掩碼地(di)址Mask:255.255.255.0
lo 是表示主機的(de)回(hui)壞地址(zhi),這個一般是用(yong)(yong)來測試一個網絡(luo)程序(xu),但(dan)(dan)又(you)不想讓局(ju)域網或外(wai)網的(de)用(yong)(yong)戶能(neng)夠查看,只能(neng)在此(ci)臺主機上(shang)運(yun)行(xing)和查看所用(yong)(yong)的(de)網絡(luo)接口。比如把 HTTPD服務器的(de)指定到回(hui)壞地址(zhi),在瀏覽器輸入 127.0.0.1 就能(neng)看到你所架WEB網站了。但(dan)(dan)只是您能(neng)看得到,局(ju)域網的(de)其它主機或用(yong)(yong)戶無從知道(dao)。
第(di)一行:連(lian)接類型:Ethernet(以太網)HWaddr(硬件mac地址)
第二行:網(wang)卡的(de)IP地址、子網(wang)、掩碼
第三行(xing):UP(代表網卡(ka)開(kai)啟(qi)狀態)RUNNING(代表網卡(ka)的網線被接(jie)上(shang))MULTICAST(支持組播)MTU:1500(最大(da)傳輸單元):1500字節
第四(si)、五行:接收、發送(song)數據包情(qing)況統計(ji)
第七行:接收、發送數據(ju)字(zi)節數統計信息。
實例2:啟動關閉指定網(wang)卡
命令(ling):
ifconfig eth0 up
ifconfig eth0 down
輸出:
說明:
ifconfig eth0 up 為啟(qi)動網卡(ka)eth0 ;ifconfig eth0 down 為關閉網卡(ka)eth0。ssh登陸linux服務器(qi)操作(zuo)要小心,關(guan)閉(bi)了(le)就不能開啟了(le),除非你有多網(wang)卡。
實例3:為網(wang)卡配(pei)置(zhi)和(he)刪(shan)除IPv6地址
命令:
ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64
輸出:
說明(ming):
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網卡eth0配置IPv6地址(zhi);
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網卡eth0刪除IPv6地址(zhi);
練習的時候(hou),ssh登陸linux服務器操作(zuo)要小心(xin),關閉了就不能開啟了,除非你(ni)有多網卡(ka)。
實例4:用ifconfig修改MAC地(di)址
命令:
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
輸出:
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~]# ifconfig eth0 up //啟動(dong)網(wang)卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //關(guan)閉網卡并修改MAC地(di)址(zhi)
[root@localhost ~]# ifconfig eth0 up //啟動(dong)網卡(ka)
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
說(shuo)明:
實(shi)例5:配置IP地址
命令:
輸出:
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
說明:
ifconfig eth0 192.168.120.56
給eth0網卡配置(zhi)IP地:192.168.120.56
ifconfig eth0 192.168.120.56 netmask 255.255.255.0
給eth0網(wang)卡配置IP地址:192.168.120.56 ,并加上子掩碼(ma):255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
/給eth0網卡配置IP地址(zhi):192.168.120.56,加上(shang)子掩碼:255.255.255.0,加上個廣播地(di)址(zhi): 192.168.120.255
實(shi)例6:啟用和關(guan)閉(bi)ARP協議
命令(ling):
ifconfig eth0 arp
ifconfig eth0 -arp
輸(shu)出(chu):
[root@localhost ~]# ifconfig eth0 -arp
說明:
ifconfig eth0 arp 開(kai)啟網卡(ka)eth0 的arp協議;
ifconfig eth0 -arp 關閉網卡eth0 的arp協議;
實例(li)7:設(she)置(zhi)最大傳輸(shu)單元
命令(ling):
ifconfig eth0 mtu 1500
輸(shu)出:
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1480 Metric:1
RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0
TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597062089 (569.4 MiB) TX bytes:2643973 (2.5 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
[root@localhost ~]# ifconfig eth0 mtu 1500
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0
TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597072333 (569.4 MiB) TX bytes:2650581 (2.5 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
[root@localhost ~]#
說明:
設(she)置能通過的最大數據包大小為(wei) 1500 bytes
備注(zhu):用ifconfig命令配置的(de)(de)網(wang)卡信(xin)息,在網(wang)卡重啟(qi)后機器重啟(qi)后,配置就不存在。要(yao)想將上述(shu)的(de)(de)配置信(xin)息永遠的(de)(de)存的(de)(de)電腦里,那就要(yao)修改網(wang)卡的(de)(de)配置文件了(le)。
關注 熵減黑客 ,一起學習成長
