ifconfig [網路裝置][down up -allmulti -arp -promisc][add《位址》][del《位址》][《硬體位址》] [media《網路媒介型別》][mem_start《記憶體位址》][metric《數目》][mtu《位元組》][netmask《子網掩碼》][tunnel《位址》][-broadcast《位址》] [-pointopoint《位址》]補充說明:ifconfig可設定網路裝置的狀態,或是顯示目前的設定。參 數:
[網路裝置] 網路裝置的名稱。
down 關閉指定的網路裝置。
up 啟動指定的網路裝置。
-arp 開啟或關閉指定介面上使用的arp協議。前面加上乙個負號用於關閉該選項。
-allmuti 關閉或啟動指定介面的無區別模式。前面加上乙個負號用於關閉該選項。
-promisc 關閉或啟動指定網路裝置的promiscuous模式。前面加上乙個負號用於關閉該選項。
add《位址》 設定網路裝置ipv6的ip位址。
del《位址》 刪除網路裝置ipv6的ip位址。
media《網路媒介型別》 設定網路裝置的媒介型別。
mem_start《記憶體位址》 設定網路裝置在主記憶體所占用的起始位址。
metric《數目》 指定在計算
資料報的轉送次數時,所要加上的數目。
mtu《位元組》 設定網路裝置的mtu。
netmask《子網掩碼》 設定網路裝置的子網掩碼。
tunnel《位址》 建立ipv4與ipv6之間的隧道通訊位址。
-broadcast《位址》 將要送往指定位址的資料報當成
廣播資料報來處理。
-pointopoint《位址》 與指定位址的網路裝置建立直接連線,此模式具有保密功能。
無論是linux 自動安裝還是我們手工安裝,linux 都會向你詢問有關網路的問題並配置相關的
軟體。這個用於配置網絡卡的基本命令就是ifconfig。
在執行ifconfig 命令後,系統將在核心表中設定必要的引數,這樣linux 就知道如何與網路上的網**信。ifconfig 命令有以下兩種格式:
※ifconfig [inte***ce]
※ifconfig inte***ce [aftype] option | address …
ifconfig 的第一種格式(或使用不帶任何引數的ifconfig 命令)可以用來檢視當前系統的網路配置情況。
在剛剛安裝完系統之後,實際上是在沒有網絡卡或者網路連線的情況下使用linux,但通過ifconfig 可以使用迴繞方式工作,使計算機認為自己工作在網路上。
現在我們執行一下ifconfig 命令,不帶引數的ifconfig 命令可以顯示當前啟動的網路介面,其輸出結果為:
[root@machine1 /sbin]#ifconfig
eth0 link encap:ethernet hwaddr 52:54:ab:dd:6f:61
inet addr:210.34.6.89 bcast:210.34.6.127 mask:255.255.255.128
up broadcast running multicast mtu:1500 metric:1
rx packets:46299 errors:0 dropped:0 overruns:0 frame:189
tx packets:3057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
interrupt:5 base address:0xece0
lo link encap:local loopback
inet addr:
127.0.0.1mask:255.0.0.0
up loopback running mtu:3924 metric:1
rx packets:44 errors:0 dropped:0 overruns:0 frame:0
tx packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
其中以eth0 為首的部分是本機的
乙太網卡配置引數,的設這裡顯示了網絡卡的裝置名/dev/eth0 和硬體的mac 位址52:54:ab:dd:6f:61,mac 位址是生產廠家定的,每個網絡卡擁有的唯一位址。
不過我們可以手工改動網絡卡的mac 位址,只要我們在/etc/rc.d/init.d/中的network 中加入:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
jiania 解說 注:
eth0,eth1,eth2,代表網絡卡一,網絡卡二,網絡卡三
hw 代表hardware 硬體意思
ether 代表ethernet 乙太網的意思
然後重啟,此時再用ifconfig 命令檢視一下,我們就會發現網絡卡的mac 位址已經變成xx:xx:xx:xx:xx:xx了。
配置網絡卡的ip位址
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
在eth0上配置上192.168.0.1 的ip位址及24位掩碼。若想再在eth0上在配置乙個192.168.1.1/24 的ip位址怎麼辦?用下面的命令
ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0
這時再用ifconifg命令檢視,就可以看到兩個網絡卡的資訊了,分別為:eth0和eth0:0.若還想再增加ip,那網絡卡的命名就接著是:eth0:1、eth0:2……想要幾個就填幾個。ok!
配置網絡卡的硬體位址
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx就將網絡卡的硬體位址更改了,此時你就可以騙過區域網內的ip位址邦定了。
將網絡卡禁用
ifconfig eth0 down
將網絡卡啟用
ifconfig eth0 up
ifconfig 命令的功能很強大,還可以設定網絡卡的mtu,混雜模式等。就不一一介紹了,用時間可以自己研究一下。
int main(int argc, char **argv)
開啟核心支援的所有協議的套接字,主要是乙個迴圈呼叫socket的過程
if ((skfd = sockets_open(0)) < 0)
/*可能是顯示全部網絡卡的資訊,或者是顯示單一指定的網絡卡*/
if (argc == 0)
/* no. fetch the inte***ce name. */
spp = argv;
safe_strncpy(ifr.ifr_name, *spp++, ifnamsiz);
if (*spp == (char *) null)
/*接著判斷下乙個引數,有可能是協議簇名,或者是乙個選項,如果是乙個選項,則協議簇預設為ipv4*/
if ((ap = get_aftype(*spp)) != null)
spp++; /* it was a af name */
else
ap = get_aftype(dflt_af);
if (ap)
/*做乙個迴圈,處理餘下的引數,有兩種情況
1、如果是開關引數,則呼叫set_flag或clr_flag函式處理
2、如果是功能引數,直接呼叫ioctl 處理之*/
while (*spp != (char *) null)
/*餘下的主要是新增ip位址及餘下的下理,ip位址的新增先利用switch判斷協議簇,然後呼叫ioctl 處理之……*/
switch (ap->af)
初學linux ifconfig 命令
linux下網絡卡命名規律 eth0,eth1。第一塊乙太網卡,第二塊。lo為環迴介面,它的ip位址固定為127.0.0.1,掩碼8位。它代表你的機器本身。1 ifconfig是檢視網絡卡的資訊。ifconfig inte ce inte ce是可選項,如果不加此項,則顯示系統中所有網絡卡的資訊。如...
linux ifconfig命令使用詳解
linux下網絡卡命名規律 eth0,eth1。第一塊乙太網卡,第二塊。lo為環迴介面,它的ip位址固定為127.0.0.1,掩碼8位。它代表你的機器本身。1 ifconfig是檢視網絡卡的資訊。ifconfig inte ce inte ce是可選項,如果不加此項,則顯示系統中所有網絡卡的資訊。如...
Linux ifconfig命令 配置網路介面
ifconfig 命令最主要的作用就是檢視 ip 位址的資訊,直接輸入ifconfig命令即可。root localhost ifconfig eth0 link encap ethernet hwaddr 00 oc 29 c5 fb aa eth0網絡卡資訊 網路型別為乙太網 mac位址 ine...