2007年6月11日 星期一

ifconfig 用法

1.作用

ifconfig用於查看和更改網路介面的地址和參數,
包括IP地址、網路掩碼、廣播地址,使用許可權是超級用戶。

2.格式

ifconfig -interface [options] address

3.主要參數

-interface: 指定的網路介面名,如eth0和eth1。

up: 激活指定的網路介面卡。

down: 關閉指定的網路介面。

broadcast address: 設置介面的廣播地址。

pointopoint: 啟用點對點方式。

address: 設置指定介面設備的IP地址。

netmask address: 設置介面的子網掩碼。

4.應用說明

ifconfig是用來設置和配置網卡的命令行工具。
為了手工配置網路,這是一個必須掌握的命令。
使用該命令的好處是無須重新啟動機器。
要賦給eth0介面IP地址207.164.186.2,並且馬上激活它,使用下面命令:

#fconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127

說明:

該命令的作用是設置網卡eth0的IP地址、網路掩碼和網路的本地廣播地址。
若運行不帶任何參數的ifconfig命令,這個命令將顯示機器所有激活介面的資訊。
帶有“-a”參數的命令則顯示所有介面的資訊,包括沒有激活的介面。
注意,用ifconfig命令配置的網路設備參數,機器重新啟動以後將會丟失。

如果要暫停某個網路介面的工作,可以使用down參數:

#ifconfig eth0 down

ping

1.作用

ping檢測主機網路介面狀態,使用許可權是所有用戶。

2.格式

ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP地址

3.主要參數

-d:使用Socket的SO_DEBUG功能。

-c:設置完成要求回應的次數。

-f:極限檢測。

-i:指定收發資訊的間隔秒數。

-I:網路介面使用指定的網路介面送出數據包。

-l:前置載入,設置在送出要求資訊之前,先行發出的數據包。

-n:只輸出數值。

-p:設置填滿數據包的範本樣式。

-q:不顯示指令執行過程,開頭和結尾的相關資訊除外。

-r:忽略普通的Routing Table,直接將數據包送到遠端主機上。

-R:記錄路由過程。

-s:設置數據包的大小。

-t:設置存活數值TTL的大小。

-v:詳細顯示指令的執行過程。

說明:

ping 命令是使用最多的網路指令,通常我們使用它檢測網路是否連通,
它使用ICMP協議。
但是有時會有這樣的情況,我們可以瀏覽器查看一個網頁,
但是卻無法 ping通,這是因為一些網站處於安全考慮安裝了防火牆。
另外,也可以在自己電腦上試一試,通過下面的方法使系統對ping沒有反應:

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

netstat

1.作用

檢查整個Linux網路狀態。

2.格式

netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]

3.主要參數

-a--all:顯示所有連線中的Socket。

-A:列出該網路類型連線中的IP相關地址和網路類型。

-c--continuous:持續列出網路狀態。

-C--cache:顯示路由器配置的快取資訊。

-e--extend:顯示網路其他相關資訊。

-F--fib:顯示FIB。

-g--groups:顯示多重廣播功能群組組員名單。

-h--help:線上幫助。

-i--interfaces:顯示網路介面資訊表單。

-l--listening:顯示監控中的伺服器的Socket。

-M--masquerade:顯示偽裝的網路連線。

-n--numeric:直接使用IP地址,而不通過域名伺服器。

-N--netlink--symbolic:顯示網路硬體週邊設備的符號連接名稱。

-o--timers:顯示計時器。

-p--programs:顯示正在使用Socket的程式識別碼和程式名稱。

-r--route:顯示Routing Table。

-s--statistice:顯示網路工作資訊統計表。

-t--tcp:顯示TCP傳輸協議的連線狀況。

-u--udp:顯示UDP傳輸協議的連線狀況。

-v--verbose:顯示指令執行過程。

-V--version:顯示版本資訊。

-w--raw:顯示RAW傳輸協議的連線狀況。

-x--unix:和指定“-A unix”參數相同。

--ip--inet:和指定“-A inet”參數相同。

4.應用實例

netstat 主要用於Linux察看自身的網路狀況,如開啟的端口、在為哪些用戶服務,以及
服務的狀態等。此外,它還顯示系統路由表、網路介面狀態等。可以說,它是一個綜合性
的網路狀態的察看工具。在默認情況下,netstat只顯示已建立連接的端口。如果要顯示
處於監聽狀態的所有端口,使用-a參數即可:

#netstat -a

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 *:32768 *:* LISTEN

tcp 0 0 *:32769 *:* LISTEN

tcp 0 0 *:nfs *:* LISTEN

tcp 0 0 *:32770 *:* LISTEN

tcp 0 0 *:868 *:* LISTEN

tcp 0 0 *:617 *:* LISTEN

tcp 0 0 *:mysql *:* LISTEN

tcp 0 0 *:netbios-ssn *:* LISTEN

tcp 0 0 *:sunrpc *:* LISTEN

tcp 0 0 *:10000 *:* LISTEN

tcp 0 0 *:http *:* LISTEN

......

上面顯示出,這臺主機同時提供HTTP、FTP、NFS、MySQL等服務。

小技巧:

1.在一張網卡上綁定多個IP地址

在Linux下,可以使用ifconfig方便地綁定多個IP地址到一張網卡。例如,eth0介面的原
有IP地址為192.168.0 .254,可以執行下面命令:

ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0

ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0

......

2.修改網卡MAC地址

首先必須關閉網卡設備,命令如下:

/sbin/ifconfig eth0 down

修改MAC地址,命令如下:

/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

重新啟用網卡:

/sbin/ifconfig eht0 up

2.修改網卡MAC地址

首先必須關閉網卡設備,命令如下:

/sbin/ifconfig eth0 down

修改MAC地址,命令如下:

/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

重新啟用網卡:

/sbin/ifconfig eht0 up

這樣網卡的MAC地址就更改完成了。每張網卡的MAC地址是惟一,但不是不能修改的,只要
保證在網路中的MAC地址的惟一性就可以了。

沒有留言: