Linux服務(wù)器傻瓜安裝(圖解下)
三、免費(fèi)而穩(wěn)定:Web服務(wù)器和FTP服務(wù)器的安裝
為什么要采用Linux操作系統(tǒng)作為網(wǎng)絡(luò)服務(wù)器?答案是:穩(wěn)定性高、成本低。比較優(yōu)秀的解決方案是采用Linux操作系統(tǒng),再配備Apache服務(wù)器軟件,就可以構(gòu)造一個(gè)穩(wěn)定高速的網(wǎng)站了。
小知識(shí):1995年4月,最早的Apache(0.6.2版)由Apache Group公布發(fā)行。ApacheGroup是一個(gè)完全通過(guò)Internet進(jìn)行運(yùn)作的非盈利機(jī)構(gòu),由它來(lái)決定ApacheWeb服務(wù)器的標(biāo)準(zhǔn)。目前,Apache是世界排名第一的Web服務(wù)器,根據(jù)Netcraft所作的調(diào)查,世界上百分之五十以上的Web服務(wù)器在使用Apache。
1、比IIS更優(yōu)秀:安裝和啟動(dòng)Apache服務(wù)器
和Windows中安裝了IIS一樣,RedhatLinux服務(wù)器一般自帶了Apache服務(wù)器。如果沒(méi)有安裝,可以單擊“系統(tǒng)設(shè)置”進(jìn)入“添加/刪除應(yīng)用程序”,然后系統(tǒng)會(huì)進(jìn)行系統(tǒng)軟件包狀態(tài)檢查。在“萬(wàn)維網(wǎng)服務(wù)器”選項(xiàng)上打鉤,點(diǎn)“細(xì)節(jié)”可以看到許多和本服務(wù)器相關(guān)聯(lián)的額外軟件包,選定相關(guān)的軟件包。安裝時(shí),就能把和這些軟件包安裝進(jìn)去。當(dāng)然,這其中就包括Apache服務(wù)器了??梢?jiàn),安裝過(guò)程和IIS等Windows下的Web服務(wù)器十分類似。
第1步:回到Webmin的服務(wù)器管理界面中,點(diǎn)擊第一個(gè)圖標(biāo)就可以進(jìn)入Apache服務(wù)器的管理界面。在“服務(wù)器”圖標(biāo)的下方,有如下子菜單:“模塊配置”、“應(yīng)用修改”、“停止/啟動(dòng)Apache”、“搜索文檔”。然后,可以看到整個(gè)配置界面分為兩個(gè)部分,一個(gè)是全局配置,一個(gè)是虛擬服務(wù)器配置。如圖17所示。
第2步:打開(kāi)全局配置下的“網(wǎng)絡(luò)和地址”圖標(biāo),在“監(jiān)聽(tīng)地址和端口”選項(xiàng)后,設(shè)置服務(wù)器的IP地址和https地址,并輸入端口,如80、443。當(dāng)然,用戶也可以自己定義或修改端口。設(shè)置完畢,單擊“保存”按鈕。
第3步:如果需要增加虛擬服務(wù)器,可以通過(guò)Apache服務(wù)器主界面中的“創(chuàng)建新的虛擬服務(wù)器”選項(xiàng)進(jìn)行設(shè)置。首先指定地址和端口,然后單擊“根文件”右邊的按鈕,選擇“/var/www/html”,在“服務(wù)器名稱”中填入類似的地址,如“www.test.com1”。設(shè)置完畢。
第4步:在缺省服務(wù)器的下方出現(xiàn)了一個(gè)虛擬服務(wù)器,旁邊的注釋說(shuō)明了服務(wù)器的詳細(xì)情況。點(diǎn)擊此虛擬服務(wù)器的圖標(biāo),即可進(jìn)入其設(shè)置界面。如圖18所示。
除了通過(guò)Webmin進(jìn)行配置外,用戶還可以通過(guò)RedhatLinux上的設(shè)置工具進(jìn)行修改。打開(kāi)RedhatLinux中“應(yīng)用程序”菜單上的“系統(tǒng)設(shè)置”菜單,選擇“服務(wù)器設(shè)置”上的“HTTP”,也可以對(duì)虛擬主機(jī)進(jìn)行修改,效果是一樣的。如圖19所示,單擊“編輯”按鈕就可以對(duì)虛擬主機(jī)的屬性進(jìn)行修改了。此外,還可以進(jìn)行服務(wù)器、調(diào)整性能等方面的操作。
第5步:配置完成后,點(diǎn)“啟動(dòng)Apache”,打開(kāi)頁(yè)面即可進(jìn)行測(cè)試。
#P#
2、在Apache上配置動(dòng)態(tài)程序環(huán)境
現(xiàn)在,很多電子商務(wù)站點(diǎn)幾乎都是動(dòng)態(tài)程序。Apache也提供了對(duì)PHP、CGI等程序的支持。下面,以PHP動(dòng)態(tài)網(wǎng)頁(yè)為例進(jìn)行講解。
第1步:?jiǎn)螕簟跋到y(tǒng)設(shè)置”進(jìn)入“添加/刪除應(yīng)用程序”,然后系統(tǒng)會(huì)進(jìn)行系統(tǒng)軟件包狀態(tài)檢查。在“萬(wàn)維網(wǎng)服務(wù)器”選項(xiàng)上打鉤,點(diǎn)“細(xì)節(jié)”可以看到許多和PHP程序相關(guān)聯(lián)的額外軟件包,建議將所有和PHP相關(guān)的軟件包都選中并安裝。如圖20所示。
第2步:設(shè)置/etc/httpd/conf.d/php.conf配置文件。安裝好PHP之后,使用文本編輯器打開(kāi)php.conf配置文件。也可以直接通過(guò)Webmin打開(kāi)Apache服務(wù)中的“編輯配置文件”圖標(biāo),選擇/etc/httpd/conf.d/php.conf文件,單擊“編輯文件中的指令”按鈕,進(jìn)行編輯(#號(hào)后面是注釋)。修改后的文件如下所示:
#
# PHP is an HTML-dded ting language which attempts to make it
# easy for developers to write dynamically generatedwebpages.
#調(diào)用PHP模塊,Redhat Linux中包括了PHP4的模塊libphp4.so供Apache使用。
LoadModule php4_module modules/libphp4.so
#
# Cause the PHP interpreter to handle files with a.phpextension.
#
SetOutputFileter PHP
SetInputFilter PHP
LimitRequestBody 524288
# AddType application/x-httpd-php-source .phps
#
# Add index.php to the list of files that will be servedasdirectory
# indexes.
#設(shè)置目錄的默認(rèn)文檔
DirectoryIndex index.php
第3步:重新啟動(dòng)httpd服務(wù)。僅僅更改Apache的配置文件是不夠的,這樣PHP程序還是不能運(yùn)行,還要修改/etc/php.ini文件中的如下選項(xiàng),修改“register_globals=off”為“register_globals=On”。這樣PHP程序就可以運(yùn)行了。
3、一步到位:Redhat Linux下的FTP服務(wù)器安裝
在RedhatLinux中,系統(tǒng)在默認(rèn)安裝模式下安裝了vsftpd。在文本模式下運(yùn)行vsftpd的命令為:“servicevsftpdstart”。Vsftpd服務(wù)也可以在圖形模式下開(kāi)啟,步驟為:依次打開(kāi)“主菜單”下的“系統(tǒng)設(shè)置”,選擇“服務(wù)器設(shè)置”中的“服務(wù)”,拉動(dòng)滾動(dòng)條找到vsftpd選項(xiàng),選中后點(diǎn)擊“開(kāi)始”,即可啟動(dòng)vsftpd服務(wù)。如果將復(fù)選框選中,則每次啟動(dòng)Linux系統(tǒng)都會(huì)自動(dòng)運(yùn)行vsftpd服務(wù)。如圖21所示。
這樣,就可以通過(guò)各種方式來(lái)訪問(wèn)這個(gè)FTP服務(wù)器了。一般情況下,輸入默認(rèn)的主機(jī)地址、用戶、密碼即可正常訪問(wèn)。如果出現(xiàn)連接不上,就要考慮一下Linux服務(wù)器上的防火墻等問(wèn)題?,F(xiàn)在,Linux下比較常用的免費(fèi)FTP服務(wù)器軟件還有Wu-FTP和ProFTP,其中,ProFTP的的功能十分強(qiáng)大,越來(lái)越多的站點(diǎn)選擇它來(lái)構(gòu)筑安全高效的FTP站點(diǎn)。有興趣的讀者可以一試,下載地址為:ftp://ftp.proftpd.net。
#p#
四、更簡(jiǎn)單高效:Linux郵件服務(wù)器的安裝和安全
在網(wǎng)絡(luò)管理員的日常工作中,郵件服務(wù)器扮演著一個(gè)非常重要的角色,從局域網(wǎng)的安全防范到操作系統(tǒng)的穩(wěn)定運(yùn)行,都離不開(kāi)電子郵件。目前,有許多的程序可以作為郵件傳輸代理,但Linux下的Sendmail則是其中最重要的一個(gè),事實(shí)證明,它可以支持?jǐn)?shù)千甚至更多的用戶,而且站用的系統(tǒng)資源相當(dāng)少。
1、Sendmail郵件服務(wù)器的安裝和配置
默認(rèn)情況下,Sendmail服務(wù)器安裝程序在安裝光盤,可以選擇安裝。單擊“系統(tǒng)設(shè)置”進(jìn)入“添加/刪除應(yīng)用程序”,然后系統(tǒng)會(huì)進(jìn)行系統(tǒng)軟件包狀態(tài)檢查。選中服務(wù)器欄下的“郵件服務(wù)器”選項(xiàng)。在文本模式下,用“/etc/rc.d/init.d/sendmailstart”命令啟動(dòng)Sendmail,也可以在圖形界面下直接啟動(dòng)Sendmail服務(wù)。下面是Sendmail郵件服務(wù)器的配置方法。
第1步:現(xiàn)在,打開(kāi)Webmin“服務(wù)器”中的“Sendmail配置”一欄,單擊進(jìn)入。也可以通過(guò)Windows下的IE瀏覽器打開(kāi),如圖22所示。
第2步:打開(kāi)“本地域(Cw)”,這個(gè)區(qū)域是設(shè)置郵件服務(wù)器負(fù)責(zé)收發(fā)的網(wǎng)域。默認(rèn)值是localhost.localdomain和localhost?,F(xiàn)在它負(fù)責(zé)本機(jī)的信件轉(zhuǎn)發(fā)。如果要讓它負(fù)責(zé)新的轉(zhuǎn)發(fā),則要加入地址,如“cndes.net”。然后單擊“保存”按鈕。
第3步:因?yàn)楝F(xiàn)在假設(shè)的服務(wù)器名是www.cndes.net,所以本服務(wù)器負(fù)責(zé)的郵件會(huì)成為xxx@www.cndes.net,這樣就比較麻煩了。如果只顯示比較簡(jiǎn)單的域名,如xxx@cndes.net,就要設(shè)置域名偽裝。以前這些設(shè)置都要通過(guò)修改配置文件來(lái)完成,十分麻煩。現(xiàn)在通過(guò)“域名偽裝(CM)”就可以了。如圖23所示。
第4步:郵件用戶的管理也很簡(jiǎn)單,在Sendmail中,合法的主機(jī)用戶就是郵件賬戶,管理郵件賬戶的方法和管理系統(tǒng)用戶方法一致,可以通過(guò)用戶管理器來(lái)管理賬戶。啟動(dòng)用戶管理器的方法是:點(diǎn)擊“主菜單”下的系統(tǒng)設(shè)置,選擇“用戶和群組”,就可以進(jìn)行賬戶管理了。
第5步:本地測(cè)試。打開(kāi)Redhat自帶的Evolution電子郵件客戶端程序進(jìn)行收發(fā)測(cè)試。設(shè)置兩個(gè)默認(rèn)的帳戶cndes@cndes.net和root@cndes.net,然后cndes給root發(fā)送了一封測(cè)試郵件。如圖24所示。
第6步:配置供客戶端使用郵件軟件遠(yuǎn)程收取郵件的服務(wù)?,F(xiàn)在,很多用戶都習(xí)慣利用Outlook等Windows下的軟件收發(fā)郵件。為了讓用戶能夠訪問(wèn)Sendmail服務(wù)器中的郵件,就需要安裝IMAP或者POP服務(wù),這樣用戶就可以將電子郵件從主機(jī)取回到自己的電腦中閱讀。在RedhatLinux中,這兩個(gè)軟件是捆綁在一起的。首先要檢查/usr/sbin目錄下是否有ipop3d或imapd文件。如果沒(méi)有,則需要自行安裝。
第7步:安裝ipop3d、imapd文件后,需要打開(kāi)POP3的連接端口。方法是打開(kāi)/etc/xinetd.d/下面的ipop3文件,將disable的值修改為no。
第8步:重新啟動(dòng)xinetd使配置生效。使用命令:“/etc/init.d/xinetdrestart”。這樣,一個(gè)穩(wěn)定高效的Linux郵件服務(wù)器就可以開(kāi)始運(yùn)行了。細(xì)心的用戶留意一下許多公司的“招聘廣告”就會(huì)發(fā)現(xiàn),學(xué)會(huì)配置Linux郵件服務(wù)器已經(jīng)成為高薪的必備條件之一。使用此方法后,我們也許會(huì)沾沾自喜:原來(lái)配置Linux郵件服務(wù)器如此簡(jiǎn)單!
小提示:現(xiàn)在運(yùn)行在Linux環(huán)境下免費(fèi)的郵件服務(wù)器有若干種選擇,比較常見(jiàn)的有Sendmail、Qmail、Postfix、exim及Zmailer等等。Linux下的Postfix郵件服務(wù)器也是一款性能十分卓越的郵件服務(wù)器,它快速、易于管理、安全性高,同時(shí)和Sendmail郵件服務(wù)器的兼容性也很不錯(cuò)。
#p#
2、Linux郵件服務(wù)器的安全管理
隨著互連網(wǎng)的普及,郵件服務(wù)器受攻擊的可能性也越來(lái)越大。目前,因特網(wǎng)上的郵件服務(wù)器所受攻擊主要有兩類:第一類是中繼利用(Relay),即遠(yuǎn)程任何攻擊者都可以利用郵件服務(wù)器向任何地址發(fā)郵件,久而久之,你的機(jī)器不僅成為發(fā)送垃圾郵件的幫兇,也會(huì)使網(wǎng)絡(luò)國(guó)際流量激增,就好像個(gè)人信譽(yù)降低一樣,很可能被網(wǎng)上的很多郵件服務(wù)器所拒絕。另一類攻擊稱為垃圾郵件(Spam),即人們常說(shuō)的郵件炸彈,是指在很短時(shí)間內(nèi)服務(wù)器可能接收大量無(wú)用的郵件,從而使郵件服務(wù)器不堪重負(fù)而癱瘓。
如何讓服務(wù)器防止中繼利用?如何拒收從外部發(fā)來(lái)的垃圾郵件?或者設(shè)置能阻止一些非法的SMTP認(rèn)證?從這個(gè)問(wèn)題著手,我們來(lái)看看在Linux下進(jìn)行郵箱管理的一些典型問(wèn)題,并探討一些行之有效的方法。
(1)拒收特定的IP和發(fā)件人。
在實(shí)踐中,許多垃圾郵件制造者利用一些工具使發(fā)件人的郵件地址變成隨機(jī)地址,一般的方法就起不到作用了。針對(duì)這種情況,我們可以通過(guò)查看郵件日志和網(wǎng)絡(luò)的SMTP(25)端口的連接情況,找出數(shù)目比較高的IP和連接數(shù)比較高的IP,用防火墻來(lái)對(duì)這些IP進(jìn)行拒收,從網(wǎng)絡(luò)層就拒收這些垃圾郵件,同時(shí)也有相當(dāng)高的效率。
(2)設(shè)置垃圾郵件控制規(guī)則。
Sendmail的垃圾郵件控制功可以拒收來(lái)自某些地址的郵件,而且也防止其他人使用系統(tǒng)轉(zhuǎn)發(fā)垃圾郵件。用戶可以增加添加垃圾郵件控制規(guī)則以拒收特定的郵件來(lái)源,并且也允許本網(wǎng)絡(luò)上的其它計(jì)算機(jī)通過(guò)本系統(tǒng)轉(zhuǎn)發(fā)郵件的規(guī)則。單擊“Sendmail配置”下的“垃圾郵件控制”圖標(biāo),就可以在Sendmail中設(shè)置控制規(guī)則了。軟件還提供了“手工編輯/etc/mail/access”的方式。如圖25所示。
(3)使用Anti-Spam軟件。
這項(xiàng)技術(shù)的基本原理是定時(shí)分析日志,發(fā)現(xiàn)有發(fā)信頻率過(guò)多的用戶就放到badmailfrom文件中。現(xiàn)在有很多的Anti-Spam軟件,如Spamassassin,KasperskyAnti-Spam。
(4)使用實(shí)時(shí)黑洞列表。
RBL(RealtimeBlackholeList)是實(shí)時(shí)黑洞列表,是國(guó)際上比較流行的反垃圾郵件技術(shù),可以采用RBL來(lái)使郵件服務(wù)器拒收在列表中已知的垃圾郵件發(fā)送服務(wù)器所發(fā)送的垃圾郵件。郵件系統(tǒng)的管理是一個(gè)循序漸進(jìn)的過(guò)程,采取上面的措施,就可以制止住相當(dāng)部分的垃圾郵件,這將有利于郵件服務(wù)器的負(fù)載降低、帶寬占有減少和工作效率提高,從而有利于整個(gè)網(wǎng)絡(luò)的高效運(yùn)行。
#p#
五、更上一層樓:Linux服務(wù)器的安全實(shí)踐
網(wǎng)絡(luò)安全實(shí)踐中,防火墻(Firewall)是被經(jīng)常強(qiáng)調(diào)的重點(diǎn),它的基本功能是過(guò)濾并阻擋本地網(wǎng)絡(luò)與Internet之間的數(shù)據(jù)傳送。另外,無(wú)論是網(wǎng)絡(luò)管理員還是黑客,對(duì)數(shù)據(jù)截獲分析都十分重視,因此,在進(jìn)階提高部分,我們也將使用直觀簡(jiǎn)單的方式對(duì)這兩部分內(nèi)容進(jìn)行講解。
1、iptables :Linux服務(wù)器下的優(yōu)秀防火墻
Linux提供了一個(gè)非常優(yōu)秀的防火墻工具—iptables,它完全免費(fèi)、功能強(qiáng)大、使用靈活、可以對(duì)流入和流出的信息進(jìn)行細(xì)化控制,能夠在一臺(tái)低配置機(jī)器上很好地運(yùn)行。
(1)安裝和啟動(dòng)
一般情況下,iptables已經(jīng)包含在Linux發(fā)行版中,運(yùn)行iptables--version來(lái)查看系統(tǒng)是否安裝了iptables。如果系統(tǒng)沒(méi)有安裝iptables,則可以從http://www.netfilter.org下載。使用中可以運(yùn)行maniptables來(lái)查看所有命令和選項(xiàng)的完整介紹,或者運(yùn)行iptables-help來(lái)查看一個(gè)快速幫助。
iptables服務(wù)也可以在圖形模式下開(kāi)啟,步驟為:依次打開(kāi)“主菜單”下的“系統(tǒng)設(shè)置”,選擇“服務(wù)器設(shè)置”中的“服務(wù)”,拉動(dòng)滾動(dòng)條找到iptables選項(xiàng),選中后點(diǎn)擊“開(kāi)始”,即可啟動(dòng)防火墻服務(wù);如果不想使用防火墻,點(diǎn)擊“停止”即可。如圖26所示。
(2)使用實(shí)例分析
iptables功能十分強(qiáng)大,它可以檢測(cè)到源地址和目的地址、源端口和目的端口及流入數(shù)據(jù)包的順序,即iptables記住了在現(xiàn)有連接中,哪些數(shù)據(jù)包已經(jīng)被允許接收。這使得暫時(shí)性的端口只有在需要時(shí)才會(huì)被打開(kāi),并且會(huì)拒絕所有永久性占用端口的請(qǐng)求,大大地加強(qiáng)了安全性。下面是關(guān)于iptables防火墻的一些應(yīng)用實(shí)例。
實(shí)際應(yīng)用中,如果要阻止來(lái)自某一特定IP范圍內(nèi)的數(shù)據(jù)包,因?yàn)樵揑P地址范圍被管理員懷疑有大量惡意攻擊者在活動(dòng):
# iptables -t filter -A INPUT -s xxx.xxx.xxx.0/24 -j DROP
也可以很輕易地阻止所有流向攻擊者IP地址的數(shù)據(jù)包,該命令稍有不同:
# iptables -t filter -A OUTPUT -d xxx.xxx.xxx.0/24 -j DROP
注意這里的A選項(xiàng),使用它說(shuō)明是給現(xiàn)有的鏈添加規(guī)則。網(wǎng)絡(luò)上的惡意攻擊者總是在變化的,因此需要不斷改變IP。假設(shè)一個(gè)網(wǎng)上攻擊者轉(zhuǎn)移到新的IP地址,而原來(lái)的IP地址被分配給一些清白的用戶,那么這時(shí)這些用戶的數(shù)據(jù)包將無(wú)法通過(guò)網(wǎng)絡(luò)。這種情況下,可以使用帶-D選項(xiàng)的命令來(lái)刪除現(xiàn)有的規(guī)則:
# iptables -t filter -D OUTPUT -d 192.168.10.0/24 -j DROP
一旦測(cè)試結(jié)果令人滿意,就可以將上述測(cè)試結(jié)果保存為腳本??梢允褂谩癷ptables-save>iptables-t”命令來(lái)實(shí)現(xiàn),現(xiàn)在,信息包過(guò)濾表中的所有規(guī)則都被保存在文件iptables-t中。無(wú)論何時(shí)再次引導(dǎo)系統(tǒng),都可以使用iptables-restore命令將規(guī)則集從該腳本文件恢復(fù)到信息包過(guò)濾表,命令為“iptables-restoreiptables-t”。
創(chuàng)建一個(gè)具有很好靈活性、可以抵御各種意外事件的規(guī)則需要大量的時(shí)間。對(duì)于那些沒(méi)有時(shí)間這樣做的人,最基本的原則是“先拒絕所有的數(shù)據(jù)包,然后再允許需要的”。下面來(lái)為每一個(gè)鏈設(shè)置缺省的規(guī)則:
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
這里選項(xiàng)-P用于設(shè)置鏈的策略,只有三個(gè)內(nèi)建的鏈才有策略。這些策略可以讓信息毫無(wú)限制地流出,但不允許信息流入。
最后需要提示的是:功能強(qiáng)大的iptables防火墻是完全免費(fèi)的,這對(duì)于那些想要功能卓越而又想節(jié)省費(fèi)用的用戶來(lái)說(shuō),是一種比較理想的選擇。
#p#
2、在Linux下利用TCPDump進(jìn)行網(wǎng)絡(luò)管理
對(duì)于網(wǎng)絡(luò)管理員來(lái)說(shuō),要保證整個(gè)網(wǎng)絡(luò)的正常運(yùn)行,就必須隨時(shí)了解網(wǎng)絡(luò)中存在的異常流量、網(wǎng)絡(luò)阻塞等現(xiàn)象。打個(gè)比方,一部電話的竊聽(tīng)裝置,可以用來(lái)竊聽(tīng)雙方通話的內(nèi)容,而計(jì)算機(jī)網(wǎng)絡(luò)嗅探器則可以竊聽(tīng)計(jì)算機(jī)程序在網(wǎng)絡(luò)上發(fā)送和接收到的數(shù)據(jù)。但是,計(jì)算機(jī)所傳送的數(shù)據(jù)是大量的二進(jìn)制數(shù)據(jù)。因此,一個(gè)網(wǎng)絡(luò)竊聽(tīng)程序也必須使用特定的網(wǎng)絡(luò)協(xié)議來(lái)分析數(shù)據(jù),進(jìn)行正確的解碼。如圖27所示,就是一個(gè)Windows下的嗅探器。
那么,對(duì)于鐘愛(ài)Linux的網(wǎng)絡(luò)安全愛(ài)好者來(lái)說(shuō),能否找到這樣一款強(qiáng)大的Linux下的嗅探器呢?TCPDump就是一款免費(fèi)的網(wǎng)絡(luò)分析工具,它可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包的“頭”完全截獲下來(lái)提供分析,它支持針對(duì)網(wǎng)絡(luò)層、協(xié)議、主機(jī)、網(wǎng)絡(luò)或端口的過(guò)濾,并提供and、or、not等邏輯語(yǔ)句來(lái)幫助你去掉無(wú)用的信息。
#p#
(1)安裝和啟動(dòng)
在Linux下TCPDump的安裝十分簡(jiǎn)單,一種是以rpm包的形式來(lái)進(jìn)行安裝,另一種是以源程序的形式安裝。以rpm包的安裝方法比較簡(jiǎn)單,通過(guò)rpm命令可以直接安裝,rpm包是將軟件編譯后打包成二進(jìn)制的格式,不需要修改任何東西。安裝時(shí),以超級(jí)用戶登錄,參考命令如下:#rpm-ivhTCPDump.rpm。這樣,TCPDump就可以順利地安裝到Linux系統(tǒng)中。不過(guò),現(xiàn)在較高版本的Linux操作系統(tǒng)都自帶了這個(gè)工具,關(guān)于TCPDump更詳細(xì)的信息,可以查看ManTCPDump。
普通情況下,不帶參數(shù)執(zhí)行TCPDump,即:#TCPDump,截獲的是通過(guò)第一個(gè)網(wǎng)絡(luò)界面的數(shù)據(jù)包。直接啟動(dòng)TCPDump將監(jiān)視第一個(gè)網(wǎng)絡(luò)界面上所有流過(guò)的數(shù)據(jù)包。如圖28所示。
從上面的輸出結(jié)果來(lái)看,TCPDump的基本輸出格式為:“系統(tǒng)時(shí)間 來(lái)源主機(jī).端口 >目標(biāo)主機(jī).端口數(shù)據(jù)包參數(shù)”。仔細(xì)觀察,我們會(huì)發(fā)現(xiàn),和上面的Windows界面相比,數(shù)據(jù)包格式有很多相似之處,這樣也有助于我們來(lái)了解這個(gè)軟件的使用方法。
(2)參數(shù)分析
TCPDump支持多種不同參數(shù),如使用-i參數(shù)指定TCPDump監(jiān)聽(tīng)的網(wǎng)絡(luò)界面,這在計(jì)算機(jī)具有多個(gè)網(wǎng)絡(luò)界面時(shí)非常有用;使用-c參數(shù)可以指定要監(jiān)聽(tīng)的數(shù)據(jù)包數(shù)量;使用-w參數(shù)指定將監(jiān)聽(tīng)到的數(shù)據(jù)包寫入文件中保存,等等。然而,在數(shù)據(jù)的海洋中,TCPDump中更復(fù)雜的參數(shù)主要是用于過(guò)濾。這是為什么呢?
因?yàn)樵趯?shí)際操作中,網(wǎng)絡(luò)中流量很大,如果將所有的數(shù)據(jù)包都截留下來(lái),數(shù)據(jù)量就會(huì)很大,反而不容易發(fā)現(xiàn)所需要的數(shù)據(jù)包。如果不帶任何參數(shù),TCPDump就會(huì)搜索系統(tǒng)中所有的網(wǎng)絡(luò)接口,并顯示它截獲的所有數(shù)據(jù),這些數(shù)據(jù)對(duì)我們不一定全都需要,而且數(shù)據(jù)太多不利于分析。所以,我們應(yīng)當(dāng)先想好需要哪些數(shù)據(jù),TCPDump的語(yǔ)法為:
TCPDump[-adeflnNOpqStvx][-c<數(shù)據(jù)包數(shù)目>][-dd][-ddd][-F<表達(dá)文件>][-i<網(wǎng)絡(luò)界面>][-r<數(shù)據(jù)包文件>][-s<數(shù)據(jù)包大小>][-tt][-T<數(shù)據(jù)包類型>][-vv][-w<數(shù)據(jù)包文件>][輸出數(shù)據(jù)欄位]
在實(shí)際使用中,我們可以靈活應(yīng)用?,F(xiàn)列舉幾個(gè)比較常用的例子:
1、截獲所有192.168.10.1的主機(jī)收到的和發(fā)出的所有數(shù)據(jù)包。命令為:
TCPDump host 192.168.10.1
實(shí)際效果如圖29所示。
2、截獲主機(jī)192.168.10.1和主機(jī)192.168.10.2或192.168.10.3的通信,使用命令(在命令行中適用括號(hào)時(shí),一定要):
#tcpdump host 192.168.10.1 and \ (192.168.10.2 or192.168.10.3\)
3、如果想要獲取主機(jī)192.168.10.123接收或發(fā)出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 192.168.10.123
4、獲取主機(jī)192.168.10.1除了和主機(jī)192.168.10.2之外所有主機(jī)通信的ip包,使用命令:
#tcpdump ip host 192.168.10.1 and ! 192.168.10.2
3、Linux服務(wù)器實(shí)例分析
通過(guò)上面的操作了解,相信很多電腦愛(ài)好者在Linux技術(shù)上有了一個(gè)質(zhì)的飛躍。下面,我們綜合運(yùn)用這些方法來(lái)解決一個(gè)Linux服務(wù)器上安裝問(wèn)題。下面是一個(gè)針對(duì)郵件服務(wù)器的網(wǎng)絡(luò)故障分析。某單位的局域網(wǎng)中有一臺(tái)Sendmail郵件服務(wù)器,收發(fā)郵件等基本功能正常,但在使用中發(fā)現(xiàn)一個(gè)普遍的怪現(xiàn)象:在PC機(jī)上發(fā)郵件時(shí),連接郵件服務(wù)器后,要等待很長(zhǎng)時(shí)間才能開(kāi)始工作。從檢測(cè)來(lái)看,網(wǎng)絡(luò)連接沒(méi)有問(wèn)題,郵件服務(wù)器和PC性能都沒(méi)有問(wèn)題,問(wèn)題可能出在哪里呢?
為了查找問(wèn)題的所在,可以采用以下的測(cè)試方法。首先,我們?cè)赑C機(jī)client上發(fā)送郵件,同時(shí)在郵件服務(wù)器server上使用TCPDump對(duì)這個(gè)client的數(shù)據(jù)包進(jìn)行捕獲分析,如下:
#TCPDump host client
TCPDump: listening on hme0
23:41:30.040578 client.1065 > server.smtp:S1087965815:1087965815(0) win 64240 (DF)
23:41:30.040613 server.smtp > client.1065:S99285900:99285900(0) ack 1087965816 win 10136 (DF)
23:41:30.040960 client.1065 > server.smtp: . ack 1 win64240(DF)
然后,通過(guò)分析數(shù)據(jù),我們看到雙方順利的完成了會(huì)話,也就是說(shuō),到目前為止,整個(gè)狀態(tài)屬于正常的現(xiàn)象。沿著這個(gè)思路,我們往下看:
23:41:30.048862 server.33152 > client.113:S99370916:99370916(0) win 8760 (DF)
23:41:40.161052 server.33152 > client.113:S99370916:99370916(0) win 8760 (DF)
23:41:56.061130 server.33152 > client.113:R99370917:99370917(0) win 8760 (DF)
23:41:56.070108 server.smtp > client.1065: P 1:109(108) ack1win 10136 (DF)
通過(guò)分析就可以判斷問(wèn)題所在了。原來(lái),問(wèn)題在于:我們看到server端試圖連接client的113端口,要求認(rèn)證,但是沒(méi)有收到client端的回應(yīng),server端重復(fù)嘗試了3次,費(fèi)時(shí)26秒后,才放棄認(rèn)證請(qǐng)求,并主動(dòng)發(fā)送了reset標(biāo)志的數(shù)據(jù)包,開(kāi)始push后面的數(shù)據(jù);而正是在這個(gè)過(guò)程中所花費(fèi)的26秒時(shí)間,造成了發(fā)送郵件時(shí)漫長(zhǎng)的等待情況。問(wèn)題找到后,通過(guò)修改服務(wù)器端的Sendmail配置,再次測(cè)試,看到郵件服務(wù)器不再進(jìn)行113端口的認(rèn)證嘗試,而是在三次檢測(cè)后直接push數(shù)據(jù),問(wèn)題得到完美的解決。
實(shí)際上,Linux中還有很多優(yōu)秀的服務(wù)器功能,如DNS服務(wù)器、CVS服務(wù)器、DHCP服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、Samba網(wǎng)絡(luò)服務(wù)器等。正是這些優(yōu)秀的功能組合,再加上完全免費(fèi)的優(yōu)勢(shì),使得Linux的功能越來(lái)越強(qiáng)大,并逐漸在激烈的操作系統(tǒng)市場(chǎng)中占據(jù)了一席之地。通過(guò)本文的講解,相信很多用戶一定會(huì)更加喜愛(ài)Linux操作系統(tǒng)。文章到這里,我們又想起了那只讓人愛(ài)不釋手的小企鵝,毫無(wú)疑問(wèn),正是它歡快自由的腳步,我們才領(lǐng)略到Linux世界的無(wú)窮魅力。
【編輯推薦】