Linux 必學的 60 個命令(4)網絡操作

因為 Linux 系統是在 Internet 上起源和發展的,它與生俱來擁有強大的網絡功能和豐富的網絡應用軟件,尤其是 TCP/IP 網絡協議的實現尤為成熟。Linux 的網絡命令比較多,其中一些命令像 ping、ftp、telnet、route、netstat 等在其它操作系統上也能看到,但也有一些 Unix/Linux 系統獨有的命令,如 ifconfig、finger、mail 等。Linux 網絡操作命令的一個特點是,命令參數選項和功能很多,一個命令往往還可以實現其它命令的功能。

ifconfig

1.作用

ifconfig 用千查看和更改網絡接口的地址和參數,包括 IP 地址、網絡掩碼、廣播地

址,使用權限是超級用戶。

2.格式

ifconfig —interface [options] address

3.主要參數4.應用說明

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

t:ifconfig ethO 21O.34.6.89 netmask 255.255.255.128 broadcast 21O.34.6.127

該命令的作用是設置網卡 ethO 的 IP 地址、網絡掩碼和網絡的本地廣播地址。若運行不帶任何參數的 ifconfig 命令,這個命令將顯示機器所有激活接口的信息。帶有“—a"參數的命令則顯示所有接口的信息,包括沒有激活的接口。注意,用 ifconfig 命令配置的網絡設備參數,機器重新啟動以後將會丟失。

如果要暫停某個網絡接口的工作,可以使用 down 參數:

t:ifconfig ethO down ip 1.作用

ip 是 iproute2 軟件包裡面的一個強大的網絡配置工具,它能夠替代一些傳統的網絡管理工具,例如 ifconfig、route 等,使用權限為超級用戶。兒乎所有的Linux 發行版本都支持該命令。

2.格式

ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

3.主要參數

OPTIONS 是修改ip 行為或改變其輸出的選項。所有的選項都是以—字符開頭,分為長、

短兩種形式。目前,ip 支持如表 1 所示選項。

OBJECT 是要管理者獲取信息的對象。目前 ip 認識的對象見表 2 所示。

表 1 ip 支持的選項


—V,—Version

打印 ip 的版本並退出。

—s,—stats,—statistics

輸出更為詳盡的信息。如果這個選項出現兩次或多次,則輸出的信

息將更為詳盡。

—f,—family

這個選項後面接協議種類,包括 inet、inet6 或 link,強調使用的協議種類。如果沒有足夠的信息告訴 ip 使用的協議種類,ip 就會使用默認值 inet 或 any。link 比較特殊,它表示不涉及任何網

絡協議。

—4

是—family inet 的簡寫。

—6

是—family inet6 的簡寫。

—O

是—family link 的簡寫。

—o,—oneline

對每行記錄都使用單行輸出,回行用字符代替。如果需要使用 wc

grep 等工具處理 ip 的輸出,則會用到這個選項。

—r,—resolve

查詢域名解析系統,用獲得的主機名代替主機 IP 地址

COMMAND 設置針對指定對象執行的操作,它和對象的類型有關。一般情況下,ip 支持對象的增加(add)、刪除(delete)和展示(show 或 list)。有些對象不支持這些操作,或者有其它的一些命令。對千所有的對象,用戶可以使用 help 命令獲得幫助。這個命令會列出這個對象支持的命令和參數的語法。如果沒有指定對象的操作命令,ip 會使用默認的命令。一般情況下,默認命令是 list,如果對象不能列出,就會執行 help 命令。

ARGUMENTS 是命令的一些參數,它們倚賴千對象和命令。ip 支持兩種類型的參數:flag 和 parameter。flag 由一個關鍵詞組成;parameter 由一個關鍵詞加一個數值組成。為了方便,每個命令都有一個可以忽略的默認參數。例如,參數dev 是ip link 命令的默認參數,因此 ip link ls ethO 等千 ip link ls dev ethO。我們將在後面的詳細介紹每個命令的使用,命令的默認參數將使用 default 標出。

4.應用實例

添加 IP 地址 192.168.2.2/24 到 ethO 網卡上:

t:ip addr add 192.168.1.1/24 dev ethO

丟棄源地址屬千 192.168.2.O/24 網絡的所有數據報: t:ip rule add from 192.168.2.O/24 prio 32777 reject ping 1.作用

ping 檢測主機網絡接口狀態,使用權限是所有用戶。

2.格式

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

3.主要參數

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

t: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

netstat

1.作用

檢查整個 Linux 網絡狀態。

2.格式

netstat [—acCeFghilMnNoprstuvVwx][—A][——ip]

3.主要參數

4.應用實例

netstat 主要用千 Linux 察看自身的網絡狀況,如開啟的端口、在為哪些用戶服務,


以及服務的狀態等。此外,它還顯示系統路由表、網絡接口狀態等。可以說,它是一個綜合性的網絡狀態的察看工具。在默認情況下,netstat 只顯示已建立連接的端口。如果要顯示處千監聽狀態的所有端口,使用—a 參數即可:

t:netstat —a

Active Internet connections (only servers)

Proto

Recv—Q

Send—Q

Local

Address

Foreign Address

State

tcp

O

O

*:32768

*:*

LISTEN

tcp

O

O

*:32769

*:*

LISTEN

tcp

O

O

*:nfs

*:*

LISTEN

tcp

O

O

*:3277O

*:*

LISTEN

tcp

O

O

*:868

*:*

LISTEN

tcp

O

O

*:617

*:*

LISTEN

tcp

O

O

*:mysql

*:*

LISTEN

tcp O O *:netbios—ssn *:*

LISTEN

tcp

O

O

*:sunrpc

*:*

LISTEN

tcp

O

O

*:1OOOO

*:*

LISTEN

tcp

O

O

*:http

*:*

LISTEN

......

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

telnet 表示開啟終端機階段作業,並登入遠端主機。telnet 是一個 Linux 命令,同時也是一個協議(遠程登陸協議)。

2.格式

telnet [—8acdEfFKLrx][—b][—e][—k][—l][—n][—S][—X][主機名稱 IP 地址<通信端口

>]

3.主要參數

4.應用說明

用戶使用 telnet 命令可以進行遠程登錄,並在遠程計算機之間進行通信。用戶通過網絡在遠程計算機上登錄,就像登錄到本地機上執行命令一樣。為了通過 telnet 登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統確實為遠程用戶提供登錄功能,但出千對安全的考慮,要限制來賓的操作權限,因此,這種情況下能使用的功能是很少的。

telnet 只為普通終端提供終端仿真,而不支持 X—Window 等圖形環境。當允許遠程用戶登錄時,系統通常把這些用戶放在一個受限制的 Shell 中,以防系統被懷有惡意的或不小心的用戶破壞。用戶還可以使用 telnet 從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。

ftp 1. 作 用 ftp 命令進行遠程文件傳輸。FTP 是 ARPANet 的標準文件傳輸協議,該網絡就是現今

Internet 的前身,所以 ftp 既是協議又是一個命令。

2.格式

ftp [—dignv][主機名稱 IP 地址] 3.主要參數

4.應用說明

ftp 命令是標準的文件傳輸協議的用戶接口,是在TCP/IP 網絡計算機之間傳輸文件簡單有效的方法,它允許用戶傳輸 ASCII文件和二進制文件。為了使用 ftp 來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認 ftp 會話,並用來確定用戶對要傳輸的文件進行什麼樣的訪問。另外,用戶需要知道對其進行 ftp 會話的計算機名字的 IP 地址。

用戶可以通過使用 ftp 客戶程序,連接到另一臺計算機上;可以在目錄中上下移動、列出目錄內容;可以把文件從遠程計算機機拷貝到本地機上;還可以把文件從本地機傳輸到遠程系統中。ftp 內部命令有 72 個,下面列出主要兒個內部命令:

route 1. 作 用 route 表示手工產生、修改和查看路由表。2.格式

t:route [—add][—netl—host] targetaddress [—netmask Nm][dev]If]

t:route [—delete][—netl—host] targetaddress [gw Gw] [—netmask Nm] [dev]If] 3.主要參數

4. 應 用 實 例 route 命令是用來查看和設置 Linux 系統的路由信息,以實現與其它網絡的通信。要實現兩個不同的子網之間的通信,需要一臺連接兩個網絡的路由器,或者同時位千兩個網絡的網關來實現。

在 Linux 系統中,設置路由通常是為了解決以下問題:該 Linux 系統在一個局域網中,

局域網中有一個網關,能夠讓機器訪問 Internet,那麼就需要將這臺機器的 IP 地址設置

為 Linux 機器的默認路由。使用下面命令可以增加一個默認路由:

route add O.O.O.O 192.168.1.1 rlogin 1. 作 用 rlogin 用來進行遠程註冊。

2.格式

rlogin [ —8EKLdx ] [ —e char ] [—k realm ] [ — l username ] host 3.主要參數

—8:此選項始終允許 8 位輸入數據通道。該選項允許發送格式化的ANSI 字符和其它的特殊代碼。如果不用這個選項,除非遠端的不是終止和啟動字符,否則就去掉奇偶校驗位。

—E:停止把任何字符當作轉義字符。當和—8 選項一起使用時,它提供一個完全的透明連接。

—K:關閉所有的 Kerberos 確認。只有與使用 Kerberos 確認協議的主機連接時才使用這個選項。

—L:允許 rlogin 會話在 litout 模式中運行。要了解更多信息,請查閱 tty 聯機幫助。

—d:打開與遠程主機進行通信的 TCP sockets 的 socket 調試。要了解更多信息,請查閱 setsockopt 的聯機幫助。

—e:為 rlogin 會話設置轉義字符,默認的轉義字符是“�"。

—k:請求 rlogin 獲得在指定區域內遠程主機的 Kerberos 許可,而不是獲得由

krb_realmofhost(3)確定的遠程主機區域內的遠程主機的 Kerberos 許可。

—x:為所有通過 rlogin 會話傳送的數據打開 DES 加密。這會影響響應時間和CPU 利用率,但是可以提高安全性。

4.使用說明

如果在網絡中的不同系統上都有賬號,或者可以訪問別人在另一個系統上的賬號,那麼要訪問別的系統中的賬號,首先就要註冊到系統中,接著通過網絡遠程註冊到賬號所在的系統中。rlogin 可以遠程註冊到別的系統中,它的參數應是一個系統名。

rcp

1. 作 用 rcp 代表遠程文件拷貝,用千計算機之間文件拷貝,使用權限是所有用戶。2.格式

rcp [—px] [—k realm] file1 file2 rcp [—px] [—r] [—k realm] file

3.主要參數

—r:遞歸地把源目錄中的所有內容拷貝到目的目錄中。要使用這個選項,目的必須是 一個目錄。

—p:試圖保留源文件的修改時間和模式,忽略 umask。

—k:請求 rcp 獲得在指定區域內的遠程主機的 Kerberos 許可,而不是獲得由

krb_relmofhost(3)確定的遠程主機區域內的遠程主機的 Kerberos 許可。

—x:為傳送的所有數據打開 DES 加密。finger 1.作用

finger 用來查詢一臺主機上的登錄賬號的信息,通常會顯示用戶名、主目錄、停滯時間、登錄時間、登錄 Shell 等信息,使用權限為所有用戶。

2.格式

finger [選項] [使用者] [用戶@主機] 3.主要參數

—s:顯示用戶註冊名、實際姓名、終端名稱、寫狀態、停滯時間、登錄時間等信息。

—l:除了用—s 選項顯示的信息外,還顯示用戶主目錄、登錄 Shell、郵件狀態等信息, 以及用戶主目錄下的.plan、.project 和.forward 文件的內容。

—p:除了不顯示.plan 文件和.project 文件以外,與—l 選項相同。

4.應用實例

在計算機上使用 finger:

Phone

root

root

tty1

2

Dec

15

11

root

root

pts/O

1

Dec

15

11

root

root

*pts/1

Dec

15

11

5.應用說明

如果要查詢遠程機上的用戶信息,需要在用戶名後面接“@主機名",採用[用戶名@主機名]的格式,不過要查詢的網絡主機需要運行 finger 守護進程的支持。

mail

1.作用

mail 作用是發送電子郵件,使用權限是所有用戶。此外,mail 還是一個電子郵件程序。2.格式

3.主要參數nslookup 1. 作 用 nslookup 命令的功能是查詢一臺機器的 IP 地址和其對應的域名。使用權限所有用戶。

它通常需要一臺域名服務器來提供域名服務。如果用戶已經設置好域名服務器,就可以用這個命令查看不同主機的 IP 地址對應的域名。

2.格式

nslookup [IP 地址/域名]

3.應用實例

(1)在本地計算機上使用 nslookup 命令

在符號“>"後面輸入要查詢的 IP 地址域名,並回車即可。如果要退出該命令,輸入

“exit",並回車即可。

(2)使用 nslookup 命令測試 named

輸入下面命令:

nslookup

然後就進入交換式 nslookup 環境。如果 named 正常啟動,則 nslookup 會顯示當前 DNS

服務器的地址和域名,否則表示 named 沒能正常啟動。下面簡單介紹一些基本的 DNS 診斷。

• 檢查正向 DNS 解析,在 nslookup 提示符下輸入帶域名的主機名,如 hp712.my.com,

nslookup 應能顯示該主機名對應的 IP 地址。如果只輸入 hp712,nslookup 會根據

/etc/resolv.conf 的定義,自動添加 my.com 域名,並回答對應的 IP 地址。

• 檢查反向 DNS 解析,在 nslookup 提示符下輸入某個 IP 地址,如 192.22.33.2O,

nslookup 應能回答該 IP 地址所對應的主機名。

• 檢查 MX 郵件地址記錄在 nslookup 提示符下輸入:

set q=mx

然後輸入某個域名,輸入 my.com 和mail.my.com,nslookup 應能夠回答對應的郵件服務器地址,即 support.my.com 和 support2.my.com。

動手練習

1.危險的網絡命令

互聯網的發展使安全成為一個不能忽視的問題,finger、ftp、rcp 和 telnet 在本質上都是不安全的,因為它們在網絡上用明文傳送口令和數據,嗅探器可以非常容易地截獲這些口令和數據。而且,這些服務程序的安全驗證方式也是有弱點的,很容易受到“中間服務器"方式的攻擊。這裡筆者把一些不安全的命令根據危險等級列出,見表 3 所示。

現在 ftp、telnet 可以被 SSH 命令代替綁定在端口 22 上,其連接採用協商方式,使用

RSA 加密。身份鑑別完成之後,後面的所有流量都使用 IDEA 進行加密。SSH(Secure Shell)程序可以通過網絡登錄到遠程主機,並執行命令。rcp、rlogin 等遠程調用命令也逐漸被VNC 軟件代替。

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

在 Linux 下,可以使用 ifconfig 方便地綁定多個 IP 地址到一張網卡。例如,ethO 接

口的原有 IP 地址為 192.168.O .254,可以執行下面命令:3.修改網卡MAC 地址

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

/sbin/ifconfig ethO down

修改 MAC 地址,命令如下:

/sbin/ifconfig ethO hw ether OO:AA:BB:CC:DD:EE

重新啟用網卡:

/sbin/ifconfig ehtO up

這樣網卡的 MAC 地址就更改完成了。每張網卡的 MAC 地址是惟一,但不是不能修改的,

只要保證在網絡中的 MAC 地址的惟一性就可以了。

4.初步部署IPv6

IPv4 技術在網絡發展中起到了巨大的作用,不過隨著時間的流逝它無論在網絡地址的提供、服務質量、安全性等方面都越來越力不從心,IPv6 呼之欲出。Linux 是所有操作系統中最先支持 IPv6 的,一般 Linux 基千 2.4 內核的Linux 發行版本都可以直接使用IPv6, 不過主要發行版本沒有加載 IPv6 模塊,可以使用命令手工加載,需要超級用戶的權限。

(1)加載 IPv6 模塊

使用命令檢測,其中 inet6 addr: fe8O::5O54:abff:fe34:5bO9/64,就是 ethO 網卡的 IPv6 地址。

(2)使用 ping 命令檢測網卡的 IPv6 地址是否有效

t:ping6 —I ethO —c 2 fe8O::2OO:e8ff:feaO:2586

和 IPv4 不一樣,使用 ping6 命令時必須指定一個網卡界面,否則系統不知道將數據包發送到哪個網絡設備。I 表示 Interface、ethO 是第一個網卡,—c 表示迴路,2 表示ping6 操作兩次。結果見圖 1 所示。

圖 1 IPv6 網絡下的 ping6 命令

(3)使用 ip 命令在 IPv6 下為 ethO 增加一個 IP 地址

t:ip —6 addr add 3ffe:ffff:O:f1O1::1/64 dev ethO

使用 ifconfig 命令,查看網卡是否出現第二個 IPv6 地址。

Linux 網絡的主要優點是能夠實現資源和信息的共享,並且用戶可以遠程訪問信息。

Linux 提供了一組強有力的網絡命令來為用戶服務,這些工具能夠幫助用戶進行網絡設定、

檢查網絡狀況、登錄到遠程計算機上、傳輸文件和執行遠程命令等。

上面介紹了Linux 中比較重要的網絡命令,其實 Linux 還有許多命令需要學習。Linux 網絡操作命令的一個特點就是命令參數選項很多,並不要求全部記住,關鍵在千理解命令的主要用途和學會使用幫助信息


分享到:


相關文章: