国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號(hào)

網(wǎng)絡(luò)流量分析(二)
2007-01-22   

網(wǎng)絡(luò)流量分析(二)
原著:
翻譯:土鱉(ISHTAR??ISHTARIII@263.NET)
--------------------------------------------------------------------------------
(譯者注: 作者在這里又把前面一篇文章開頭的話說(shuō)了半天,俺就全給他省了)在以前的文章里已經(jīng)探討了TCP/UDP/SSH的情況,下面我們來(lái)看FTP,你應(yīng)該有TC排隊(duì)基礎(chǔ),熟知WINDUMP和TCPDUMP的報(bào)告格式,這些我們?cè)谇拔睦锩嬉呀?jīng)介紹過了

標(biāo)準(zhǔn)的FTP進(jìn)程
FTP建立進(jìn)程的方式非常有趣.在檢測(cè)FTP流量前,我從MYPC.XX.YY.ZZ到遠(yuǎn)程的FTP服務(wù)器建立一個(gè)連接,假設(shè)這個(gè)服務(wù)器是FTP.microsoft.com(207.46.133.140)
FTP進(jìn)程和我們上文見到的SSH進(jìn)程的建立方式有些類似,首先取得默認(rèn)網(wǎng)關(guān)的MAC地址,只是這里這個(gè)過程在MYPC的ARP CACHE里完成,不必勞煩動(dòng)用ARP請(qǐng)求,這個(gè)結(jié)果會(huì)在DNS里面見到,請(qǐng)求獲得目的FTP服務(wù)器的IP地址后,又取得一個(gè)DNS回復(fù),注意這些UDP包,客戶機(jī)使用高端口而服務(wù)器使用低端口53用于DNS解析.
13:50:46.490130 mypc.xx.yy.zz.3170 > dnsserver.xx.yy.zz.53:?1+ A? ftp.microsoft.com. (35)
13:50:46.500269 dnsserver.xx.yy.zz.53 > mypc.xx.yy.zz.3170:?1 q: ftp.microsoft.com. 1/4/4
ftp.microsoft.com. A 207.46.133.140 (215)

現(xiàn)在MYPC有了服務(wù)器的IP地址: 207.46.133.140,立即于服務(wù)器的21端口建立TCP的三次握手
13:50:46.564494 mypc.xx.yy.zz.3171 > 207.46.133.140.21: S 87666930:87666930(0)
win 65535?(DF)
13:50:46.671920 207.46.133.140.21 > mypc.xx.yy.zz.3171: S 3058770520:3058770520(0)
ack 87666931 win 17520?(DF)
13:50:46.672155 mypc.xx.yy.zz.3171 > 207.46.133.140.21: . 87666931:87666931(0)
ack 3058770521 win 65535 (DF)

握手完成后,客戶機(jī)開始和FTP服務(wù)器交換信息,服務(wù)器要求用戶提供用戶名,我敲了anonymous而且輸入EMAIL作為密碼,這一系列交流是通過PUSH/ACK和ACK包完成的.下面就是一個(gè)例子,在例子里面,MYPC使用的是3171端口,服務(wù)器是21端口
13:50:46.779273 207.46.133.140.21 > mypc.xx.yy.zz.3171: P 3058770521:3058770576(55)
ack 87666931 win 17520 (DF)
13:50:46.896881 mypc.xx.yy.zz.3171 > 207.46.133.140.21: . 87666931:87666931(0)
ack 3058770576 win 65480 (DF)
13:50:48.282313 mypc.xx.yy.zz.3171 > 207.46.133.140.21: P 87666931:87666947(16)
ack 3058770576 win 65480 (DF)
13:50:48.388962 207.46.133.140.21 > mypc.xx.yy.zz.3171: P 3058770576:3058770648(72)
ack 87666947 win 17504 (DF)
13:50:48.495939 mypc.xx.yy.zz.3171 > 207.46.133.140.21: . 87666947:87666947(0)
ack 3058770648 win 65408 (DF)

和SSH相比,FTP有些差別:它在整個(gè)連接過程中采用進(jìn)程控制.用戶向服務(wù)器的請(qǐng)求和服務(wù)器對(duì)客戶的回應(yīng)都通過這個(gè)控制通道進(jìn)行.類似目錄列表/上傳和下載這樣的數(shù)據(jù)傳輸則不通過這個(gè)通道進(jìn)行,在這個(gè)例子里,客戶機(jī)的3171端口個(gè)服務(wù)器的21端口就是控制通道,當(dāng)用戶下載文件或者要求列出目錄列表時(shí),相應(yīng)的數(shù)據(jù)傳輸實(shí)際上是通過另外一個(gè)連接進(jìn)行的.


當(dāng)用戶使用LS命令來(lái)要求列出目錄時(shí),相應(yīng)的步驟開始了.服務(wù)器為了初始化一個(gè)到客戶機(jī)的連接,它就必須知道和客戶機(jī)的哪個(gè)端口建立連接.在這個(gè)記錄文件里,在第一行里: 客戶機(jī)告訴服務(wù)器用于連接的IP地址和端口號(hào);第二行則是服務(wù)器的回復(fù),告訴客戶機(jī)IP地址和端口號(hào)被接受;第三行是客戶機(jī)要求列出目錄列表,第四行則是服務(wù)器告知客戶機(jī)自己正在初始化連接
13:50:53.501031 mypc.xx.yy.zz.3171 > 207.46.133.140.21: P 87666966:87666994(28)
ack 3058770765 win 65291 (DF)
13:50:53.607175 207.46.133.140.21 > mypc.xx.yy.zz.3171: P 3058770765:3058770795(30)
ack 87666994 win 17457 (DF)
13:50:53.632708 mypc.xx.yy.zz.3171 > 207.46.133.140.21: P 87666994:87667000(6)
ack 3058770795 win 65261 (DF)
13:50:53.737852 207.46.133.140.21 > mypc.xx.yy.zz.3171: P 3058770795:3058770850(55)
ack 87667000 win 17451 (DF)

為了傳輸數(shù)據(jù)(,在這里是客戶機(jī)從服務(wù)器取得的目錄列表,),服務(wù)器初始化了一個(gè)從自己的20端口到客戶機(jī)指定端口(這里是3172)的連接,我們看到三次握手建立,服務(wù)器開始向客戶機(jī)發(fā)送PUSH/ACK數(shù)據(jù)包,這里面就有文件列表,因?yàn)樗眯〉娇梢苑胚M(jìn)一個(gè)包里.
13:50:53.738024 207.46.133.140.20 > mypc.xx.yy.zz.3172: S 3061133541:3061133541(0)
win 16384?(DF)
13:50:53.738200 mypc.xx.yy.zz.3172 > 207.46.133.140.20: S 87674104:87674104(0)
ack 3061133542 win 65535?(DF)
13:50:53.844704 207.46.133.140.20 > mypc.xx.yy.zz.3172: . 3061133542:3061133542(0)
ack 87674105 win 17520 (DF)
13:50:53.850833 207.46.133.140.20 > mypc.xx.yy.zz.3172: P 3061133542:3061133706(164)
ack 87674105 win 17520 (DF)

這時(shí),出現(xiàn)了2個(gè)獨(dú)立的連接:
一個(gè)是客戶機(jī)的3171和服務(wù)器的21端口的連接
一個(gè)是客戶機(jī)的3172和服務(wù)器的20端口的連接
服務(wù)器一旦完成目錄列表的傳輸,就采用發(fā)送FIN/ACK包數(shù)據(jù)的方式準(zhǔn)備結(jié)束連接.需要注意的是服務(wù)器僅僅在自己的20端口上結(jié)束了連接而不是21端口上的控制通道.當(dāng)數(shù)據(jù)傳輸連接截?cái)嗪?控制通道內(nèi)仍然有數(shù)據(jù)傳輸.下面記錄的第五行就顯示了控制通道內(nèi)一個(gè)24字節(jié)的傳輸,從客戶機(jī)的角度看來(lái),是一個(gè)”226 TRANSFER COMPLETE”的顯示,表示傳輸成功.
13:50:53.850981 207.46.133.140.20 > mypc.xx.yy.zz.3172: F 3061133706:3061133706(0)
ack 87674105 win 17520 (DF)
13:50:53.851068 mypc.xx.yy.zz.3172 > 207.46.133.140.20: . 87674105:87674105(0)
ack 3061133707 win 65371 (DF)
13:50:53.895937 mypc.xx.yy.zz.3171 > 207.46.133.140.21: . 87667000:87667000(0)
ack 3058770850 win 65206 (DF)
13:50:53.903415 mypc.xx.yy.zz.3172 > 207.46.133.140.20: F 87674105:87674105(0)
ack 3061133707 win 65371(DF)
13:50:54.002060 207.46.133.140.21 > mypc.xx.yy.zz.3171: P 3058770850:3058770874(24)
ack 87667000 win 17451 (DF)
13:50:54.009333 207.46.133.140.20 > mypc.xx.yy.zz.3172: . 3061133707:3061133707(0)
ack 87674106 win 17520 (DF)
13:50:54.196818 mypc.xx.yy.zz.3171 > 207.46.133.140.21: . 87667000:87667000(0)
ack 3058770874 win 65182 (DF)

如果我從服務(wù)器下載數(shù)據(jù),我們會(huì)看見相同的數(shù)據(jù)進(jìn)程,服務(wù)器會(huì)從自己的20端口到客戶機(jī)的新的高端口建立一個(gè)連接,進(jìn)行三次握手,數(shù)據(jù)是通過這個(gè)連接進(jìn)行傳輸,傳輸一旦完成,連接即告斷開.

在FTP進(jìn)程里,在同一時(shí)間內(nèi)可能存在多個(gè)數(shù)據(jù)連接,每建立一個(gè)連接,一個(gè)新的客戶機(jī)的端口就被打開使用,僅僅看到進(jìn)程的一部分的話,可能會(huì)被認(rèn)為是一個(gè)端口掃描,尤其是當(dāng)客戶機(jī)端口有保護(hù)時(shí).所以遇見這種情況時(shí),你就應(yīng)該仔細(xì)看看數(shù)據(jù)傳輸?shù)那闆r以判斷到底是端口掃描還是僅僅只是FTP連接.

被動(dòng)的FTP進(jìn)程
FTP的另一特殊之處在于服務(wù)器要初始化和客戶機(jī)的連接,而不是由客戶機(jī)初始化所有與服務(wù)器的連接,由于他的這種特性,可能會(huì)導(dǎo)致一些防火墻和包過濾器的過激反應(yīng).為了解決這個(gè)問題,用戶可以采用被動(dòng)FTP來(lái)取代標(biāo)準(zhǔn)FTP.


被動(dòng)FTP在開始時(shí)個(gè)一般的FTP一樣:客戶機(jī)先初始化一個(gè)從服務(wù)器21端口到自己高端口的連接,當(dāng)需要開放一個(gè)數(shù)據(jù)傳輸通道是,服務(wù)器向客戶機(jī)發(fā)送一個(gè)可供選擇的高端口號(hào),客戶機(jī)則初始化從自己的高端口和服務(wù)器的高端口的連接.所以在使用被動(dòng)FTP時(shí),20端口從不被使用,所有數(shù)據(jù)傳輸均通過高端口進(jìn)行.

這里有一個(gè)被動(dòng)FTP工作的例子,信息源是一臺(tái)OPENBSD2.8,截獲手段是TCPDUMP,OPENBSD的客戶端的默認(rèn)設(shè)置是使用被動(dòng)FTP

首先,被動(dòng)的FTP和普通的FTP一樣,客戶機(jī)初始化一個(gè)從自己的高端口到服務(wù)器21端口的TCP連接(請(qǐng)注意我這里用的是OPENBSD下的TCPDUMP而不是WINDOWS下面的WINDUMP,所以記錄看來(lái)有很大的差別)
15:57:28.005993 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: S 157025335:157025335(0)
win 16384
15:57:28.099136 207.46.133.140.21 > bsdpc.xx.yy.zz.28348: S 1286994806:1286994806(0)
ack 157025336 win 17520?(DF)
15:57:28.099193 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: .
ack 1286994807 win 17376
15:57:28.193361 207.46.133.140.21 > bsdpc.xx.yy.zz.28348: P 1286994807:1286994862(55)
ack 157025336 win 17520 (DF)
15:57:28.193413 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: . ack 1286994862 win 17376

(N.B.: Several additional PUSH/ACK and ACK packets have been omitted.)
(作者原注:這里省略了好多PUSH/ACK和ACK數(shù)據(jù)包)
the client simply acknowledges that it has received the packet with the port information.
接下來(lái),我鍵入LS以取得文件列表,在第一個(gè)數(shù)據(jù)包里,我的FTP客戶機(jī)告訴服務(wù)器要使用被動(dòng)FTP,第二個(gè)包則是服務(wù)器的回應(yīng),包括了分配以用于連接的服務(wù)器IP地址和端口號(hào),在第三個(gè)包里,客戶機(jī)確認(rèn)已經(jīng)收到了包含端口信息的數(shù)據(jù)包.
15:57:36.243722 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: P 157025383:157025389(6)
ack 1286995115 win 17376
15:57:36.342188 207.46.133.140.21 > bsdpc.xx.yy.zz.28348: P 1286995115:1286995166(51)
ack 157025389 win 17467 (DF)
15:57:36.342213 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: .
ack 1286995166 win 17325

現(xiàn)在客戶機(jī)知道使用服務(wù)器的哪一個(gè)端口,從另一高端口建立了一個(gè)倒服務(wù)器的連接,在這里是端口24626,服務(wù)器使用端口3668,三次握手建立,我們就看見服務(wù)器21端口和客戶機(jī)28348端口間的控制通道里開始有數(shù)據(jù)傳輸
15:57:36.342370 bsdpc.xx.yy.zz.24626 > 207.46.133.140.3668: S 157871686:157871686(0)
win 16384
15:57:36.440039 207.46.133.140.3668 > bsdpc.xx.yy.zz.24626: S 1292391804:1292391804(0)
ack 157871687 win 17520?(DF)
15:57:36.440076 bsdpc.xx.yy.zz.24626 > 207.46.133.140.3668: .
ack 1292391805 win 17376
15:57:36.440167 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: P 157025389:157025395(6)
ack 1286995166 win 17376
15:57:36.542608 207.46.133.140.21 > bsdpc.xx.yy.zz.28348: P 1286995166:1286995220(54)
ack 157025395 win 17461 (DF)
15:57:36.542638 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: . ack 1286995220 win 17322


數(shù)據(jù)傳輸連接已經(jīng)建立,文件列表得以傳輸,如果你現(xiàn)在看看依照時(shí)戳的記錄,似乎是在數(shù)據(jù)傳輸結(jié)束前(第三行)服務(wù)器就終止了連接(第一行),如果你再看下去,你就會(huì)發(fā)現(xiàn)收到的數(shù)據(jù)包是雜亂無(wú)章的,0字節(jié)的數(shù)據(jù)包后于1167字節(jié)的數(shù)據(jù)包發(fā)出,但是卻先被收到,當(dāng)你分析記錄時(shí)按時(shí)戳順序是很有用的,但是你最好注意序列號(hào).
15:57:36.547340 207.46.133.140.3668 > bsdpc.xx.yy.zz.24626: F 1292392972:1292392972(0)
ack 157871687 win 17520 (DF)
15:57:36.547367 bsdpc.xx.yy.zz.24626 > 207.46.133.140.3668: .
ack 1292391805 win 17376
15:57:36.549363 207.46.133.140.3668 > bsdpc.xx.yy.zz.24626: P 1292391805:1292392972(1167)
ack 157871687 win 17520 (DF)
15:57:36.549396 bsdpc.xx.yy.zz.24626 > 207.46.133.140.3668: .
ack 1292392973 win 16209
15:57:36.551374 bsdpc.xx.yy.zz.24626 > 207.46.133.140.3668: F 157871687:157871687(0)
ack 1292392973 win 17376
15:57:36.635184 207.46.133.140.21 > bsdpc.xx.yy.zz.28348: P 1286995220:1286995244(24)
ack 157025395 win 17461 (DF)
15:57:36.635211 bsdpc.xx.yy.zz.28348 > 207.46.133.140.21: .
ack 1286995244 win 17376
15:57:36.647798 207.46.133.140.3668 > bsdpc.xx.yy.zz.24626: .
ack 157871688 win 17520 (DF)

小結(jié)
我們已經(jīng)深入分析了FTP,FTP用2種方式連接:數(shù)據(jù)控制:控制通道用于發(fā)送客戶機(jī)到服務(wù)器的命令請(qǐng)求和服務(wù)器的回應(yīng).FTP客戶機(jī)初始化一個(gè)到服務(wù)器的控制連接.在標(biāo)準(zhǔn)FTP里,服務(wù)器初始化所有的到客戶機(jī)的連接,在被動(dòng)FTP里,客戶機(jī)初始化所有的到服務(wù)器的數(shù)據(jù)傳輸.

我建議大伙做點(diǎn)自己的FTP測(cè)試(千萬(wàn)注意合法性!!!)下一篇文章將重點(diǎn)介紹一些普通數(shù)據(jù)流的額外特性.
Karen Frederick is a senior security engineer for NFR Security. Karen has a B.S. in Computer Science and is completing her Master's thesis in intrusion detection through the University of Idaho's Engineering Outreach program. She holds several certifications, including Microsoft Certified Systems Engineer + Internet, Check Point Certified Security Administrator, and SANS GIAC Certified Intrusion Analyst. Karen is one of the authors and editors of "Intrusion Signatures and Analysis", a book on intrusion detection that was published in January 2001.

熱詞搜索:

上一篇:網(wǎng)絡(luò)流量分析(一)
下一篇:把網(wǎng)站建在自己的電腦里

分享到: 收藏
主站蜘蛛池模板: 监利县| 台中市| 英吉沙县| 白河县| 六安市| 瑞金市| 贡觉县| 凤山市| 连云港市| 盐城市| 博乐市| 新田县| 丽水市| 铜梁县| 互助| 巢湖市| 和田市| 安泽县| 攀枝花市| 富平县| 萝北县| 中山市| 新沂市| 永川市| 南召县| 兰考县| 五河县| 祁阳县| 二手房| 三明市| 滕州市| 鄄城县| 浏阳市| 登封市| 肃南| 连江县| 达尔| 万年县| 阳春市| 河西区| 邢台市|