class="21044">
;
Ifconfig命令使LINUX核心知道軟件回送和網卡這樣一些網絡接口,這樣Linux就可以使用它們。除了上面介紹的這些用法之外,ifconfig命令用來監控和改變網絡接口的狀態,並且還可以帶上很多命令行參數。下面是一個ifconfig的通用調用語法:
#ifconfig interface [[-net|-host] address [parameters]]
其中interface是網絡接口名:address是分配給指定接口的主機名或IP地址。這裡使用的主機名被解析成它們的對等IP地址,這個參數是必須的。-net和-host參數分別告訴ifconfig將這個地址作為網絡號或者是主機地址。
如果調用ifconfig命令時後面只跟上端口設備名,那麼它將顯示這個端口的配置情況;如果不帶任何參數,ifconfig命令將顯示至今為止所配置的接口的所有信息;如果帶上-a選項,那麼還可以顯示當前不活躍的接口。
一個檢查以太網接口eth0的ifconfig調用可以得到如下的輸出:
#ifconfig eth0
eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:44
inet addr xxx.xxx.xxx.xxx Bcast xxx.xxx.xxx.255 Mask 255.255.255.0
UP BROADCAST RUNNING MTU 1500 Metric 0
RX packets 3136 errors 217 dropped 7 overrun 26
TX packets 1752 errors 25 dropped 0 overrun 0
(注意:其中XXX.XXX.XXX.XXX是IP地址)
MTU和Metric這兩列顯示了當前eth0接口的最大數據傳送值和接口度量值。接口度量值表示在這個路徑上發送一個分組的成本。目前內核中還沒有使用路由,但可能以後會用。RX(接收分組數)和TX(傳送分組數)這兩行顯示出了接收、傳送分組的數目,以及分組出錯數、丟失分組數(一個可能原因是內存較少)和超限數(通常在接收器接收數據的速度快於核心的處理速度的時候發生)。
Parameters 表示ifconfig所支持的各種參數,使用這些參數就可以便方便地監控和改變網絡接口的狀態。
ifconfig的命令行參數:
up 激活指定的接口
down 關閉指定接口。該參數可以有效地阻止通過指定接口的IP信息 流,如果想永久地關閉一個接口,我們還需要從核心路由表中 將該接口的路由信息全部刪除
netmask mask 為接口設置IP網絡掩碼。掩碼可以是有前綴0x的32位十六進制數,也可以是用點分開的4個十進制數。如果不打算將網絡分成 子網,可以不管這一選項;如果要使用子網,那麼請記住,網絡 中每一個系統必須有相同子網掩碼。
pointpoint 打開指定接口的點對點模式。它告訴核心該接口是對另一台機 器的直接連接。當包含了一個地址時,這個地址被分配給列表另 一端的機器。如果沒有給出地址,就打開這個指定接口的 POINTPOINT選項。前面加一個負號表示關閉pointpoint選項。
broadcast address 當使用了一個地址時,設置這個接口的廣播地址。如果 沒有給出地址,就打開這個指定接口的IFF_BROADCAST選項。 前面加上一個負號表示關閉這個選項。
metric number 將接口度量值設置為整數number。度量值表示在這個路徑上發 送一個分組的成本。目前內核中還沒有使用路由成本,但將來會。
mtu bytes 將接口在一次傳輸中可以處理的最大字節數設置為整數bytes。 目前核心網絡代碼不處理IP分段,因此一定要把MTU(最大數據 傳輸單元) 值設置得足夠大
arp 打開或關閉指定接口上使用的ARP協議。前面加上一個負號用於 關閉該選項。
allmuti 打開指定接口的無區別模式。打開這個模式讓接口把網絡上的 所有信息流都送到核心中,而不僅僅是把你的機器的信息發送給 核心。前面加上一個負號表示關閉該選項
hw 為指定接口設置硬件地址。硬件類型名和次硬件地址對等的 ASCII字符必須跟在這個關鍵字後面。目前支持以太網 (ether)、AMPR、AX.25和PPP traliers 打開以太網幀上的跟蹤器。目前還未在LINUX網絡中實現,通常不需要使用所有的這些配置。
Ifconfig可以僅由接口名、網絡掩碼和分配IP地址來設置所需的一切。當ifconfig疏漏了或者有一個復雜的網絡時,只要重新設置大多數參數。
使用netstat檢查網絡狀態
接下來介紹一個很有用的命令——netstat,使用netstat命令可以監控TCP/IP網絡配置和工作狀況。它可以顯示內核路由表、 活動的網絡狀態以及每個網絡接口的有用的統計數字。欲得詳情請閱man page。
-a 顯示所有Internet連接的有關信息,包括那些正在監聽的信息
-i 顯示所有網絡設備的統計數字
-c 不斷顯示網絡的更新狀態。這個參數使用netstat每秒一次的輸出網絡狀態列表,直到該程序被中斷
-n 以數字/原始形式顯示遠程地址、本地地址和端口信息,而不是解析主機名和服務器
-o 顯示計數器的終止時間和每個網絡連接的回退(back off)情況
-r 顯示內核路由表
-t 只顯示TCP socket信息,包括正在監聽的信息
-u 只顯示UDP socket信息
-v 顯示netstat版本信息
-w 顯示原始(raw)socket信息
-x 顯示UNIX域socket信息