linux ifconfig 摘自百度百科)

2021-06-01 06:19:17 字數 3878 閱讀 7625

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...