一 摘要
端口是個(gè)網(wǎng)絡(luò)應(yīng)用中很重要的東西,相當(dāng)于“門”了。
二 什么是端口
在Internet上,各主機(jī)間通過TCP/TP協(xié)議發(fā)送和接收數(shù)據(jù)報(bào),各個(gè)數(shù)據(jù)報(bào)根據(jù)其目的主機(jī)的ip地址來進(jìn)行互聯(lián)網(wǎng)絡(luò)中的路由選擇??梢?,把數(shù)據(jù)報(bào)順利的傳送到目的主機(jī)是沒有問題的。問題出在哪里呢?我們知道大多數(shù)操作系統(tǒng)都支持多程序(進(jìn)程)同時(shí)運(yùn)行,那么目的主機(jī)應(yīng)該把接收到的數(shù)據(jù)報(bào)傳送給眾多同時(shí)運(yùn)行的進(jìn)程中的哪一個(gè)呢?顯然這個(gè)問題有待解決,端口機(jī)制便由此被引入進(jìn)來。
本地操作系統(tǒng)會(huì)給那些有需求的進(jìn)程分配協(xié)議端口(protocal port,即我們常說的端口),每個(gè)協(xié)議端口由一個(gè)正整數(shù)標(biāo)識(shí),如:80,139,445,等等。當(dāng)目的主機(jī)接收到數(shù)據(jù)報(bào)后,將根據(jù)報(bào)文首部的目的端口號(hào),把數(shù)據(jù)發(fā)送到相應(yīng)端口,而與此端口相對(duì)應(yīng)的那個(gè)進(jìn)程將會(huì)領(lǐng)取數(shù)據(jù)并等待下一組數(shù)據(jù)的到來。說到這里,端口的概念似乎仍然抽象,那么繼續(xù)跟我來,別走開。
端口其實(shí)就是隊(duì),操作系統(tǒng)為各個(gè)進(jìn)程分配了不同的隊(duì),數(shù)據(jù)報(bào)按照目的端口被推入相應(yīng)的隊(duì)中,等待被進(jìn)程取用,在極特殊的情況下,這個(gè)隊(duì)也是有可能溢出的,不過操作系統(tǒng)允許各進(jìn)程指定和調(diào)整自己的隊(duì)的大小。
不光接受數(shù)據(jù)報(bào)的進(jìn)程需要開啟它自己的端口,發(fā)送數(shù)據(jù)報(bào)的進(jìn)程也需要開啟端口,這樣,數(shù)據(jù)報(bào)中將會(huì)標(biāo)識(shí)有源端口,以便接受方能順利的回傳數(shù)據(jù)報(bào)到這個(gè)端口。
三 端口的分類
在Internet上,按照協(xié)議類型分類,端口被分為TCP端口和UDP端口兩類,雖然他們都用正整數(shù)標(biāo)識(shí),但這并不會(huì)引起歧義,比如TCP的80端口和UDP的80端口,因?yàn)閿?shù)據(jù)報(bào)在標(biāo)明端口的同時(shí),還將標(biāo)明端口的類型。
從端口的分配來看,端口被分為固定端口和動(dòng)態(tài)端口兩大類(一些教程還將極少被用到的高端口劃分為第三類:私有端口):
固定端口(0-1023):
使用集中式管理機(jī)制,即服從一個(gè)管理機(jī)構(gòu)對(duì)端口的指派,這個(gè)機(jī)構(gòu)負(fù)責(zé)發(fā)布這些指派。由于這些端口緊綁于一些服務(wù),所以我們會(huì)經(jīng)常掃描這些端口來判斷對(duì)方是否開啟了這些服務(wù),如TCP的21(ftp),80(http),139(netbios),UDP的7(echo),69(tftp)等等一些大家熟知的端口;
動(dòng)態(tài)端口(1024-49151):
這些端口并不被固定的捆綁于某一服務(wù),操作系統(tǒng)將這些端口動(dòng)態(tài)的分配給各個(gè)進(jìn)程,同一進(jìn)程兩次分配有可能分配到不同的端口。不過一些應(yīng)用程序并不愿意使用操作系統(tǒng)分配的動(dòng)態(tài)端口,他們有其自己的‘商標(biāo)性’端口,如oicq客戶端的4000端口,木馬冰河的7626端口等都是固定而出名的。
四 端口在入侵中的作用
有人曾經(jīng)把服務(wù)器比作房子,而把端口比作通向不同房間(服務(wù))的門,如果不考慮細(xì)節(jié)的話,這是一個(gè)不錯(cuò)的比喻。入侵者要占領(lǐng)這間房子,勢(shì)必要破門而入(物理入侵另說),那么對(duì)于入侵者來說,了解房子開了幾扇門,都是什么樣的門,門后面有什么東西就顯得至關(guān)重要。
入侵者通常會(huì)用掃描器對(duì)目標(biāo)主機(jī)的端口進(jìn)行掃描,以確定哪些端口是開放的,從開放的端口,入侵者可以知道目標(biāo)主機(jī)大致提供了哪些服務(wù),進(jìn)而猜測(cè)可能存在的漏洞,因此對(duì)端口的掃描可以幫助我們更好的了解目標(biāo)主機(jī),而對(duì)于管理員,掃描本機(jī)的開放端口也是做好安全防范的第一步。
五 端口的相關(guān)工具
1 netstat -an
的確,這并不是一個(gè)工具,但他是查看自己所開放端口的最方便方法,在cmd中輸入這個(gè)命令就可以了。如下:
C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3372 0.0.0.0:0 LISTENING
UDP 0.0.0.0:135 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:1027 *:*
UDP 127.0.0.1:1029 *:*
UDP 127.0.0.1:1030 *:*
這是我沒上網(wǎng)的時(shí)候機(jī)器所開的端口,兩個(gè)135和445是固定端口,其余幾個(gè)都是動(dòng)態(tài)端口。
2 fport.exe和mport.exe
這也是兩個(gè)命令行下查看本地機(jī)器開放端口的小程序,其實(shí)與netstat -an這個(gè)命令大同小異,只不過它能夠顯示打開端口的進(jìn)程,信息更多一些而已,如果你懷疑自己的奇怪端口可能是木馬,那就用他們查查吧。
3 activeport.exe(也稱aports.exe)
還是用來查看本地機(jī)器開放端口的東東,除了具有上面兩個(gè)程序的全部功能外,他還有兩個(gè)更吸引人之處:圖形界面以及可以關(guān)閉端口。這對(duì)菜鳥來說是個(gè)絕對(duì)好用的東西,推薦使用喔。
4 superscan3.0
它的大名你不會(huì)沒聽說過吧,純端口掃描類軟件中的NO.1,速度快而且可以指定掃描的端口,不多說了,絕對(duì)必備工具。
六 保護(hù)好自己的端口
剛接觸網(wǎng)絡(luò)的朋友一般都對(duì)自己的端口很敏感,總怕自己的電腦開放了過多端口,更怕其中就有后門程序的端口,但由于對(duì)端口不是很熟悉,所以也沒有解決辦法,上起網(wǎng)來提心吊膽。其實(shí)保護(hù)自己的端口并不是那么難,只要做好下面幾點(diǎn)就行了:
1) 查看:經(jīng)常用命令或軟件查看本地所開放的端口,看是否有可疑端口;
2) 判斷:如果開放端口中有你不熟悉的,應(yīng)該馬上查找端口大全或木馬常見端口等資料(網(wǎng)上多的很),看看里面對(duì)你那個(gè)可疑端口的作用描述,或者通過軟件查看開啟此端口的進(jìn)程來進(jìn)行判斷;
3) 關(guān)閉:如果真是木馬端口或者資料中沒有這個(gè)端口的描述,那么應(yīng)該關(guān)閉此端口,你可以用防火墻來屏蔽此端口,也可以用本地連接-TCP/IP-高級(jí)-選項(xiàng)-TCP/IP篩選,啟用篩選機(jī)制來篩選端口;
注意:判斷時(shí)候要慎重,因?yàn)橐恍﹦?dòng)態(tài)分配的端口也容易引起你多余的懷疑,這類端口一般比較低,且連續(xù)。還有,一些狡猾的后門軟件,他們會(huì)借用80等一些常見端口來進(jìn)行通信(穿透了防火墻),令人防不勝防,因此不輕易運(yùn)行陌生程序才是關(guān)鍵。
posted on 2005-10-07 14:52
Harryson 閱讀(581)
評(píng)論(0) 編輯 收藏 所屬分類:
NetWork