全面掌握Solaris網(wǎng)絡(luò)管理工具
目前, 由于UNIX 操作系統(tǒng)的諸多優(yōu)點, 主流ISP 基本采用UNIX 作為提供服務(wù)的系統(tǒng)平臺, 其中Solaris 占了其中的很大比例?網(wǎng)絡(luò)管理工具范圍廣泛, 本文從功能出發(fā)把網(wǎng)絡(luò)管理工具分成不同
目前, 由于UNIX 操作系統(tǒng)的諸多優(yōu)點, 主流ISP 基本采用UNIX 作為提供服務(wù)的系統(tǒng)平臺, 其中Solaris 占了其中的很大比例?網(wǎng)絡(luò)管理工具范圍廣泛, 本文從功能出發(fā)把網(wǎng)絡(luò)管理工具分成不同的類, 然后分類介紹這些軟件工具?工具使用上難易程度相差較大, 考慮到篇幅, 這里僅作簡單的介紹?首先介紹Solaris 10 自身攜帶的工具軟件?
一、狀態(tài)監(jiān)視工具
1.ifconfig
ifconfig 在UNIX 類操作系統(tǒng)內(nèi)提供, 一般用于設(shè)置?查詢網(wǎng)絡(luò)接口的參數(shù)或狀態(tài)?使用它來查詢每個接口的配置信息時, 要使用-a 選項?查看命令的輸出結(jié)果, 可以確定接口是否工作(UP),如果沒有UP, 就說明接口未開啟, 處于禁止?fàn)顟B(tài)?還可以查看到最大傳輸單元(MTU)為多少(對于以太網(wǎng)一般為1500B), 是否支持BROADCAST(廣播) ?SIMPLEX(單播) 和MULTICAST(多播或組播) 或它們的組合方式等?
2.ping 及其替換工具
ping 命令用來檢查是否可以到達目標(biāo)節(jié)點, 顯示目標(biāo)是否響應(yīng), 以及收到響應(yīng)所需的往返時間等?如果在傳遞過程中出現(xiàn)錯誤,ping 命令將顯示錯誤消息?ping 在多種操作系統(tǒng)中提供(Windows和UNIX) ?ping 通過發(fā)送一個ICMPECHO 請求包到目標(biāo), 如果收到一個ICMPECHO 響應(yīng)包, 說明目標(biāo)是活動的, 否則可以判斷目標(biāo)節(jié)點沒有在線?網(wǎng)絡(luò)路由設(shè)置出錯或者目標(biāo)使用了某些過濾器過濾了
ICMP 的ECHO 報文?類似于ping 的工具還有fping, 可以并行地?多個主機同時檢查, 主要的特點是探測的目標(biāo)設(shè)備列表可以存入文件中, 然后用文件來控制操作?對于特殊情況, 可以使用arping, 它采用ARP 請求和響應(yīng)來探測, 因此不會被阻塞, 當(dāng)然只適用于本地網(wǎng)絡(luò)?利用arping 可以很快找出某個IP 地址對應(yīng)的MAC 地址, 也能夠反向查找?
3.nslookup ?dig 和host
這幾個命令在UNIX 和linux 系統(tǒng)中使用, 都可以進行域名的解析?nslookup 使用交互方式查詢域名與IP 地址的映射關(guān)系?dig 的功能是發(fā)送域名查詢信息包到域名服務(wù)器, 并獲得結(jié)果?dig 有兩種工作模式:簡單交互模式和批處理模式?簡單交互模式用于簡單的查詢, 而批處理模式則可以對包含多個查詢條目的列表執(zhí)
,行查詢?host 命令向域名服務(wù)器查詢, 獲得本機或其他主機的域名?
二、流量監(jiān)視工具
1. snoop命令
這個工具都是通過捕捉網(wǎng)絡(luò)的分組, 然后按照不同的形式顯示或輸出這些分組?診斷網(wǎng)絡(luò)故障的第一步就是收集信息?包括從用戶收集一些反映問題本質(zhì)的信息, 也包括來自網(wǎng)絡(luò)的信息?成功與否在很大程度上取決于收集信息的效率和所收集的信息的質(zhì)量?分組捕捉與分析是診斷故障的最終方法, 也是最復(fù)雜的方法, 通過實時地收集分組數(shù)據(jù), 對流量加以分析, 能夠了解網(wǎng)絡(luò)內(nèi)部到底發(fā)生了什么事情?當(dāng)然不當(dāng)?shù)氖褂靡矔ο到y(tǒng)安全造成威脅, 因為這些工具可能獲得敏感的信息?
這類工具有多種不同的名稱, 如分組嗅探器(PacketSniffer)?分組分析器(PacketAnalyzer)?協(xié)議分析儀(ProtocolAnalyzer)和流量監(jiān)視器(TrafficMonitor)等?它們之間的主要差別是對捕捉到的分組所做的分析量的多少?如分組嗅探器是工作量最少的工具, 而協(xié)議分析儀是工作量最大的工具, 位于二者之間的是分組分析器工具?流量監(jiān)視器以提供統(tǒng)計數(shù)據(jù)為主, 有時也可能提供原始的分組數(shù)據(jù)?snoop 屬于分組嗅探器,tcpdump 屬于分組分析器, 而ethereal 屬于協(xié)議分析儀? Solaris 提供了snoop 或etherfind, 前者是后者的替代, 后者在SunOS 老版本中提供?下面是運行了snoop 以后的輸出,如圖 -1 。
,圖 1 snoop命令輸出
snoop 本身能夠運行在以太網(wǎng)環(huán)境下的solaris 系統(tǒng)中,然后依靠網(wǎng)卡的混雜模式從網(wǎng)絡(luò)中讀 取流過的所有數(shù)據(jù)包,當(dāng)然,這依賴于網(wǎng)絡(luò)必須是共享式以太網(wǎng)(使用集線器) ,或者在交換機上 配置SPAN 功能把所有流量鏡像到snoop 所運行的機器。如果網(wǎng)絡(luò)是運行在除以上兩者之外的交 換網(wǎng)絡(luò)上的話,那么snoop 只能夠獲取到廣播數(shù)據(jù),以及發(fā)往主機自身的數(shù)據(jù)。
三、路由監(jiān)視工具
1.traceroute
traceroute 的設(shè)計者為VanJacobson, 通過巧妙地利用IP 分組TTL 值, 讓從源站到網(wǎng)絡(luò)管理目標(biāo)的路徑中的路由器產(chǎn)生ICMP 超時報錯報文, 從而了解路由的具體情況?traceroute 第
將TTL 從1開始, 逐個地增加, 向目標(biāo)發(fā)送3次UDP 報文, 其中的目的端口號為隨機的不同的值, 因此最終到達目標(biāo)時, 將返回一個ICMP 的目標(biāo)端口不可達的報文?
2.arp
arp 表是設(shè)備內(nèi)存儲的關(guān)于IP 地址和MAC 地址的對應(yīng)關(guān)系, 每個設(shè)備都必須
,支持arp 協(xié)議?可以發(fā)現(xiàn), 表中的每一項都是針對直接相連的節(jié)點或主機, 即位于本地局域網(wǎng)的節(jié)點或主機, 因為那些遠程主機需要經(jīng)過路由器才能到達, 而不能直接連接?一些UNIX 系統(tǒng)中查看當(dāng)前的arp 表使用的開關(guān)是-a, 盡管不同系統(tǒng)之間有差別, 但是主要內(nèi)容是一致的?通過檢查arp 表, 可以了解各個節(jié)點的MAC 地址, 從而知道設(shè)備的生產(chǎn)廠商?如果本地局域網(wǎng)的一些主機可以訪問, 而另一些卻不能訪問, 那么arp 問題就是首先要考慮的, 不正確的arp 解析將造成節(jié)點不能訪問, 或者時通時斷(間歇性故障) ?除了能夠顯示arp 表之外,arp 命令還可以增加?刪除表項, 設(shè)置靜態(tài)表項, 這些功能對于網(wǎng)絡(luò)故障的糾錯很有幫助?
3.netstat
可以說這是最有用的網(wǎng)絡(luò)工具之一, 可以列出與網(wǎng)絡(luò)有關(guān)的核心數(shù)據(jù)結(jié)構(gòu)的內(nèi)容?可以按照TCP 與UDP 來分析通信狀態(tài), 發(fā)現(xiàn)網(wǎng)絡(luò)中的異常?如檢查發(fā)送與接收隊列的長度是否為0或接近0, 否則說明存在某種故障?可以檢查各個TCP 連接的狀態(tài), 發(fā)現(xiàn)連接中可能存在的問題?它還可以統(tǒng)計每個接口收發(fā)分組的情況, 用于統(tǒng)計吞吐量?除了這些用途,netstat 還可以顯示設(shè)備的路由表, 這可以用于解決路由問題?如果發(fā)現(xiàn)網(wǎng)絡(luò)或主機不能到達, 檢查路由表就是一個比較有效的方法?一般地, 系統(tǒng)的路由表表項的建立有4種途徑:使用動態(tài)路由協(xié)議獲得; 通過ICMP 的Rediect 獲得; 使用ifconfig 配置接口后建立; 使用route 命令以人工維護方式設(shè)置?顯示路由表使用-r 命令選項?
四、GUI 集成監(jiān)控工具:性能監(jiān)視器
以上的是命令行工具,Solaris 還提供了一個在GUI 界面下的工具:性能監(jiān)視器(sdtperfmeter)。要想使所有的資源在經(jīng)過線程優(yōu)化的并行應(yīng)用系統(tǒng)中具備順暢的響應(yīng)速度,就必須使用更為全面的性能監(jiān)控工具,而傳統(tǒng)的Unix 工具集是不具備這一能力的。使用“性能監(jiān)視器”可以監(jiān)視工作站的活動和性能??梢栽谠摽啥ㄖ拼翱谥幸詧D形方式顯示若干個性能參數(shù),如 CPU 利用率、磁盤活動、網(wǎng)絡(luò)包,等等。您可以監(jiān)視本地主機或遠程主機的性能,設(shè)置彩色的活動閥值以在性能出現(xiàn)異常時向您發(fā)出警告,并將樣例記錄到文件中。 性能監(jiān)視器可以工作在JDS 或者CDE 桌面下。本文以JDS 桌面為例。
1. 啟動性能監(jiān)視器
單擊“前面板”上的“性能監(jiān)視器”控件。“性能監(jiān)視器”打開并顯示缺省圖表
,(CPU 和磁盤活動) 。
2. 選擇要顯示的主機和參數(shù)
選擇以進行監(jiān)視的參數(shù)可能取決于: 所運行的應(yīng)用程序類型; 網(wǎng)絡(luò); 您對 UNIX 進程和系統(tǒng)裝入的了解程度。不熟悉系統(tǒng)參數(shù)的用戶通常選擇顯示 CPU 和磁盤使用情況。對于那些比較熟悉系統(tǒng)參數(shù)的用戶,典型設(shè)置是顯示 CPU 使用、磁盤使用、系統(tǒng)負載和包。如果擔(dān)心網(wǎng)絡(luò)通信擁塞,您可以顯示每秒鐘傳送的網(wǎng)絡(luò)包數(shù)目,并在運行網(wǎng)絡(luò)密集型活動(如因特網(wǎng)瀏覽或遠程操作) 時監(jiān)視此性能。如果“性能監(jiān)視器”指示 CPU 使用率很高,則可以使用“進程管理器”來標(biāo)識和中止錯誤的或 CPU 密集型的進程。如果在運行 CPU 密集型應(yīng)用程序時退出系統(tǒng),然后再登錄回系統(tǒng),則“性能監(jiān)視器”的 CPU 顯示可能表明 CPU 使用率非常高。意識到這一點后,可以使用“進程管理器”來中止任何錯誤的進程。
3. 指定要監(jiān)視的主機和參數(shù)
從“選項”菜單中選擇“設(shè)置”。“性能監(jiān)視器”顯示“設(shè)置”對話框。選擇“遠程”單選按鈕以表明要鍵入遠程主機的名稱。鍵入系統(tǒng)名稱(例如,jupiter) 或遠程主機的 IP 地址。數(shù)打開“查看”菜單以顯示可用參數(shù)的列表。每個參數(shù)都有一個復(fù)選框,用來表明當(dāng)前是否選定該參數(shù)以進行顯示。選擇或撤消選擇相關(guān)的菜單項以顯示或移除任何參數(shù)。可以顯示任何參數(shù)組合。如圖2。
圖2 指定要監(jiān)視的主機和參數(shù)
4. 更改參數(shù)的閥值
從“選項”菜單中選擇“設(shè)置”?!靶阅鼙O(jiān)視器”顯示“設(shè)置”對話框,對于每個參數(shù),該對話框中都包含一個“閥值“框。鍵入相關(guān)參數(shù)的新閥值,并單擊“應(yīng)用”?,F(xiàn)在,底于新閥值的值將使用為低于閥值的值選擇的顏色來顯示,而高于該新閥值的值將使用為高于閥值的值選擇的顏色來顯示。網(wǎng)絡(luò)封包缺省閥值: 16 /秒。圖3是顯示CPU 和網(wǎng)絡(luò)監(jiān)控參數(shù)的性能監(jiān)視器界面。
圖3 顯示CPU 和網(wǎng)絡(luò)監(jiān)控參數(shù)的性能監(jiān)視器界面 到處為止筆者介紹的是Solaris 自己的網(wǎng)絡(luò)管理工具,下面看看可以安裝的第三方的網(wǎng)絡(luò)管理工具。
1. 使用inetmenu 快速修改IP 地址
對于工作站而言,網(wǎng)絡(luò)的配置需要根據(jù)環(huán)境經(jīng)常做改動,比如不同的上網(wǎng)方式,不同的IP 地址,不同的命名服務(wù)(NIS或DNS) 等。如果你有這樣的需求,推薦你使用 OpenSolaris 提供的圖形界面工具:inetmenu 。
inetmenu 的下載地址:http://www.opensolaris.org/os/community/laptop/inetmenu/ 。
,inetmenu 的下載安裝方法如下:
inetmenu 將安裝在/usr/bin/目錄。使用方法為,在X-Window 的終端中運行命令:#/usr/bin/inetmenu即可。你可以選擇上網(wǎng)方式和設(shè)置IP 地址等,非常方便。使用inetmenu 后,修改IP 不需要去同時更改多個配置文件,也不需要進行sys-unconfig 而重復(fù)設(shè)置其它信息了。下面通過inetmenu 為網(wǎng)卡pcn0 取
得IP 全過程:
?
? 首先選擇網(wǎng)卡接口 下面選擇網(wǎng)卡IP 類型(靜態(tài)、DHCP) 如圖 1 。
圖1 選擇網(wǎng)卡IP 類型
?
? 接著輸入網(wǎng)卡IP 和子網(wǎng)掩碼 最后按確定按鈕完成配置,如圖 2
,圖2 完成網(wǎng)卡配置
說明:inetmenu 對網(wǎng)絡(luò)文件的影響,缺省情況下,在啟動計算機后,inetmenu 將停止所有網(wǎng)卡的服務(wù),/etc/nsswitch.conf被設(shè)置為files 方式。
2. 使用遠程桌面實現(xiàn)和Windows 的桌面連接
使用rdesktop 遠程管理Vista
rdesktop 是UNIX 和Linux 系統(tǒng)的一個遠程桌面連接軟件,它通過
Microsoft Windows NT、Windows 2000 提供的終端服務(wù)(Terminal Services)以及WindowsXP 、Windows 2003 Server、Windows Vista的遠程桌面服務(wù)(Remote Desktop) ,能在Unix 系統(tǒng)下遠程登錄Windows 的窗口系統(tǒng)并使用。 下載安裝rdesktop 工具
rdesktop 程序可以http://mirrors.easynews.com/sunfreeware/i386/10/上獲取代碼安裝,非常方便。
wget http://www.mirrorservice.org/sit ... 5.8-i386-CSW.pkg.gz
gunzip
rdesktop-1.5.0,REV=2006.09.13-SunOS5.8-i386-CSW.pkg.gz pkgadd –d
rdesktop-1.5.0,REV=2006.09.13-SunOS5.8-i386-CSW.pkg
圖 3 是遠程桌面安裝成功界面
,圖 3 遠程桌面安裝成功界面
首先在Windows 啟動遠程桌面,并且添加一個Solaris 10系統(tǒng)的存在的賬號(如root 用戶) 下面使用命令連接Windows 桌面,命令如下:
其中 “g 800*600”設(shè)置分辨率為g 800*600,“d 24”設(shè)置真彩24 位,192.168.1.14為 Windows 機器的IP 地址。另外rdesktop 使用微軟的RDP 協(xié)議,僅能控制WinXP/2003/Vista系統(tǒng),無法控制windows 98/me系統(tǒng)。接著系統(tǒng)會出現(xiàn)登陸對話框,通過口令驗證即可開始進入Windows 桌面,如圖4。
,圖4 Solaris 10 JDS桌面中的Windwos 桌面 在圖4中Solaris 10 JDS 桌面中中內(nèi)嵌的就是Windows Xp 。通過#rdesktop-h得到使用的幫助。另外當(dāng)然除了本文介紹的方法還可以使用samba 、ssh 服務(wù)器和VNC 三種方式實現(xiàn)Solaris 服務(wù)器和Windows 工作站的互聯(lián)。其中遠程桌面是最簡單的方法。
3. 使用iftop 工具監(jiān)控Solaris 服務(wù)器網(wǎng)卡的流量
Iftop 工具用來實時監(jiān)看網(wǎng)絡(luò)狀態(tài)和各ip 所使用的帶寬。絕大多數(shù)的現(xiàn)代操作系統(tǒng)都提供了對底層網(wǎng)絡(luò)數(shù)據(jù)包捕獲的機制,在捕獲機制之上可以建立網(wǎng)絡(luò)監(jiān)控(Network Monitoring)應(yīng)用軟件。網(wǎng)絡(luò)監(jiān)控也常簡稱為sniffer, 其最初的目的在于對網(wǎng)絡(luò)通信情況進行監(jiān)控,以對網(wǎng)絡(luò)的一些異常情況進行調(diào)試處理。但隨著互連網(wǎng)的快速普及和網(wǎng)絡(luò)攻擊行為的頻繁出現(xiàn),保護網(wǎng)絡(luò)的運行安全也成為監(jiān)控軟件的另一個重要目的。
首先下載所有相關(guān)軟件包: