什么是接口,與端口的區(qū)別是什么? 接口和端口的含義是什么?它們有什么區(qū)別?分別用在什么場(chǎng)合?
一、端口簡(jiǎn)介
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,原來物理上的接口(如鍵盤、鼠標(biāo)、網(wǎng)卡、顯示卡等輸入/輸出接口)已不能滿足網(wǎng)絡(luò)通信的要求,TCP/IP協(xié)議作為網(wǎng)絡(luò)通信的標(biāo)準(zhǔn)協(xié)議就解決了這個(gè)通信難題。TCP/IP協(xié)議集成到操作系統(tǒng)的內(nèi)核中,這就相當(dāng)于在操作系統(tǒng)中引入了一種新的輸入/輸出接口技術(shù),因?yàn)樵赥CP/IP協(xié)議中引入了一種稱之為"Socket(套接字)"應(yīng)用程序接口。有了這樣一種接口技術(shù),一臺(tái)計(jì)算機(jī)就可以通過軟件的方式與任何一臺(tái)具有Socket接口的計(jì)算機(jī)進(jìn)行通信。端口在計(jì)算機(jī)編程上也就是"Socket接口"。
有了這些端口后,這些端口又是如何工作呢?例如一臺(tái)服務(wù)器為什么可以同時(shí)是Web服務(wù)器,也可以是FTP服務(wù)器,還可以是郵件服務(wù)器等等呢?其中一個(gè)很重要的原因是各種服務(wù)采用不同的端口分別提供不同的服務(wù),比如:通常TCP/IP協(xié)議規(guī)定Web采用80號(hào)端口,F(xiàn)TP采用21號(hào)端口等,而郵件服務(wù)器是采用25號(hào)端口。這樣,通過不同端口,計(jì)算機(jī)就可以與外界進(jìn)行互不干擾的通信。
據(jù)專家們分析,服務(wù)器端口數(shù)最大可以有65535個(gè),但是實(shí)際上常用的端口才幾十個(gè),由此可以看出未定義的端口相當(dāng)多。這是那么多黑客程序都可以采用某種方法,定義出一個(gè)特殊的端口來達(dá)到入侵的目的的原因所在。為了定義出這個(gè)端口,就要依靠某種程序在計(jì)算機(jī)啟動(dòng)之前自動(dòng)加載到內(nèi)存,強(qiáng)行控制計(jì)算機(jī)打開那個(gè)特殊的端口。這個(gè)程序就是"后門"程序,這些后門程序就是常說的木馬程序。簡(jiǎn)單的說,這些木馬程序在入侵前是先通過某種手段在一臺(tái)個(gè)人計(jì)算機(jī)中植入一個(gè)程序,打開某個(gè)(些)特定的端口,俗稱"后門"(BackDoor),使這臺(tái)計(jì)算機(jī)變成一臺(tái)開放性極高(用戶擁有極高權(quán)限)的FTP服務(wù)器,然后從后門就可以達(dá)到侵入的目的。
二、端口的分類
端口的分類根據(jù)其參考對(duì)象不同有不同劃分方法,如果從端口的性質(zhì)來分,通常可以分為以下三類:
(1)公認(rèn)端口(Well Known
Ports):這類端口也常稱之為"常用端口"。這類端口的端口號(hào)從0到1024,它們緊密綁定于一些特定的服務(wù)。通常這些端口的通信明確表明了某種服務(wù)的協(xié)議,這種端口是不可再重新定義它的作用對(duì)象。例如:80端口實(shí)際上總是HTTP通信所使用的,而23號(hào)端口則是Telnet服務(wù)專用的。這些端口通常不會(huì)像木馬這樣的黑客程序利用。為了使大家對(duì)這些常用端口多一些認(rèn)識(shí),在本章后面將詳細(xì)把這些端口所對(duì)嬗Φ姆�窠�辛斜恚�└魑煥斫夂筒慰肌?
(2) 注冊(cè)端口(Registered
Ports):端口號(hào)從1025到49151。它們松散地綁定于一些服務(wù)。也是說有許多服務(wù)綁定于這些端口,這些端口同樣用于許多其他目的。這些端口多數(shù)沒有明確的定義服務(wù)對(duì)象,不同程序可根據(jù)實(shí)際需要自己定義,如后面要介紹的遠(yuǎn)程控制軟件和木馬程序中都會(huì)有這些端口的定義的。記住這些常見的程序端口在木馬程序的防護(hù)和查殺上是非常有必要的。常見木馬所使用的端口在后面將有詳細(xì)的列表。
(3) 動(dòng)態(tài)和/或私有端口(Dynamic and/or Private
Ports):端口號(hào)從49152到65535。理論上,不應(yīng)把常用服務(wù)分配在這些端口上。實(shí)際上,有些較為特殊的程序,特別是一些木馬程序就非常喜歡用這些端口,因?yàn)檫@些端口常常不被引起注意,容易隱蔽。
如果根據(jù)所提供的服務(wù)方式的不同,端口又可分為"TCP協(xié)議端口"和"UDP協(xié)議端口"兩種。因?yàn)橛?jì)算機(jī)之間相互通信一般采用這兩種通信協(xié)議。前面所介紹的"連接方式"是一種直接與接收方進(jìn)行的連接,發(fā)送信息以后,可以確認(rèn)信息是否到達(dá),這種方式大多采用TCP協(xié)議;另一種是不是直接與接收方進(jìn)行連接,只管把信息放在網(wǎng)上發(fā)出去,而不管信息是否到達(dá),也就是前面所介紹的"無連接方式"。這種方式大多采用UDP協(xié)議,IP協(xié)議也是一種無連接方式。對(duì)應(yīng)使用以上這兩種通信協(xié)議的服務(wù)所提供的端口,也就分為"TCP協(xié)議端口"和"UDP協(xié)議端口"。
使用TCP協(xié)議的常見端口主要有以下幾種:
(1) FTP:定義了文件傳輸協(xié)議,使用21端口。常說某某計(jì)算機(jī)開了FTP服務(wù)便是啟動(dòng)了文件傳輸服務(wù)。下載文件,上傳主頁,都要用到FTP服務(wù)。
(2)
Telnet:它是一種用于遠(yuǎn)程登陸的端口,用戶可以以自己的身份遠(yuǎn)程連接到計(jì)算機(jī)上,通過這種端口可以提供一種基于DOS模式下的通信服務(wù)。如以前的BBS是純字符界面的,支持BBS的服務(wù)器將23端口打開,對(duì)外提供服務(wù)。
(3)
SMTP:定義了簡(jiǎn)單郵件傳送協(xié)議,現(xiàn)在很多郵件服務(wù)器都用的是這個(gè)協(xié)議,用于發(fā)送郵件。如常見的免費(fèi)郵件服務(wù)中用的就是這個(gè)郵件服務(wù)端口,所以在電子郵件設(shè)置中常看到有這么SMTP端口設(shè)置這個(gè)欄,服務(wù)器開放的是25號(hào)端口。
(4)
POP3:它是和SMTP對(duì)應(yīng),POP3用于接收郵件。通常情況下,POP3協(xié)議所用的是110端口。也是說,只要你有相應(yīng)的使用POP3協(xié)議的程序(例如Foxmail或Outlook),就可以不以Web方式登陸進(jìn)郵箱界面,直接用郵件程序就可以收到郵件(如是163郵箱就沒有必要先進(jìn)入網(wǎng)易網(wǎng)站,再進(jìn)入自己的郵箱來收信)。
使用UDP協(xié)議端口常見的有:
(1)
HTTP:這是大家用得最多的協(xié)議,它就是常說的"超文本傳輸協(xié)議"。上網(wǎng)瀏覽網(wǎng)頁時(shí),就得在提供網(wǎng)頁資源的計(jì)算機(jī)上打開80號(hào)端口以提供服務(wù)。常說"WWW服務(wù)"、"Web服務(wù)器"用的就是這個(gè)端口。
(2) DNS:用于域名解析服務(wù),這種服務(wù)在Windows
NT系統(tǒng)中用得最多的。因特網(wǎng)上的每一臺(tái)計(jì)算機(jī)都有一個(gè)網(wǎng)絡(luò)地址與之對(duì)應(yīng),這個(gè)地址是常說的IP地址,它以純數(shù)字+"."的形式表示。然而這卻不便記憶,于是出現(xiàn)了域名,訪問計(jì)算機(jī)的時(shí)候只需要知道域名,域名和IP地址之間的變換由DNS服務(wù)器來完成。DNS用的是53號(hào)端口。
(3) SNMP:簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,使用161號(hào)端口,是用來管理網(wǎng)絡(luò)設(shè)備的。由于網(wǎng)絡(luò)設(shè)備很多,無連接的服務(wù)就體現(xiàn)出其優(yōu)勢(shì)。
(4)
OICQ:OICQ程序既接受服務(wù),又提供服務(wù),這樣兩個(gè)聊天的人才是平等的。OICQ用的是無連接的協(xié)議,也是說它用的是UDP協(xié)議。OICQ服務(wù)器是使用8000號(hào)端口,偵聽是否有信息到來,客戶端使用4000號(hào)端口,向外發(fā)送信息。如果上述兩個(gè)端口正在使用(有很多人同時(shí)和幾個(gè)好友聊天),就順序往上加。
在計(jì)算機(jī)的6萬多個(gè)端口,通常把端口號(hào)為1024以內(nèi)的稱之為常用端口,這些常用端口所對(duì)應(yīng)的服務(wù)通常情況下是固定的。表1所列的都是服務(wù)器默認(rèn)的端口,不允許改變,一般通信過程都主要用到這些端口。
表1
服務(wù)類型默認(rèn)端口服務(wù)類型默認(rèn)端口
Echo7Daytime13
FTP21Telnet23
SMTP25Time37
Whois43DNS53
Gopher70Finger79
WWW80POP3110
NNTP119IRC194
另外代理服務(wù)器常用以下端口:
(1). HTTP協(xié)議代理服務(wù)器常用端口號(hào):80/8080/3128/8081/9080
(2). SOCKS代理協(xié)議服務(wù)器常用端口號(hào):1080
(3). FTP協(xié)議代理服務(wù)器常用端口號(hào):21
(4). Telnet協(xié)議代理服務(wù)器常用端口:23
三、端口在黑客中的應(yīng)用
像木馬之類的黑客程序,就是通過對(duì)端口的入侵來實(shí)現(xiàn)其目的的。在端口的利用上,黑客程序通常有兩種方式,那就是"端口偵聽"和"端口掃描"。
"端口偵聽"與"端口掃描"是黑客攻擊和防護(hù)中經(jīng)常要用到的兩種端口技術(shù),在黑客攻擊中利用它們可以準(zhǔn)確地尋找攻擊的目標(biāo),獲取有用信息,在個(gè)人及網(wǎng)絡(luò)防護(hù)方面通過這種端口技術(shù)的應(yīng)用可以及時(shí)發(fā)現(xiàn)黑客的攻擊及一些安全漏洞。下面首先簡(jiǎn)單介紹一下這兩種端口技術(shù)的異同。
"端口偵聽"是利用某種程序?qū)δ繕?biāo)計(jì)算機(jī)的端口進(jìn)行監(jiān)視,查看目標(biāo)計(jì)算機(jī)上有哪能些端口是空閑、可以利用的。通過偵聽還可以捕獲別人有用的信息,這主要是用在黑客軟件中,但對(duì)于個(gè)人來說也是非常有用的,可以用偵聽程序來保護(hù)自己的計(jì)算機(jī),在自己計(jì)算機(jī)的選定端口進(jìn)行監(jiān)視,這樣可以發(fā)現(xiàn)并攔截一些黑客的攻擊。也可以偵聽別人計(jì)算機(jī)的指定端口,看是否空閑,以便入侵。
"端口掃描"(port
scanning)是通過連接到目標(biāo)系統(tǒng)的TCP協(xié)議或UDP協(xié)議端口,來確定什么服務(wù)正在運(yùn)行,然后獲取相應(yīng)的用戶信息。現(xiàn)在有許多人把"端口偵聽"與"端口掃描"混為一談,根本分不清什么樣的情況下要用偵聽技術(shù),什么樣的情況下要用掃描技術(shù)。不過,現(xiàn)在的這類軟件也似乎對(duì)這兩種技術(shù)有點(diǎn)模糊了,有的干脆把兩個(gè)功能都集成在一塊。
"端口偵聽"與"端口掃描"有相似之處,也有區(qū)別的地方,相似的地方是都可以對(duì)目標(biāo)計(jì)算機(jī)進(jìn)行監(jiān)視,區(qū)別的地方是"端口偵聽"屬于一種被動(dòng)的過程,等待別人的連接的出現(xiàn),通過對(duì)方的連接才能偵聽到需要的信息。在個(gè)人應(yīng)用中,如果在設(shè)置了當(dāng)偵聽到有異常連接立即向用戶報(bào)告這個(gè)功能時(shí),就可以有效地偵聽黑客的連接企圖,及時(shí)把駐留在本機(jī)上的木馬程序清除掉。這個(gè)偵聽程序一般是安裝在目標(biāo)計(jì)算機(jī)上。用在黑客中的"端口偵聽"通常是黑客程序駐留在服務(wù)器端等待服務(wù)器端在進(jìn)行正常活動(dòng)時(shí)捕獲黑客需要的信息,然后通過UDP協(xié)議無連接方式發(fā)出去。而"端口掃描"則是一種主動(dòng)過程,它是主動(dòng)對(duì)目標(biāo)計(jì)算機(jī)的選定端口進(jìn)行掃描,實(shí)時(shí)地發(fā)現(xiàn)所選定端口的所有活動(dòng)(特別是對(duì)一些網(wǎng)上活動(dòng))。掃描程序一般是安裝在客戶端,但是它與服務(wù)器端的連接也主要是通過無連接方式的UDP協(xié)議連接進(jìn)行。
在網(wǎng)絡(luò)中,當(dāng)信息進(jìn)行傳播的時(shí)候,可以利用工具,將網(wǎng)絡(luò)接口設(shè)置在偵聽的模式,便可將網(wǎng)絡(luò)中正在傳播的信息截獲或者捕獲到,從而進(jìn)行攻擊。端口偵聽在網(wǎng)絡(luò)中的任何一個(gè)位置模式下都可實(shí)施進(jìn)行,而黑客一般都是利用端口偵聽來截取用戶口令。
四、端口偵聽原理
以太網(wǎng)(Ethernet)協(xié)議的工作方式是將要發(fā)送的數(shù)據(jù)包發(fā)往連接在一起的所有計(jì)算機(jī)。在包頭中包括有應(yīng)該接收數(shù)據(jù)包的計(jì)算機(jī)的正確地址,因?yàn)橹挥信c數(shù)據(jù)包中目標(biāo)地址一致的那臺(tái)計(jì)算機(jī)才能接收到信息包。但是當(dāng)計(jì)算機(jī)工作在偵聽模式下,不管數(shù)據(jù)包中的目標(biāo)物理地址是什么,計(jì)算機(jī)都將可以接收到。當(dāng)同一網(wǎng)絡(luò)中的兩臺(tái)計(jì)算機(jī)通信的時(shí)候,源計(jì)算機(jī)將寫有目的計(jì)算機(jī)地址的數(shù)據(jù)包直接發(fā)向目的計(jì)算機(jī),或者當(dāng)網(wǎng)絡(luò)中的一臺(tái)計(jì)算機(jī)同外界的計(jì)算機(jī)通信時(shí),源計(jì)算機(jī)將寫有目的計(jì)算機(jī)IP地址的數(shù)據(jù)包發(fā)向網(wǎng)關(guān)。但這種數(shù)據(jù)包并不能在協(xié)議棧的高層直接發(fā)送出去,要發(fā)送的數(shù)據(jù)包必須從TCP/IP協(xié)議的IP協(xié)議層交給網(wǎng)絡(luò)接口--數(shù)據(jù)鏈路層。網(wǎng)絡(luò)接口不會(huì)識(shí)別IP地址的,在網(wǎng)絡(luò)接口中,由IP協(xié)議層來的帶有IP地址的數(shù)據(jù)包又增加了一部分以太網(wǎng)的幀頭信息。在幀頭中,有兩個(gè)域分別為只有網(wǎng)絡(luò)接口才能識(shí)別的源計(jì)算機(jī)和目的計(jì)算機(jī)的物理地址,這是一個(gè)48位的地址,這個(gè)48位的地址是與IP地址相對(duì)應(yīng)的。換句話說,一個(gè)IP地址也會(huì)對(duì)應(yīng)一個(gè)物理地址。對(duì)于作為網(wǎng)關(guān)的計(jì)算機(jī),由于它連接了多個(gè)網(wǎng)絡(luò),它也就同時(shí)具備有很多個(gè)IP地址,在每個(gè)網(wǎng)絡(luò)中它都有一個(gè)。而發(fā)向網(wǎng)絡(luò)外的幀中繼攜帶的是網(wǎng)關(guān)的物理地址。
以太網(wǎng)中填寫了物理地址的幀從網(wǎng)絡(luò)端口中(或者從網(wǎng)關(guān)端口中)發(fā)送出去,傳送到物理的線路上。如果局域網(wǎng)是由一條粗同軸電纜或細(xì)同軸電纜連接成的,那么數(shù)字信號(hào)在電纜上傳輸信號(hào)就能夠到達(dá)線路上的每一臺(tái)計(jì)算機(jī)。再當(dāng)使用集線器的時(shí)候,發(fā)送出去的信號(hào)到達(dá)集線器,由集線器再發(fā)向連接在集線器上的每一條線路。這樣在物理線路上傳輸?shù)臄?shù)字信號(hào)也就能到達(dá)連接在集線器上的每個(gè)計(jì)算機(jī)了。當(dāng)數(shù)字信號(hào)到達(dá)一臺(tái)計(jì)算機(jī)的網(wǎng)絡(luò)接口時(shí),正常狀態(tài)下網(wǎng)絡(luò)接口對(duì)讀入數(shù)據(jù)幀進(jìn)行檢查,如數(shù)據(jù)幀中攜帶的物理地址是自己的或者物理地址是廣播地址,那么就會(huì)將數(shù)據(jù)幀交給IP協(xié)議層軟件。對(duì)于每個(gè)到達(dá)網(wǎng)絡(luò)接口的數(shù)據(jù)幀都要進(jìn)行這個(gè)過程的。但是當(dāng)計(jì)算機(jī)工作在偵聽模式下,所有的數(shù)據(jù)幀都將被交給上層協(xié)議軟件處理。
當(dāng)連接在同一條電纜或集線器上的計(jì)算機(jī)被邏輯地分為幾個(gè)子網(wǎng)的時(shí)候,那么要是有一臺(tái)計(jì)算機(jī)處于偵聽模式,它可以接收到發(fā)向與自己不在同一個(gè)子網(wǎng)(使用了不同的掩碼、IP地址和網(wǎng)關(guān))的計(jì)算機(jī)的數(shù)據(jù)包,在同一個(gè)物理信道上傳輸?shù)乃行畔⒍伎梢员唤邮盏健?
在UNIX系統(tǒng)上,當(dāng)擁有超級(jí)權(quán)限的用戶要想使自己所控制的計(jì)算機(jī)進(jìn)入偵聽模式,只需要向Interface(網(wǎng)絡(luò)接口)發(fā)送I/O控制命令,就可以使計(jì)算機(jī)設(shè)置成偵聽模式了。而在Windows
9x的系統(tǒng)中則不論用戶是否有權(quán)限都將可以通過直接運(yùn)行偵聽工具就可以實(shí)現(xiàn)。
在端口處于偵聽時(shí),常常要保存大量的信息(也包含很多的垃圾信息),并將對(duì)收集的信息進(jìn)行大量的整理,這樣就會(huì)使正在偵聽的計(jì)算機(jī)對(duì)其他用戶的請(qǐng)求響應(yīng)變的很慢。同時(shí)偵聽程序在運(yùn)行的時(shí)候需要消耗大量的處理器時(shí)間,如果在這時(shí)就詳細(xì)的分析包中的內(nèi)容,許多包就會(huì)來不及接收而被漏走。所以偵聽程序很多時(shí)候就會(huì)將偵聽得到的包存放在文件中等待以后分析。分析偵聽到的數(shù)據(jù)包是很頭疼的事情,因?yàn)榫W(wǎng)絡(luò)中的數(shù)據(jù)包都非常之復(fù)雜。兩臺(tái)計(jì)算機(jī)之間連續(xù)發(fā)送和接收數(shù)據(jù)包,在偵聽到的結(jié)果中必然會(huì)加一些別的計(jì)算機(jī)交互的數(shù)據(jù)包。偵聽程序?qū)⑼籘CP協(xié)議會(huì)話的包整理到一起就相當(dāng)不容易,如果還期望將用戶詳細(xì)信息整理出來就需要根據(jù)協(xié)議對(duì)包進(jìn)行大量的分析。
現(xiàn)在網(wǎng)絡(luò)中所使用的協(xié)議都是較早前設(shè)計(jì)的,許多協(xié)議的實(shí)現(xiàn)都是基于一種非常友好的,通信的雙方充分信任的基礎(chǔ)。在通常的網(wǎng)絡(luò)環(huán)境之下,用戶的信息包括口令都是以明文的方式在網(wǎng)上傳輸?shù)模虼诉M(jìn)行端口偵聽從而獲得用戶信息并不是一件難點(diǎn)事情,只要掌握有初步的TCP/IP協(xié)議知識(shí)就可以輕松的偵聽到想要的信息的。
五、端口掃描原理
"端口掃描"通常指用同一信息對(duì)目標(biāo)計(jì)算機(jī)的所有所需掃描的端口進(jìn)行發(fā)送,然后根據(jù)返回端口狀態(tài)來分析目標(biāo)計(jì)算機(jī)的端口是否打開、是否可用。"端口掃描"行為的一個(gè)重要特征是:在短時(shí)期內(nèi)有很多來自相同的信源地址傳向不同的目的地端口的包。
對(duì)于用端口掃描進(jìn)行攻擊的人來說,攻擊者總是可以做到在獲得掃描結(jié)果的同時(shí),使自己很難被發(fā)現(xiàn)或者說很難被逆向跟蹤。為了隱藏攻擊,攻擊者可以慢慢地進(jìn)行掃描。除非目標(biāo)系統(tǒng)通常閑著(這樣對(duì)一個(gè)沒有l(wèi)isten端口的數(shù)據(jù)包都會(huì)引起管理員的注意),有很大時(shí)間間隔的端口掃描是很難被識(shí)別的。隱藏源地址的方法是發(fā)送大量的欺騙性的端口掃描包(1000個(gè)),其中只有一個(gè)是從真正的源地址來的。這樣,即使全部包(1000)都被察覺,被記錄下來,也沒有人知道哪個(gè)是真正的信源地址。能發(fā)現(xiàn)的僅僅是"曾經(jīng)被掃描過"。也正因?yàn)檫@樣那些黑客們才樂此不彼地繼續(xù)大量使用這種端口掃描技術(shù)來達(dá)到他們獲取目標(biāo)計(jì)算機(jī)信息、并進(jìn)行惡意攻擊。
通常進(jìn)行端口掃描的工具目前主要采用的是端口掃描軟件,也通稱之為"端口掃描器",端口掃描可以為提供三個(gè)用途:
(1)識(shí)別目標(biāo)系統(tǒng)上正在運(yùn)行的TCP協(xié)議和UDP協(xié)議服務(wù)。
(2)識(shí)別目標(biāo)系統(tǒng)的操作系統(tǒng)類型(Windows 9x, Windows NT,或UNIX,等)。
(3)識(shí)別某個(gè)應(yīng)用程序或某個(gè)特定服務(wù)的版本號(hào)。
端口掃描器是一種自動(dòng)檢測(cè)遠(yuǎn)程或本地計(jì)算機(jī)安全性弱點(diǎn)的程序,通過使用掃描器你可不留痕跡的發(fā)現(xiàn)遠(yuǎn)程服務(wù)器的各種TCP協(xié)議端口的分配及提供的服務(wù),還可以得知它們所使用的軟件版本!這就能讓間接的了解到遠(yuǎn)程計(jì)算機(jī)所存在的安全問題。
端口掃描器通過選用遠(yuǎn)程TCP/IP協(xié)議不同的端口的服務(wù),記錄目標(biāo)計(jì)算機(jī)端口給予的回答的方法,可以搜集到很多關(guān)于目標(biāo)計(jì)算機(jī)的各種有用信息(比如:是否有端口在偵聽?是否允許匿名登陸?是否有可寫的FTP目錄,是否能用TELNET等。
端口掃描器并不是一個(gè)直接攻擊網(wǎng)絡(luò)漏洞的程序,它僅僅能幫助發(fā)現(xiàn)目標(biāo)機(jī)的某些內(nèi)在的弱點(diǎn)。一個(gè)好的掃描器還能對(duì)它得到的數(shù)據(jù)進(jìn)行分析,幫助查找目標(biāo)計(jì)算機(jī)的漏洞。但它不會(huì)提供一個(gè)系統(tǒng)的詳細(xì)步驟。
端口掃描器在掃描過程中主要具有以下三個(gè)方面的能力:
(1) 發(fā)現(xiàn)一個(gè)計(jì)算機(jī)或網(wǎng)絡(luò)的能力;
(2) 一旦發(fā)現(xiàn)一臺(tái)計(jì)算機(jī),就有發(fā)現(xiàn)目標(biāo)計(jì)算機(jī)正在運(yùn)行什么服務(wù)的能力;
(3) 通過測(cè)試目標(biāo)計(jì)算機(jī)上的這些服務(wù),發(fā)現(xiàn)存在的漏洞的能力。
編寫掃描器程序必須要很多TCP/IP協(xié)議程序編寫和C,Perl和或SHELL語言的知識(shí)。需要一些Socket編程的背景,一種在開發(fā)客戶/服務(wù)應(yīng)用程序的方法。
六、常用端口
在計(jì)算機(jī)的6萬多個(gè)端口,通常把端口號(hào)為1024以內(nèi)的稱之為常用端口,這些常用端口所對(duì)應(yīng)的服務(wù)通常情況下是固定的,所以了解這些常用端口在一定程序上是非常必要的,下表2列出了計(jì)算機(jī)的常用端口所對(duì)應(yīng)的服務(wù)(注:在這列表中各項(xiàng)"="前面的數(shù)字為端口號(hào),"="后面的為相應(yīng)端口服務(wù)。)。
1=tcpmux(TCP協(xié)議 Port Service Multiplexer)401=ups(Uninterruptible Power
Supply)
2=compressnet=Management Utility402=genie(Genie Protocol)
3=compressnet=Compression Process403=decap
5=rje(Remote Job Entry)404=nced
7=echo=Echo405=ncld
9=discard406=imsp(Interactive Mail Support Protocol)
11=systat,Active Users407=timbuktu
13=daytime408=prm-sm(Prospero Resource Manager Sys. Man.)
17=qotd(Quote of the Day)409=prm-nm(Prospero Resource Manager Node Man.)
18=msp(Message Send Protocol)410=decladebug(DECLadebug Remote Debug
Protocol)
19=Character Generator411=rmt(Remote MT Protocol)
20=FTP-data(File Transfer [Default Data])412=synoptics-trap(Trap
Convention Port)
21=FTP(File Transfer [Control])413=smsp
22=ssh414=infoseek
23=telnet415=bnet
24private mail system416=silverplatter
25=smtp(Simple Mail Transfer)417=onmux
27=nsw-fe(NSW User System FE)418=hyper-g
29=msg-icp419=ariel1
31=msg-auth420=smpte
33=Display Support Protocol421=ariel2
35=private printer server422=ariel3
37=time423=opc-job-start(IBM Operations Planning and Control Start)
38=rap(Route Access Protocol)424=opc-job-track(IBM Operations Planning and
Control Track)
39=rlp(Resource Location Protocol)425=icad-el(ICAD)
41=graphics426=smartsdp
42=nameserver(WINS Host Name Server)427=svrloc(Server Location)
43=nicname(Who Is)428=ocs_cmu
44=mpm-flags(MPM FLAGS Protocol)429=ocs_amu
45=mpm(Message Processing Module [recv])430=utmpsd
46=mpm-snd(MPM [default send])431=utmpcd
47=ni-ftp432=iasd
48=Digital Audit Daemon433=nnsp
49=tacacs(Login Host Protocol (TACACS))434=mobileip-agent
50=re-mail-ck(Remote Mail Checking Protocol)435=mobilip-mn
51=la-maint(IMP Logical Address Maintenance)436=dna-cml
52=xns-time(XNS Time Protocol)437=comscm
53=Domain Name Server438=dsfgw
54=xns-ch(XNS Clearinghouse)439=dasp(dasp Thomas Obermair)
55=isi-gl(ISI Graphics Language)440=sgcp
56=xns-auth(XNS Authentication)441=decvms-sysmgt
57= private terminal access442=cvc_hostd
58=xns-mail(XNS Mail)443=https(https Mcom)
59=private file service444=snpp(Simple Network Paging Protocol)
61=ni-mail(NI MAIL)445=microsoft-ds
62=acas(ACA Services)446=ddm-rdb
63=whois+whois+447=ddm-dfm
64=covia(Communications Integrator (CI))448=ddm-byte
65=tacacs-ds(TACACS-Database Service)449=as-servermap
66=sql*net(Oracle SQL*NET)450=tserver
67=bootps(Bootstrap Protocol Server)451=sfs-smp-net(Cray Network Semaphore
server)
68=bootpc(Bootstrap Protocol Client)452=sfs-config(Cray SFS config server)
69=tftp(Trivial File Transfer)453=creativeserver
70=gopher454=contentserver
71=netrjs-1,Remote Job Service455=creativepartnr
72=netrjs-2,Remote Job Service456=macon-tcp
73=netrjs-3,Remote Job Service457=scohelp
74=netrjs-4,Remote Job Service458=appleqtc(apple quick time)
75=private dial out service459=ampr-rcmd
76=deos(Distributed External Object Store)460=skronk
77=private RJE service461=datasurfsrv
78=vettcp462=datasurfsrvsec
79=finger463=alpes
80=http(World Wide Web HTTP)464=kpasswd
81=hosts2-ns(HOSTS2 Name Server)465=ssmtp
82=xfer(XFER Utility)466=digital-vrc
83=mit-ml-dev(MIT ML Device)467=mylex-mapd
84=ctf(Common Trace Facility)468=photuris
85=mit-ml-dev(MIT ML Device)469=rcp(Radio Control Protocol)
86=mfcobol(Micro Focus Cobol)470=scx-proxy
87= private terminal link471=mondex
88=kerberos472=ljk-login
89=su-mit-tg(SU/MIT Telnet Gateway)473=hybrid-pop
90=dnsix(DNSIX Securit Attribute Token Map)474=tn-tl-w1
91=mit-dov(MIT Dover Spooler)475=tcpnethaspsrv
92=npp(Network Printing Protocol)476=tn-tl-fd1
93=dcp(Device Control Protocol)477=ss7ns
94=objcall(Tivoli Object Dispatcher)478=spsc
95=supdup479=iafserver
96=dixie(DIXIE Protocol Specification)480=iafdbase
97=swift-rvf(Swift Remote Virtural File Protocol)481=ph(Ph service)
98=tacnews482=bgs-nsi
99=metagram,Metagram Relay483=ulpnet
100=newacct,[unauthorized use]484=integra-sme(Integra Software Management
Environment)
101=hostname,NIC Host Name Server485=powerburst(Air Soft Power Burst)
102=iso-tsap(ISO-TSAP Class 0)486=avian
103=gppitnp(Genesis Point-to-Point Trans Net)487=saft
104=acr-nema(ACR-NEMA Digital Imag. & Comm. 300)488=gss-http
105=Mailbox Name Nameserver489=nest-protocol
106=3com-tsmux(3COM-TSMUX)490=micom-pfs
107=rtelnet(Remote Telnet Service)491=go-login
108=snagas(SNA Gateway Access Server)492=ticf-1(Transport Independent
Convergence for FNA)
109=pop2(Post Office Protocol - Version 2)493=ticf-2(Transport Independent
Convergence for FNA)
110=pop3(Post Office Protocol - Version 3)494=pov-ray
111=sunrpc(SUN Remote Procedure Call)495=intecourier
112=mcidas(McIDAS Data Transmission Protocol)496=pim-rp-disc
113=auth(Authentication Service)497=dantz
114=audionews(Audio News Multicast)498=siam
115=sftp(Simple File Transfer Protocol)499=iso-ill(ISO ILL Protocol)
116=ansanotify(ANSA REX Notify)500=isakmp
117=uucp-path(UUCP Path Service)501=stmf
118=sqlserv502=asa-appl-proto
119=nntp(Network News Transfer Protocol)503=intrinsa
120=cfdptkt504=citadel
121=erpc(Encore Expedited Remote Pro.Call)505=mailbox-lm
122=smakynet506=ohimsrv
123=ntp(Network Time Protocol)507=crs
124=ansatrader(ANSA REX Trader)508=xvttp
125=locus-map(Locus PC-Interface Net Map Ser)509=snare
126=unitary(Unisys Unitary Login)510=fcp(FirstClass Protocol)
127=locus-con(Locus PC-Interface Conn Server)511=mynet(mynet-as)
128=gss-xlicen(GSS X License Verification)512=exec(remote process
execution)
129=pwdgen(Password Generator Protocol)513=login(remote login a la telnet)
130=cisco-fna(cisco FNATIVE)514=shell,cmd
131=cisco-tna(cisco TNATIVE)515=printer,spooler
132=cisco-sys(cisco SYSMAINT)516=videotex
133=statsrv(Statistics Service)517=talk(like tenex link)
134=ingres-net(INGRES-NET Service)518=ntalk
135=epmap(DCE endpoint resolution)519=utime(unixtime)
136=profile(PROFILE Naming System)520=efs(extended file name server)
137=netbios-ns(NETBIOS Name Service)521=ripng
138=netbios-dgm(NETBIOS Datagram Service)522=ulp
139=netbios-ssn(NETBIOS Session Service)523=ibm-db2
140=emfis-data(EMFIS Data Service)524=ncp
141=emfis-cntl(
參考資料:http://callingcard.dyndsl.com/cgi-bin/topic.cgi?forum=14&topic=78
端口、接口和插口有什么不同?
(1)含義不同:1、"端口"是英文port的意譯,可以認(rèn)為是設(shè)備與外界通訊交流的出口。端口可分為虛擬端口和物理端口,其中虛擬端口指計(jì)算機(jī)內(nèi)部或交換機(jī)路由器內(nèi)的端口,不可見。2、接口(硬件類接口)是指同一計(jì)算機(jī)不同功能層之間的通信規(guī)則稱為接口。(2)應(yīng)用不同:1、接口(軟件類接口)是指對(duì)協(xié)定...
端口和接口有啥區(qū)別啊?
端口就是接口的意思。 USB本質(zhì)上和COM都是輸入輸出的接口,但是它提供更高的傳輸帶寬,和更好的擴(kuò)展性,所以現(xiàn)在基本上大部分外設(shè)都是通過USB與計(jì)算機(jī)聯(lián)接。COM口即串行通訊端口。微機(jī)上的com口多為9針,最大速率115200bps。通常用于連接鼠標(biāo)(串口)及通訊設(shè)備(如連接外置式MODEM進(jìn)行數(shù)據(jù)通訊)等。一般...
IO接口和端口的區(qū)別?
一、作用不同 1、IO接口:接口是主機(jī)與被控對(duì)象進(jìn)行信息交換的紐帶。2、端口:是設(shè)備與外界通訊交流的出口。二、功能不同 1、IO接口:向CPU提供I\/O設(shè)備的狀態(tài)信息和進(jìn)行命令譯碼。對(duì)傳送數(shù)據(jù)提供緩沖,以消除計(jì)算機(jī)與外設(shè)在“定時(shí)”或數(shù)據(jù)處理速度上的差異。2、端口:是指接口電路中的一些寄存器,這些...
淺談端口和接口的區(qū)別
接口:通信的兩個(gè)機(jī)器的相同層次的實(shí)體叫做同層進(jìn)程,它們之間的通信使用的各種約定統(tǒng)稱協(xié)議,相鄰層之間的約定稱為接口。端口:是英文port的義譯,可以認(rèn)為是計(jì)算機(jī)與外界通訊交流的出口。其中硬件領(lǐng)域的端口又稱接口,如:USB端口、串行端口等。軟件領(lǐng)域的端口一般指網(wǎng)絡(luò)中面向連接服務(wù)和無連接服務(wù)的通信協(xié)議...
接口和端口的含義是什么?它們有什么區(qū)別?分別用在什么場(chǎng)合?
端口是給信息通訊所劃分的通道口是相對(duì)于軟件來說的,而接口是硬件連接的接口 有過一些黑客攻擊方面知識(shí)的讀者都會(huì)知道,其實(shí)那些所謂的黑客并不是像人們想象那樣從天而降,而是實(shí)實(shí)在在從您的計(jì)算機(jī)"大門"中自由出入。計(jì)算機(jī)的"大門"就是我們平常所說的"端口",它包括計(jì)算機(jī)的物理端口,如計(jì)算機(jī)的串口、并口、輸入\/輸...
淺談端口和接口的區(qū)別?
這兩個(gè)是不同的概念,端口是指接口電路中可以進(jìn)行讀寫的寄存器,若干端口加上相應(yīng)的控制邏輯才可以組成接口。
端口接口和插口有什么不同
端口(Port)是計(jì)算機(jī)與外界通信交流的出口,這個(gè)術(shù)語在硬件和軟件領(lǐng)域有著不同的含義。在硬件領(lǐng)域,端口通常指的是物理接口,如USB端口、串行端口等,用于連接外部設(shè)備。而在軟件領(lǐng)域,端口則指的是網(wǎng)絡(luò)中面向連接服務(wù)和無連接服務(wù)的通信協(xié)議端口,是一種抽象的軟件結(jié)構(gòu),包括一些數(shù)據(jù)結(jié)構(gòu)和基本輸入輸出緩沖...
交換機(jī)的接口指的是什么?端口指的是什么?兩者有什么區(qū)別
通常情況下交換機(jī)的接口(interface)= 端口,很多時(shí)候不同場(chǎng)景下叫法不同而已。接口和端口都是指交換機(jī)的物理接口(網(wǎng)口和光口兩類).端口(port)一般在書面表達(dá)上用的多,接口一般口頭語上用的比較多,其實(shí)很多時(shí)候指的是一回事。真要細(xì)分 接口范圍≥端口,比如說交換機(jī)的三層接口vlanif(也叫SVI)就是...
端口和接口的區(qū)別是什么?
"端口"是英文port的意譯,可以認(rèn)為是設(shè)備與外界通訊交流的出口。端口可分為虛擬端口和物理端口,其中虛擬端口指計(jì)算機(jī)內(nèi)部或交換機(jī)路由器內(nèi)的端口,不可見。例如計(jì)算機(jī)中的80端口、21端口、23端口等。物理端口又稱為接口,是可見端口,計(jì)算機(jī)背板的RJ45網(wǎng)口,交換機(jī)路由器集線器等RJ45端口。電話使用RJ11插口也...
接口與端口有什么區(qū)別
端口就是接口的意思。從硬件的層面,端口就是計(jì)算機(jī)上的物理接口,用于接插其他設(shè)備。計(jì)算機(jī)硬件常見的接口都可以在機(jī)箱背后看到,包括鍵盤鼠標(biāo)的圓口SP2接口,打印機(jī)的LPT接口(也叫并行接口),還有的COM接口(串行接口,過去也用來接鼠標(biāo),現(xiàn)在個(gè)人電腦上用處不大,但是在銀行和商場(chǎng)的電腦上廣泛用到,通常都...
相關(guān)評(píng)說:
龍城區(qū)硬度: ______ I/O (input/output):輸入輸出端口 一、I/0接口的概念 1、接口的分類 I/O接口的功能是負(fù)責(zé)實(shí)現(xiàn)CPU通過系統(tǒng)總線把I/O電路和 外圍設(shè)備聯(lián)系在一起,按照電路和設(shè)備的復(fù)雜程度,I/O接口的硬件主要分為兩大類: (1)I/O接口芯片 這些芯片大都是...
龍城區(qū)硬度: ______ 接口指物理插口對(duì),例如雙絞RJ45,單模光纖接口等.適配器則是指在機(jī)器里有特定芯片的板卡 具體看用的哪塊卡可以看插槽和location code對(duì)應(yīng)關(guān)系.
龍城區(qū)硬度: ______ 套接字可理解為:IP+端口.兩個(gè)都是傳輸層以上的概念 套接字是支持TCP/IP網(wǎng)絡(luò)通信的基本操作單元.多個(gè)TCP連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過同一個(gè) TCP協(xié)議端口傳輸數(shù)據(jù).為了區(qū)別不同的應(yīng)用程序進(jìn)程和連接,許多計(jì)算機(jī)操作系統(tǒng)為應(yīng)用程序與TCP/IP協(xié)議交互提供了稱為套接字(Socket)的接口.
龍城區(qū)硬度: ______ 端口一般說的是以太網(wǎng)端口,也就是10/100/1000M以太網(wǎng)接口,10/100/1000M說的是速率,單位bit/s. 模塊一般是指SFP模塊,可以插光纖或以太網(wǎng)模塊.光纖模塊分多模(短距,一般是室內(nèi)用,傳輸距離550m內(nèi))和單模(中長(zhǎng)距離傳輸用,比如10KM/25KM/40KM/70KM/100KM),速率有100M/1000M/10G
龍城區(qū)硬度: ______ 接口就是java提供的一個(gè)面向?qū)ο蟮臋C(jī)制,接口類似于全部方法都是抽象方法的抽象類,(抽象類你肯定知道了撒),就好比抽象方法和常量值的定義的集合,申明方法和類的申明方法差不多. interface{ [] [] } 同時(shí)接口中所有的方法都是抽象方法,而且接口中的方法都默認(rèn)是public,abstract的,所以可以省略2個(gè)修飾符,但是正因?yàn)槿绱?不能使用和public,abstract有沖突的方法標(biāo)示,在接口中也可以申明常量,但是不能申明實(shí)例變量. java中的繼承只能支持單一繼承,所以.接口的提供為我們實(shí)現(xiàn)多繼承提供了路徑,這么理解就很方便了,
龍城區(qū)硬度: ______ 一 接口表示一個(gè)完全抽象類,其成員變量為常量,應(yīng)該定義為public static final.如果成員變量前沒有添加修飾符,系統(tǒng)會(huì)默認(rèn)修飾符為public static final.所有的方法為public abstract...
龍城區(qū)硬度: ______ 接口兩個(gè)字只是翻譯過來的.java接口是java編程中的概念,是用來做多繼承用的,接口在這里只是個(gè)名字而已,不用過多的在意,想了解的話可以看看相關(guān)的java資料.接口的話是一般意義上的接口了,像是打印機(jī)接口了之類的,根據(jù)你的提問應(yīng)該是說的硬件方面的接口了,這些就像電源插頭一樣,沒什么好說的,想了解的話可以找電器方面的朋友問問.
龍城區(qū)硬度: ______ Java接口(Interface),是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能). 一.接口含義: 1.Java接口,...
龍城區(qū)硬度: ______ Socket通常指一個(gè)點(diǎn)到另一點(diǎn)的通訊. 端口則是通訊的具體的一個(gè)接口. 要實(shí)行通訊,必需用“Socket“+端口