乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      范偉導老師Sniffer課程資料

       gexian 2013-02-15

      大家好!歡迎大家參加Sniffer的認證課程!
      先自我介紹一下!我叫范偉導,這是我的郵件,我現(xiàn)在沒有工作(同學們:自由職業(yè)者)可以這么說。
      介紹一下我的經(jīng)歷:畢業(yè)后我在一個臺資電腦廠工作了一年,做硬件的。
      后來到了日本三洋工作,作X400的軟件開發(fā),做ERP,用RPG開發(fā),做了4年
      后來到了神州數(shù)碼,作CISCO網(wǎng)絡,原來在技術(shù)中心做實施,后來在培訓中心做講師,一共做了5年。
      現(xiàn)在我是CISCO和Sniffer的授權(quán)講師,不過現(xiàn)在我不想做CISCO了,想做Sniffer,因為我覺得網(wǎng)絡分析是一個很好的技術(shù)方向。等一下我還會跟大家聊一聊我們該往哪一個方向發(fā)展。
      先看一下我們這個課程,這個課程事實上是兩門課,第一門我們介紹怎樣用Sniffer來做網(wǎng)絡故障診斷,還有網(wǎng)絡管理的一些方法和思路,第二門課我們介紹如何做應用的分析,這是Sniffer的新課程,我個人覺得非常好,以前的幾個班學員也很喜歡。第一門課我們會講3天,第二門課我們會講2天。
      接下來的半個小時我們不講書本知識,講講我的經(jīng)歷和Sniffer究竟能用來做什么,我們?yōu)槭裁匆獙WSniffer,其實我的目的是提起大家的學習興趣,大家愿意學,我才講的起勁。要不我一邊講,大家在噼噼啪啪上網(wǎng),那我就講不下去了(同學們笑)。
      大家做網(wǎng)絡都很多年了,想想我們以前的10兆以太網(wǎng),現(xiàn)在的萬兆以太網(wǎng),想想14.4k的modem,現(xiàn)在的2M寬帶,以前的x25,楨中繼,現(xiàn)在的SDH,MSTP,裸光纖。大家都經(jīng)歷這些,但我們才工作幾年?就這幾年,變化這么大,我不知道大家的工資有沒有變化這么大,(同學們大笑),從10兆到萬兆,1000倍,幾年工資張1000倍。有點難(同學們:不是有點難,是很難,不可能)。
      再看看我們工作的變化,以前能配配路由器就很牛了,現(xiàn)在似乎誰都會了,記得幾年前,我?guī)鸵粋€小集成商配一臺4000系列交換機,收了2000元,15分鐘搞定。(同學們:好爽,介紹一些給我們做),沒有了
      說說你們的工作。平常工作中做些什么(同學們:做做網(wǎng)線,殺病毒,幫領導裝機器)
      大家想想,這是我們想做的工作嗎,以前這些都不用我們做,現(xiàn)在大家感覺是不是地位在下降,工資也不漲,好歹我們也是蜘蛛級的人物呀,不是有個笑話說蜜蜂是空姐,做網(wǎng)絡的是蜘蛛嗎。(同學們笑)
      我們該怎么辦?
      現(xiàn)在說說我的觀點,我們都希望工資能年年漲,不要求1000倍,(同學們:不要求那么高,一年20%就行了),
      20%?不止吧,從畢業(yè)到現(xiàn)在,你們工資不止年均漲不止20%吧。 (同學們:我們不能跟您比)
      也有可能,你們的起點高,我畢業(yè)的時候才有650元。
      大家回顧一下,做IT的誰的收入高?
      1、銷售
      2、領導
      3、咨詢專家
      4、售前工程師
      5、售后工程師
      我們在座的有3個是網(wǎng)絡中心的主任或科長,他們的收入肯定比一般工程師高,我祝愿你們步步高升,收入節(jié)節(jié)高。
      在座大多數(shù)是網(wǎng)絡工程師,我們該怎么走,其實你們現(xiàn)在的單位都很好,但將來怎樣很難知道,比如前幾年銀行的收入令人羨慕,現(xiàn)在他們卻擔心降工資,現(xiàn)在移動的收入不錯吧,我有汽車廠商的學員,他告訴我他們的收入比移動好點,(同學們:哇)這是他們自己說的,好多少就沒說了,還有某政府單位的,什么單位不便說,他們沒告訴我他們的收入,只說,價格少于4萬的筆記本他們不用,哇靠,4萬的筆記本,什么配置?(同學們:那是服務器)
      我們不能比,人比人,氣死人。我們沒法進入這些公司的,還是腳踏實地一點好,但我們做技術(shù)的也要考慮如何提高我們的收入,做技術(shù)的要提高收入,地位是關(guān)鍵,前面大家說只做做線,殺殺病毒,我們的地位在下降,工資怎么長得起來呢?想想我們做技術(shù)的,誰的收入高,做數(shù)據(jù)庫的比做服務器的高,為什么Oracle那么火,做服務器的比寫程序的高,寫程序的比做網(wǎng)絡高,這是普遍現(xiàn)象,不說特殊情況。其實大家發(fā)現(xiàn)一個特點沒有,凡是掌握企業(yè)關(guān)鍵業(yè)務的收入都很高,你看作數(shù)據(jù)庫的,數(shù)據(jù)庫壞了,企業(yè)完蛋了,領導當然重視,現(xiàn)在不僅講存儲,還講災備,你看很多銀行,北京一個數(shù)據(jù)中心,上海一個數(shù)據(jù)中心。
      我們網(wǎng)絡怎樣,設計的都是高可靠性的端到端備份,出問題的機會很少,而當應用出什么問題,都說是網(wǎng)絡問題。舉個例子,有個單位(稅務的學員告訴我的),有一天應用突然變慢,大家都說網(wǎng)絡慢了,我們用盡troubleshooting的技術(shù)也發(fā)現(xiàn)不了問題,結(jié)果作數(shù)據(jù)庫的工程師偷偷改一下表空間,好了,沒問題了,我們不知道怎么好了,做數(shù)據(jù)庫的不說他們有問題,還說網(wǎng)絡好了,領導問我網(wǎng)絡怎么好的,我不知道呀,領導說:趕快查出原因,避免再出現(xiàn)類似問題,哇塞,怎么查,本來網(wǎng)絡就沒問題,查什么查。(同學們笑)
      所以現(xiàn)在大家用一個字來形容我們的工作?你們會用什么字(同學們:累、苦)
      很貼切,苦、累
      所以我們不能一直停留在網(wǎng)絡的troubleshooting,我們必須提高我們的地位,要不我們會累死。
      怎么提高地位,我們必須了解我們的業(yè)務,也就是要了解應用,了解應用在我們網(wǎng)絡上的行為特征,很重要的一個詞行為特征。當我們了解了業(yè)務的行為特征,我們能定位某一個問題的真正故障點,舉個例子:網(wǎng)絡應用變慢,可能的原因有什么?網(wǎng)絡問題,服務器問題,數(shù)據(jù)庫問題,應用程序問題,客戶機問題。如果我們能夠判斷是哪一部分問題,我們就有發(fā)言權(quán)了,比如說剛才那種情況,如果我們直接說這是數(shù)據(jù)庫問題,不是網(wǎng)絡問題,領導會問,你憑什么說是數(shù)據(jù)庫問題,你可以拿出Sniffer,專家系統(tǒng)上寫著,DB Slow Server response診斷,(范老師在演示)再看解碼,做一個用戶驗證操作,花了1.731秒,有根有據(jù),大家想一想,有了Sniffer我們可以了解我們的業(yè)務行為特征,可以排除我們的責任,不但工作輕松了,地位也提高了。(同學們笑)
      以前我們應用出現(xiàn)問題的時候我們總是分頭查找問題,結(jié)果往往是沒有結(jié)果,因為這種查找方式范圍太大了,我們做troubleshooting第一步應該是:隔離故障。
      如果我們有了Sniffer,首先用Sniffer看一下,最有可能是哪一部分問題,再安排檢查,這樣不但節(jié)省人力,速度會更快,效率也更高。
      如果有人問我們Sniffer是什么?大家都會說是協(xié)議分析儀,你看sniffer網(wǎng)站([url]www.[/url])
      上說的是應用和網(wǎng)絡分析系統(tǒng)。究竟Sniffer是什么樣的一個東西,我們要了解他的發(fā)展過程。其實很多類似的產(chǎn)品比如ethereal,netscout,wildpacket等都有類似的發(fā)展過程
      第一階段是抓包和解碼,也就是把網(wǎng)絡上的數(shù)據(jù)包抓下來,然后進行解碼,那時候誰能解開的協(xié)議多,誰就是老大,Sniffer當時能解開的協(xié)議最多,也就理所當然地成了老大,現(xiàn)在Sniffer能解開550種協(xié)議,還是業(yè)界最多的,
      第二階段是專家系統(tǒng),也就是通過抓下來的數(shù)據(jù)包,根據(jù)他的特征和前后時間戳的關(guān)系,判斷網(wǎng)絡的數(shù)據(jù)流有沒有問題,是哪一層的問題,有多嚴重,專家系統(tǒng)都會給出建議和解決方案,現(xiàn)在Sniffer的專家系統(tǒng)還是業(yè)界最強的
      第三階段:是把網(wǎng)絡分析工具發(fā)展成網(wǎng)絡管理工具,為什么要這樣,如果Sniffer知識用作網(wǎng)絡分析,那Sniffer的軟件就夠用了,現(xiàn)在軟件的portable基本上都是盜版的,sniffer沒錢賺了,所以它必須往網(wǎng)絡管理方向轉(zhuǎn),要作為網(wǎng)絡管理工具,就必須能部署在網(wǎng)絡中心,能長期監(jiān)控,能主動管理網(wǎng)絡,能排除潛在問題,要做到這些,就要求有更高的性能,所以Sniffer就有了相應的硬件產(chǎn)品,比如說分布式硬件平臺,InfiniStream等,我知道在座各位都買了Sniffer的硬件,這時候如果用軟件的Sniffer性能就不行了。
      #p#
      我們來看一下Sniffer的七大monitor功能,有Dashboard,hosttable,matrix,ART,protocol distribution,history sample,global statistics
      我們一個一個來看,先看dashboard。
      這個大家很熟悉了,我不用多講,dashboard有3個儀表,分別是使用率,每秒鐘包數(shù)量,每秒鐘錯誤率,下面都有兩個數(shù)字,前面一個表示當前值,后面一個表示最大值。
      下面還有l(wèi)ong term,和short term
      Long term 每30分鐘采樣一次,一共可以采樣24小時,short term 每30秒鐘采樣一次,可以采樣25分鐘
      大家自己試一下,首先把file里面的loopback 選上,這樣我們發(fā)的數(shù)據(jù)包就不會發(fā)到網(wǎng)絡中去,然后打開101目錄里的TCPdemo7a那個trace file ,再用packet general 發(fā)包,選send current buffer,連續(xù)發(fā)送。(我們是跟著范老師做的)
      好了,大家試了一遍,感覺應該是一樣的,就是這有什么用?沒用,對吧,我也這樣覺得(同學們笑)
      但如果你要監(jiān)控某一臺服務器的時候,這個是有用的,比如你把一臺服務器的接口monitor 過來,這樣你就可以看到這臺服務器的流量狀況了,這就是一個很好的基準線呀。當然大家用的是硬件產(chǎn)品,就更方便了。
      大家注意到下面還有錯誤報的統(tǒng)計,要注意的是一般的網(wǎng)卡是抓不了錯誤包的,要用專用網(wǎng)卡,一塊網(wǎng)卡上萬塊,NG好黑呀(同學們笑)
      其實大家知道通過交換機的存儲轉(zhuǎn)發(fā),基本上很少錯誤包,所以不用關(guān)注它。
      在這里我想解釋一下以太網(wǎng)的錯誤包,這對大家學習網(wǎng)絡是很有幫助的,特別是了解一下封裝的概念。
      (請看下一頁:以太網(wǎng)為什么要64個字節(jié))
      (這是范老師的板書,我畫不出來,大家將就點吧) 
      (這是范老師的板書,我畫不出來,大家將就點吧)
      以太網(wǎng)是無連接的,不可靠的服務,采用盡力傳輸?shù)臋C制。以太網(wǎng)CSMA/CD我就不多講了,我相信大家都了解這個原理。
      以太網(wǎng)是不可靠的,這意味著它并不知道對方有沒有收到自己發(fā)出的數(shù)據(jù)包,但如果他發(fā)出的數(shù)據(jù)包發(fā)生錯誤,他會進行重傳。以太網(wǎng)的錯誤主要是發(fā)生碰撞,碰撞是指兩臺機器同時監(jiān)聽到網(wǎng)絡是空閑的,同時發(fā)送數(shù)據(jù),就會發(fā)生碰撞,碰撞對于以太網(wǎng)來說是正常的。
      我們來看一下,假設A檢測到網(wǎng)絡是空閑的,開始發(fā)數(shù)據(jù)包,盡力傳輸,當數(shù)據(jù)包還沒有到達B時,B也監(jiān)測到網(wǎng)絡是空閑的,開始發(fā)數(shù)據(jù)包,這時就會發(fā)生碰撞,B首先發(fā)現(xiàn)發(fā)生碰撞,開始發(fā)送碰撞信號,所謂碰撞信號,就是連續(xù)的01010101或者10101010,十六進制就是55或AA。這個碰撞信號會返回到A,如果碰撞信號到達A時,A還沒有發(fā)完這個數(shù)據(jù)包,A就知道這個數(shù)據(jù)包發(fā)生了錯誤,就會重傳這個數(shù)據(jù)包。但如果碰撞信號會返回到A時,數(shù)據(jù)包已經(jīng)發(fā)完,則A不會重傳這個數(shù)據(jù)包。
      我們先看一下,以太網(wǎng)為什么要設計這樣的重傳機制。首先,以太網(wǎng)不想采用連接機制,因為會降低效率,但他又想有一定的重傳機制,因為以太網(wǎng)的重傳是微秒級,而傳輸層的重傳,如TCP的重傳達到毫秒級,應用層的重傳更達到秒級,我們可以看到越底層的重傳,速度越快,所以對于以太網(wǎng)錯誤,以太網(wǎng)必須有重傳機制。
      要保證以太網(wǎng)的重傳,必須保證A收到碰撞信號的時候,數(shù)據(jù)包沒有傳完,要實現(xiàn)這一要求,A和B之間的距離很關(guān)鍵,也就是說信號在A和B之間傳輸?shù)膩砘貢r間必須控制在一定范圍之內(nèi)。IEEE定義了這個標準,一個碰撞域內(nèi),最遠的兩臺機器之間的round-trip time 要小于512bit time.(來回時間小于512位時,所謂位時就是傳輸一個比特需要的時間)。這也是我們常說的一個碰撞域的直徑。
      512個位時,也就是64字節(jié)的傳輸時間,如果以太網(wǎng)數(shù)據(jù)包大于或等于64個字節(jié),就能保證碰撞信號到達A的時候,數(shù)據(jù)包還沒有傳完。
      這就是為什么以太網(wǎng)要最小64個字節(jié),同樣,在正常的情況下,碰撞信號應該出現(xiàn)在64個字節(jié)之內(nèi),這是正常的以太網(wǎng)碰撞,如果碰撞信號出現(xiàn)在64個字節(jié)之后,叫 late collision。這是不正常的。
      我們以前學習CISCO網(wǎng)絡的時候,CISCO交換機有一種轉(zhuǎn)發(fā)方式叫fragment-free,叫無碎片轉(zhuǎn)發(fā),他就是檢查64個字節(jié)之內(nèi)有沒有錯誤,有的話不轉(zhuǎn)發(fā),這樣就排除了正常的以太網(wǎng)錯誤包。
      (這是范老師的板書,我畫不出來,大家將就點吧) 
      我們再來看一看以太網(wǎng)的幀結(jié)構(gòu)。

      要講幀結(jié)構(gòu),就要說一說OSI七層參考模型。七層參考模型大家很熟悉,以前我們看書的時候會覺得不知所云,我剛學的時候就是這感覺,其實我們只要掌握兩點就行了。 
      一個是訪問服務點,每一層都對上層提供訪問服務點(SAP),或者我們可以說,每一層的頭里面都有一個字段來區(qū)分上層協(xié)議。 
      比如說傳輸層對應上層的訪問服務點就是端口號,比如說23端口是telnet,80端口是http。IP層的SAP是什么?(同學們沒說話) 
      其實就是protocol字段,17表示上層是UDP,6是TCP,89是OSPF,88是EGIRP,1是ICMP等等。 
      以太網(wǎng)對應上層的SAP是什么呢?就是這個type或length。比如 0800表示上層是IP,0806表示上層是ARP。我后面還會將各種以太網(wǎng)的幀類型。 
      第二個要了解的就是對等層通訊,對等層通訊比較好理解,發(fā)送端某一層的封裝,接收端要同一層才能解封裝。 
      我們再來看看幀結(jié)構(gòu),以太網(wǎng)發(fā)送方式是一個幀一個幀發(fā)送的,幀與幀之間需要間隙。這個叫幀間隙IFG—InterFrame Gap 
      IFG長度是96bit。當然還可能有Idle時間。 
      以太網(wǎng)的幀是從目的MAC地址到FCS,事實上以太網(wǎng)幀的前面還有preamble,我們把它叫做先導字段。作用是用來同步的,當接受端收到preamble,就知道以太網(wǎng)幀就要來了。preamble有8個字節(jié)前面7個字節(jié)是10101010也就是16進制的AA,最后一個字節(jié)是10101011,也就是AB,當接受端接受到連續(xù)的兩個高點平,就知道接著來的就是D_mac。所以最后一個字節(jié)AB我們也叫他SFD(幀開始標示符)。 
      所以在以太網(wǎng)傳輸過程中,即使沒有idle,也就是連續(xù)傳輸,也有20個字節(jié)的間隔。對于大量64字節(jié)數(shù)據(jù)來說,效率也就顯得不高。 
      所以,有時我們用下載數(shù)據(jù)來檢查我們的網(wǎng)速,這是不完全準確地,我們要了解他的傳輸特征,才能準確判斷電信究竟給了你多少帶寬。我有一個移動的學員,他說用戶總懷疑我給他的帶寬不夠,其實我肯定給他兩兆了,所以有時運營商也挺不容易(同學們笑)。后來我告訴他怎么樣用sniffer來測帶寬,不知道他后來成功了嗎,我沒有得到反饋。后面我會介紹怎樣用Sniffer來做帶寬測試,非常精確的喔。我給很多用戶作過帶寬測試,他們大多都是懷疑電信給的帶寬不夠。(同學們問:有沒有不夠的時候?)我測試的案例里還沒有。還有就是幫集成商作方案驗證,比如,集成商給用戶作了多鏈路捆綁,或路由負載均衡,用戶說比原來更慢了,我去證明給用戶看,負載均衡確實做起來了,流量分擔很正常。(同學們問:那為什么會慢呢),這就涉及到應用的特征和不同廠商采用均衡的機制。我還沒試過作進一步分析。因為這是集成商的朋友叫我去幫忙的,我只要證明給用戶看方案沒問題,并告訴集成商如何給用戶解釋就行了,在做下去,就會畫蛇添足了,因為可能讓用戶覺得我的水平比我朋友高,那不是幫倒忙了。(同學們笑)所以幫忙也要適可而止。 (同學們笑) 
      好了,有點扯遠了。前面講這些主要是幫大家復習以下以太網(wǎng)知識,大家別擔心,時間是足夠的,因為這門課里有很一些基礎的知識,比如交換原理、vlan原理,那些知識我都會跳過,我第一天的內(nèi)容不會很難,考慮到大家遠道而來,第一天都很累。但后面回越來越難,大家要有心理準備。晚上要早點睡覺(同學們笑)。還有一個,就是大家別指望能記得住我講得全部內(nèi)容,今天講得明天還記得一點,后天就全忘了,(同學們笑),到了課程結(jié)束的時候,基本上全忘光了,(同學們大笑),所以做筆記很重要,我建議大家把筆記寫在書上,到時才對得起來。我也注意到一些同學在錄音,我知道的,不用放在桌子底下(同學們笑),那樣效果不好,(同學們大笑),其實這是不允許的,不過沒關(guān)系,只有一個要求,不要放在互聯(lián)網(wǎng)上。 
      (編者:寫到這里,有點寫不下去了,覺得很內(nèi)疚,覺得對不起范老師。我參加過很多培訓,范老師是我很喜歡的一個老師,他講課不會非常幽默,但很實用,這是因為他有很多經(jīng)歷,他在講課過程中,會補充很多課程以外的東西,比如很多網(wǎng)絡中的細節(jié)知識,很多工作中的思路,我覺得這方面收獲很大,我個人覺得是對我知識的全面補充,學完之后覺得不僅學會了Sniffer,網(wǎng)絡管理的思路更清晰了,現(xiàn)在我指導工程師時,套了很多范老師的話,我覺得范老師很好。怎么辦?我在進行思想斗爭。。。該不該再寫下去。我想在論壇里發(fā)起投票,聽聽大家的意見,我該不該再寫下去。) 
      (編者:范老師的課程內(nèi)容: 第一天 monitor功能,Sniffer的部署 
        第二天 expert,capture filter ,troubleshooting 
      第三天 decode,display filter ,trigger 
      第四天 應用的類型,應用的剖析,應用的分析思路 
      第五天 應用性能的分析,應用性能預測) 
      #p#
      我們看一下,Sniffer究竟有什么用?
      第一,Sniffer可以幫助我們評估業(yè)務運行狀態(tài),如果你能告訴老板說,我們的業(yè)務運行正常,性能良好,比起你跟老板報告說網(wǎng)絡沒有問題,我想老板會更愿意聽前面的報告,但我們要做這樣的報告,光說是不行的,必須有根據(jù),我們能提供什么樣的根據(jù)呢。比如各個應用的響應時間,一個操作需要的時間,應用帶寬的消耗,應用的行為特征,應用性能的瓶頸等等,到第二門課,我會告訴大家怎么做到有根有據(jù)。
      第二,Sniffer能夠幫助我們評估網(wǎng)絡的性能,比如,各連路的使用率,網(wǎng)絡的性能的趨勢,網(wǎng)絡中哪一些應用消耗最多帶寬,網(wǎng)絡上哪一些用戶消耗最多帶寬,各分支機構(gòu)流量狀況,影響我們網(wǎng)絡性能的主要因素,我們可否做一些相應的控制,等等
      第三,Sniffer幫助我們快速定位故障,這個大家比較有經(jīng)驗,我們記住Sniffer的三大功能:monitor,expert,decode這三大功能都可以幫助我們快速定位故障,我后面通過案例演示給大家看,大家再做做實驗,很快就上手了(同學問:范老師,是否要學Sniffer必須對協(xié)議很熟,)不一定,我們可以通過Sniffer來學習各種協(xié)議,比如ospf,以前學網(wǎng)絡的時候,講OSPF的LSA好像很復雜,你用Sniffer看看,其實他的協(xié)議結(jié)構(gòu)還是不復雜的,一般情況下,我會要求學Sniffer的學員有CCNP的基礎,或者有幾年的網(wǎng)絡管理經(jīng)驗,我自己也是這樣,剛開始只是用Sniffer抓抓包,抓下來也不知道怎么分析,當我學完CCNP后,學了CIT,以為自己不錯了,會排除很多網(wǎng)絡故障,但實際上很多問題我還是解決不了,比如網(wǎng)絡慢,他又不斷,斷了我很快能解決,網(wǎng)絡慢,或者丟包,一般的排錯知識還是很難的,那時候開始學Sniffer,才發(fā)現(xiàn)很好用
      第四,Sniffer可以幫助我們排除潛在的威脅,我們網(wǎng)絡中有各種各樣的應用,有一些是關(guān)鍵應用,有一些是OA,有一些是非業(yè)務應用,還有一些就是威脅,他不但對我們的業(yè)務沒有幫助,還可能帶來危害,比如病毒、木馬、掃描等,Sniffer可以快速地發(fā)現(xiàn)他們,并且發(fā)現(xiàn)攻擊的來源,這就為我們做控制提供根據(jù),比如我們要做QOS,不是說隨便根據(jù)應用去分配帶寬就解決了,我們要知道哪一些應用要多少帶寬,帶寬如何分配,要有根有據(jù)。我們再回過頭看一下Sniffer什么時候開始流行的,再2003年沖擊波發(fā)作的時候,很多Sniffer的用戶通過Sniffer快速定位受感染的機器,后來很多人都知道Sniffer可以用來發(fā)現(xiàn)病毒,Sniffer的知名度暴漲,盜版用戶也暴漲(同學們大笑),后來震蕩波發(fā)作的時候,很多人用Sniffer來協(xié)助解決問題。我想強調(diào)的是Sniffer不是防病毒工具,這也只是他的一個用途,而且只對蠕蟲類型對網(wǎng)絡影響大的病毒有效,對于文件型的病毒,他很難發(fā)現(xiàn)。
      另外要說明的事,Sniffer還可以用來排除來自內(nèi)部的威脅,現(xiàn)在我們網(wǎng)絡中有各種各樣的網(wǎng)絡安全產(chǎn)品,防火墻、IDS、防病毒軟件,他們都有相應的功能,但真的有效嗎,能解決全部威脅嗎,我們要進行評估,用Sniffer就能評估內(nèi)網(wǎng)的安全狀況,有沒有病毒,有沒有攻擊,有沒有掃描,像防火墻、IDS、防病毒軟件他們都是后知后覺的,它必須有特征才能阻絕,而Sniffer是即時監(jiān)控的工具,通過發(fā)現(xiàn)網(wǎng)絡中的行為特征,判斷網(wǎng)絡是否有異常流量,所以Sniffer可能比防病毒軟件更快地發(fā)現(xiàn)病毒。我在神州數(shù)碼的時候,沖擊波震蕩波都是我縣發(fā)現(xiàn)的,有趣的是當時我都在上Sniffer的課,中午休息,我把sniffer駕到公司網(wǎng)絡,再Hosttable看到廣州一臺機器很多廣播,接著廣州另外一臺機器也開始發(fā)廣播,接著深圳也感染了,我馬上通知IT管理人員,他們把這幾臺機器斷網(wǎng),后來才知道有沖擊波病毒,防病毒軟件還不能殺。
      剛才講到異常流量,這是一個很重要的概念,什么是異常流量?我們怎么判斷是否異常,這又涉及另外一個概念,叫基準線分析,什么是基準線,基準線是指我們網(wǎng)絡正常情況下的行為特征,包括利用率、應用響應時間、協(xié)議分布,各用戶貸款消耗等,不同工程師會有不同基準線,因為他關(guān)心的內(nèi)容不同,只有知道我們網(wǎng)絡正常情況下的行為特征,我們才能判斷什么是異常流量。
      第五,做流量的趨勢分析,通過長期監(jiān)控,可以發(fā)現(xiàn)網(wǎng)絡流量的發(fā)展趨勢,為我們將來網(wǎng)絡改造提供建議和依據(jù)
      第六點就是應用性能預測,這點很有用,會用的人不多,我們第二門課會講,Sniffer能夠根據(jù)捕獲的流量分析一個應用的行為特征,比如,你現(xiàn)在有一個新的應用,還沒有上線,我能評估他上線后的性能,比如在用戶在網(wǎng)絡中心有多快,用戶在省中心有多快,用戶在市中心有多快,都可以提供量化的預測,準確率挺高的,誤差不超過10%。我們還可以用她來評估應用的瓶頸在哪,不同應用瓶頸不同,比如有些應用慢了,增加網(wǎng)絡帶寬效果很明顯,比如FTP這種應用,有些應用慢了增加帶寬沒什么效果,比如TELNET應用,我們還可以預測網(wǎng)絡帶寬增加的效果,比如我將2兆提高到8兆應用性能有多大的提升,Sniffer能比較準確地預測
      在這里我們提到三個重要概念,網(wǎng)絡行為特征,異常流量,基準線,大家理解了嗎
      在這里,我不想太多介紹產(chǎn)品,我不是來推銷Sniffer的(同學們笑),我們主要探討網(wǎng)絡分析技術(shù)
      Sniffer的便攜式就是我們用的那種盜版軟件(同學們笑),我不用介紹了,這門課我們用Sniffer的便攜式來講,因為分布式和InfiniStream也有一樣的界面,上課的時候我們都是用便攜式。
      Sniffer的分布式包括4100和6040,主要是放在網(wǎng)絡核心可以長期監(jiān)控、分析,4100可以處理千兆流量,6040可以處理8千兆流量,這是業(yè)界性能最高的產(chǎn)品
      Sniffer的InfiniStream的特點是可以長期抓包,最多有4個T的存儲空間,可以長期抓包,可以進行回溯性分析,這點對有些用戶來說很重要,比如今天早上10點半,某個應用很慢,十分鐘后又正常了,如果沒有InfiniStream,流量沒有保存,我們就很難分析問題在哪,如果有了InfiniStream,這些流量都會保存下來,自動的,就是長期抓包,我們就可以找出當時的流量,進行分析,一個很好的設備,現(xiàn)在支持1800兆線速捕獲,這也是其他廠商沒有的。
      這些你們買設備的時候代理都給你們說清楚了,我就不多講了。
      怎么樣,聽了這么久,感覺如何?有興趣嗎?
      其實我個人是很喜歡Sniffer的,我當時從三洋出來的時候,錯過了去IBM的機會,去了神州數(shù)碼才知道,他們IBM需要做X400的人,去了神州數(shù)碼,老板問我想做網(wǎng)絡還是想做主機,我說做網(wǎng)絡吧,那時一個CCIE 23十萬的收入是有的,結(jié)果到我考過CCIE筆試的時候,CCIE就值10萬吧,真是絕望了,(同學們笑)為什么當時不做主機呢,我那些做6000的同事現(xiàn)在都不錯,又不累。做網(wǎng)絡不就一個字:累嗎(同學們笑)我也沒有去考實驗了,01年的時候我考了CCSI,就是CISCO授權(quán)講師,后來講了很多cisco的課,我CISCO的學員有1000個,后來又講Sniffer的課,Sniffer的學員有300個,我的學員不少,有不少關(guān)系不錯的,他們過的比我好(同學們笑,你做講師也不錯呀,收入不低吧),以前講CISCO的時候收入不高,一天也就1000到1500,講Sniffer會好一些,(同學們:講Sniffer一天多少)這還不好公開,如果你們有興趣開班,我們再聊(同學們笑)。后來我考過了SCM,Sniffer的最高級認證,叫Sniffer大師。中國就我一個人,(同學們:哇,難不難考,考幾門),Sniffer的考試不難,這個我后面會講,考過SCM的全球也只有62個,亞太區(qū)只有5個,所以Sniffer原廠的課程都是我講的。在今年,我會去協(xié)助組建Sniffer中國技術(shù)服務中心,以后你們有什么問題都可以聯(lián)系我,我在那里是技術(shù)總監(jiān)。我們還有在各行各業(yè)的Sniffer專家小組,都是喜歡使用Sniffer的人在一起交流使用心得,分享一些案例,你們?nèi)缬信d趣,到時我可以邀請你們參加,不過首先要認真聽課。(同學們笑)
      好了,講了這么多,目標只有一個,提起大家的學習興趣,接下來講課程的內(nèi)容,首先把Sniffer打開。

      這時候,大家可能只看到一個local 下面是你的網(wǎng)卡,這就叫做一個local agent。
      事實上,一個local agent 就像一個探針。
      我們知道Sniffer的工作原理很簡單,就是把網(wǎng)卡設成混雜模式(叫做promiscuous),所謂混雜模式,就是把所有數(shù)據(jù)包接受下來放入內(nèi)存,大家知道一般情況下,PC機只接受目的mac地址為自己網(wǎng)卡或廣播、組播的數(shù)據(jù)包。sniffer就是這樣把所有數(shù)據(jù)包都接收下來,在進行分析。
      大家看我這里有多個agent,怎樣可以做多個agent呢,可以不同網(wǎng)卡做不同的agent,就像你們的分布式sniffer一樣,有多個網(wǎng)卡,那就是多個agent,infinistream也一樣。
      其實一個網(wǎng)卡,也可以做多個agent,大家試一下,new一個,給他加上說明,就叫101把,選中你們的網(wǎng)卡,下面選no pod,copy setting留空,那個pod是你外接sniffer book時候用的。大家看看你們的agent多了一個,101括號local_2。對不對(同學們:對)
      好,不錯。
      我們?yōu)槭裁唇⒍鄠€agent 呢。不同的agent可以定義不同的閥值,可以有不同的過濾器,可以有不同的觸發(fā)器,不同的地址本。
      比如說,你們有一臺筆記本裝著sniffer,大家都用它,那不同的工程師可以自己定義一個agent,自己定義自己的過濾器,互不干涉,比如不同的網(wǎng)段有不同的閥值,也可以定義不同的agent。
      那agent的參數(shù)保存在哪里呢,大家打開c:\program files\nai\sniffernt\program,大家看到local local_2,這就是兩個不同的agent保存參數(shù)的地方。大家看到兩個CSF文件,一個是sniffer.csf,另外一個是Snifferdisplay.csf。這是過濾器文件,當我們使用sniffer一段時間之后,大家會累積許多好的過濾器,一定記得保存下來,就是把這兩個文件考出來就行了,如果你看到別人那里有好的過濾器,也可以拷過來。不過當你要倒回去的時候,4.8比較好辦直接倒入就行了,4.75比較麻煩,我后面講定義過濾器的時候再教大家。過濾器是sniffer最難、最有意思、最重要的一部分,大家放心,我能讓大家成為高手。(同學們笑)
      好,local agent講完了,local agent是什么?事實上就是定義一個環(huán)境變量,不同的環(huán)境不同的參數(shù)。
      好,休息一下,待會兒講monitor功能。
      中間休息的時候,我問了范老師一個問題:我看書上說,TCP是可靠的,UDP是不可靠的,那要不可靠UDP來干什么?(各位:我的問題是不是很傻?但我確實不知道呀)
      范老師:不錯,這個問題非常好?。ê俸伲。?br style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">TCP叫傳輸控制協(xié)議,他的特點是:有連接,有流控,有順序號/確認號,開銷比較大,一般是20個字節(jié)的頭。
      UDP叫用戶數(shù)據(jù)報協(xié)議,開銷小,8個字節(jié)的頭,無可靠保證。
      我后面有詳細介紹TCP和UDP,我們先看您的問題。
      首先,UDP,不可靠,是指,在傳輸層不提供可靠保證,并不意味著所有使用UDP的應用都不可靠。
      我們來比較幾個應用(范老師用他的trace file 給我演示)
      DNS,53端口,進行查詢時,用的是UDP,因為要求速度快,比如我要查networkgeneral的地址,你只要告訴我ip是多少就行了,如果要進行3次握手建立連接,再去取到IP,那就慢了,所以用的是UDP,一個字:快。沒響應怎么辦,事實你看(他在演示)它會同時向多個DNS查詢,所以沒響應也沒關(guān)系,你看這個響應名字錯誤,找不到。所以UDP還是有用的,特別是像DNS查詢這種應用,丟了也就丟了,我再查。但DNS也有用TCP的時候,比如DNS服務器的同步,用的就是TCP的53端口
      TFTP,您所了解的TFTP,用的是UDP吧,他不可靠嗎,事實上文件傳輸,必須保證可靠。不但要保證能知道丟包重傳,還要有順序號,應付錯序到達的情況,也就是我們常說的后發(fā)先至。事實上TFTP是怎樣工作的,你看(他在演示),每一個數(shù)據(jù)塊都有Id號,一塊512字節(jié),一次傳輸,一次確認,這就相當于TCP的順序號和確認號。所以UDP是不可靠的,但很多使用UDP協(xié)議的應用是可靠的,只是在應用層去保證可靠性,很多人說用UDP效率高,事實上TFTP在傳輸大文件的時候,比FTP效率更地,我們后面有專門的實驗。
      視頻流量,(沒有演示)對于視頻流量,也是需要可靠保證的,但要求不是很高,所以不會像TFTP那樣每一個數(shù)據(jù)報都確認,而是傳多個數(shù)據(jù)包確認一次,要不效率就太低了,究竟多少個數(shù)據(jù)包確認一次,開發(fā)人員需要不斷測試。
      我的解釋清楚嗎,(我說:明白了!謝謝?。?
      (確實看著演示,很容易就理解了,中間我們有許多對話,我省略了,確實如果只聽錄音是不明白的,這是我為什么要整理成文字給大家看,好累呀!大家給我加油?。?
      好,我們繼續(xù)!
      #p#
      我們來看一下Sniffer的七大monitor功能,有Dashboard,hosttable,matrix,ART,protocol distribution,history sample,global statistics
      我們一個一個來看,先看dashboard。
      這個大家很熟悉了,我不用多講,dashboard有3個儀表,分別是使用率,每秒鐘包數(shù)量,每秒鐘錯誤率,下面都有兩個數(shù)字,前面一個表示當前值,后面一個表示最大值。
      下面還有l(wèi)ong term,和short term
      Long term 每30分鐘采樣一次,一共可以采樣24小時,short term 每30秒鐘采樣一次,可以采樣25分鐘
      大家自己試一下,首先把file里面的loopback 選上,這樣我們發(fā)的數(shù)據(jù)包就不會發(fā)到網(wǎng)絡中去,然后打開101目錄里的TCPdemo7a那個trace file ,再用packet general 發(fā)包,選send current buffer,連續(xù)發(fā)送。(我們是跟著范老師做的)
      好了,大家試了一遍,感覺應該是一樣的,就是這有什么用?沒用,對吧,我也這樣覺得(同學們笑)
      但如果你要監(jiān)控某一臺服務器的時候,這個是有用的,比如你把一臺服務器的接口monitor 過來,這樣你就可以看到這臺服務器的流量狀況了,這就是一個很好的基準線呀。當然大家用的是硬件產(chǎn)品,就更方便了。
      大家注意到下面還有錯誤報的統(tǒng)計,要注意的是一般的網(wǎng)卡是抓不了錯誤包的,要用專用網(wǎng)卡,一塊網(wǎng)卡上萬塊,NG好黑呀(同學們笑)
      其實大家知道通過交換機的存儲轉(zhuǎn)發(fā),基本上很少錯誤包,所以不用關(guān)注它。
      在這里我想解釋一下以太網(wǎng)的錯誤包,這對大家學習網(wǎng)絡是很有幫助的,特別是了解一下封裝的概念。
      (請看下一頁:以太網(wǎng)為什么要64個字節(jié))
      (這是范老師的板書,我畫不出來,大家將就點吧) 
      (這是范老師的板書,我畫不出來,大家將就點吧)
      以太網(wǎng)是無連接的,不可靠的服務,采用盡力傳輸?shù)臋C制。以太網(wǎng)CSMA/CD我就不多講了,我相信大家都了解這個原理。
      以太網(wǎng)是不可靠的,這意味著它并不知道對方有沒有收到自己發(fā)出的數(shù)據(jù)包,但如果他發(fā)出的數(shù)據(jù)包發(fā)生錯誤,他會進行重傳。以太網(wǎng)的錯誤主要是發(fā)生碰撞,碰撞是指兩臺機器同時監(jiān)聽到網(wǎng)絡是空閑的,同時發(fā)送數(shù)據(jù),就會發(fā)生碰撞,碰撞對于以太網(wǎng)來說是正常的。
      我們來看一下,假設A檢測到網(wǎng)絡是空閑的,開始發(fā)數(shù)據(jù)包,盡力傳輸,當數(shù)據(jù)包還沒有到達B時,B也監(jiān)測到網(wǎng)絡是空閑的,開始發(fā)數(shù)據(jù)包,這時就會發(fā)生碰撞,B首先發(fā)現(xiàn)發(fā)生碰撞,開始發(fā)送碰撞信號,所謂碰撞信號,就是連續(xù)的01010101或者10101010,十六進制就是55或AA。這個碰撞信號會返回到A,如果碰撞信號到達A時,A還沒有發(fā)完這個數(shù)據(jù)包,A就知道這個數(shù)據(jù)包發(fā)生了錯誤,就會重傳這個數(shù)據(jù)包。但如果碰撞信號會返回到A時,數(shù)據(jù)包已經(jīng)發(fā)完,則A不會重傳這個數(shù)據(jù)包。
      我們先看一下,以太網(wǎng)為什么要設計這樣的重傳機制。首先,以太網(wǎng)不想采用連接機制,因為會降低效率,但他又想有一定的重傳機制,因為以太網(wǎng)的重傳是微秒級,而傳輸層的重傳,如TCP的重傳達到毫秒級,應用層的重傳更達到秒級,我們可以看到越底層的重傳,速度越快,所以對于以太網(wǎng)錯誤,以太網(wǎng)必須有重傳機制。
      要保證以太網(wǎng)的重傳,必須保證A收到碰撞信號的時候,數(shù)據(jù)包沒有傳完,要實現(xiàn)這一要求,A和B之間的距離很關(guān)鍵,也就是說信號在A和B之間傳輸?shù)膩砘貢r間必須控制在一定范圍之內(nèi)。IEEE定義了這個標準,一個碰撞域內(nèi),最遠的兩臺機器之間的round-trip time 要小于512bit time.(來回時間小于512位時,所謂位時就是傳輸一個比特需要的時間)。這也是我們常說的一個碰撞域的直徑。
      512個位時,也就是64字節(jié)的傳輸時間,如果以太網(wǎng)數(shù)據(jù)包大于或等于64個字節(jié),就能保證碰撞信號到達A的時候,數(shù)據(jù)包還沒有傳完。
      這就是為什么以太網(wǎng)要最小64個字節(jié),同樣,在正常的情況下,碰撞信號應該出現(xiàn)在64個字節(jié)之內(nèi),這是正常的以太網(wǎng)碰撞,如果碰撞信號出現(xiàn)在64個字節(jié)之后,叫 late collision。這是不正常的。
      我們以前學習CISCO網(wǎng)絡的時候,CISCO交換機有一種轉(zhuǎn)發(fā)方式叫fragment-free,叫無碎片轉(zhuǎn)發(fā),他就是檢查64個字節(jié)之內(nèi)有沒有錯誤,有的話不轉(zhuǎn)發(fā),這樣就排除了正常的以太網(wǎng)錯誤包。
      (這是范老師的板書,我畫不出來,大家將就點吧) 
      我們再來看一看以太網(wǎng)的幀結(jié)構(gòu)。

      要講幀結(jié)構(gòu),就要說一說OSI七層參考模型。七層參考模型大家很熟悉,以前我們看書的時候會覺得不知所云,我剛學的時候就是這感覺,其實我們只要掌握兩點就行了。 
      一個是訪問服務點,每一層都對上層提供訪問服務點(SAP),或者我們可以說,每一層的頭里面都有一個字段來區(qū)分上層協(xié)議。 
      比如說傳輸層對應上層的訪問服務點就是端口號,比如說23端口是telnet,80端口是http。IP層的SAP是什么?(同學們沒說話) 
      其實就是protocol字段,17表示上層是UDP,6是TCP,89是OSPF,88是EGIRP,1是ICMP等等。 
      以太網(wǎng)對應上層的SAP是什么呢?就是這個type或length。比如 0800表示上層是IP,0806表示上層是ARP。我后面還會將各種以太網(wǎng)的幀類型。 
      第二個要了解的就是對等層通訊,對等層通訊比較好理解,發(fā)送端某一層的封裝,接收端要同一層才能解封裝。 
      我們再來看看幀結(jié)構(gòu),以太網(wǎng)發(fā)送方式是一個幀一個幀發(fā)送的,幀與幀之間需要間隙。這個叫幀間隙IFG—InterFrame Gap 
      IFG長度是96bit。當然還可能有Idle時間。 
      以太網(wǎng)的幀是從目的MAC地址到FCS,事實上以太網(wǎng)幀的前面還有preamble,我們把它叫做先導字段。作用是用來同步的,當接受端收到preamble,就知道以太網(wǎng)幀就要來了。preamble有8個字節(jié)前面7個字節(jié)是10101010也就是16進制的AA,最后一個字節(jié)是10101011,也就是AB,當接受端接受到連續(xù)的兩個高點平,就知道接著來的就是D_mac。所以最后一個字節(jié)AB我們也叫他SFD(幀開始標示符)。 
      所以在以太網(wǎng)傳輸過程中,即使沒有idle,也就是連續(xù)傳輸,也有20個字節(jié)的間隔。對于大量64字節(jié)數(shù)據(jù)來說,效率也就顯得不高。 
      所以,有時我們用下載數(shù)據(jù)來檢查我們的網(wǎng)速,這是不完全準確地,我們要了解他的傳輸特征,才能準確判斷電信究竟給了你多少帶寬。我有一個移動的學員,他說用戶總懷疑我給他的帶寬不夠,其實我肯定給他兩兆了,所以有時運營商也挺不容易(同學們笑)。后來我告訴他怎么樣用sniffer來測帶寬,不知道他后來成功了嗎,我沒有得到反饋。后面我會介紹怎樣用Sniffer來做帶寬測試,非常精確的喔。我給很多用戶作過帶寬測試,他們大多都是懷疑電信給的帶寬不夠。(同學們問:有沒有不夠的時候?)我測試的案例里還沒有。還有就是幫集成商作方案驗證,比如,集成商給用戶作了多鏈路捆綁,或路由負載均衡,用戶說比原來更慢了,我去證明給用戶看,負載均衡確實做起來了,流量分擔很正常。(同學們問:那為什么會慢呢),這就涉及到應用的特征和不同廠商采用均衡的機制。我還沒試過作進一步分析。因為這是集成商的朋友叫我去幫忙的,我只要證明給用戶看方案沒問題,并告訴集成商如何給用戶解釋就行了,在做下去,就會畫蛇添足了,因為可能讓用戶覺得我的水平比我朋友高,那不是幫倒忙了。(同學們笑)所以幫忙也要適可而止。 (同學們笑) 
      好了,有點扯遠了。前面講這些主要是幫大家復習以下以太網(wǎng)知識,大家別擔心,時間是足夠的,因為這門課里有很一些基礎的知識,比如交換原理、vlan原理,那些知識我都會跳過,我第一天的內(nèi)容不會很難,考慮到大家遠道而來,第一天都很累。但后面回越來越難,大家要有心理準備。晚上要早點睡覺(同學們笑)。還有一個,就是大家別指望能記得住我講得全部內(nèi)容,今天講得明天還記得一點,后天就全忘了,(同學們笑),到了課程結(jié)束的時候,基本上全忘光了,(同學們大笑),所以做筆記很重要,我建議大家把筆記寫在書上,到時才對得起來。我也注意到一些同學在錄音,我知道的,不用放在桌子底下(同學們笑),那樣效果不好,(同學們大笑),其實這是不允許的,不過沒關(guān)系,只有一個要求,不要放在互聯(lián)網(wǎng)上。 
      (編者:寫到這里,有點寫不下去了,覺得很內(nèi)疚,覺得對不起范老師。我參加過很多培訓,范老師是我很喜歡的一個老師,他講課不會非常幽默,但很實用,這是因為他有很多經(jīng)歷,他在講課過程中,會補充很多課程以外的東西,比如很多網(wǎng)絡中的細節(jié)知識,很多工作中的思路,我覺得這方面收獲很大,我個人覺得是對我知識的全面補充,學完之后覺得不僅學會了Sniffer,網(wǎng)絡管理的思路更清晰了,現(xiàn)在我指導工程師時,套了很多范老師的話,我覺得范老師很好。怎么辦?我在進行思想斗爭。。。該不該再寫下去。我想在論壇里發(fā)起投票,聽聽大家的意見,我該不該再寫下去。) 
      (編者:范老師的課程內(nèi)容: 第一天 monitor功能,Sniffer的部署 
        第二天 expert,capture filter ,troubleshooting 
      第三天 decode,display filter ,trigger 
      第四天 應用的類型,應用的剖析,應用的分析思路 
      第五天 應用性能的分析,應用性能預測) 

      好,我們繼續(xù)看第二個monitor功能,Host table,我們叫他主機列表 
      這是非常好用的一個功能,有什么用呢? 
      第一看流量最大的TOP10主機, 
      第二看廣播量有多少,當時我發(fā)現(xiàn)沖擊波、振蕩波的時候,就是看這個host table,發(fā)現(xiàn)有大量的全子網(wǎng)廣播 
      第三可以快速過濾單一主機流量。 
      第四通過過濾功能可以看到單一業(yè)務主機的流量分布,當然也可以通過鏡像接口去實現(xiàn) 
      我們一個一個來看。 
      首先TOP10主機, 
      我們可以點擊各列的標題來排序,方便我們分析,比如收發(fā)包情況。大家可以試一下。 
      第二廣播量有多少 
      我們點擊broadcast或multicast的標題,查看廣播量,有一點要注意,不要忘記看MAC層的廣播和組播,因為MAC的廣播不一定有IP頭,比如ARP,同樣IP的廣播在MAC也可能是單播,比如子網(wǎng)廣播。 
      MAC層的廣播是目的MAC為48個1,MAC層的組播為目的MAC第一個字節(jié)最低位是1。(范老師有板書,我的本子上有,懶得畫了) 
      IP的廣播有三種:255.255.255.255叫本地廣播,也叫直播,direct broadcast,不跨路由器。 
      172.16.33.255叫子網(wǎng)廣播,廣播給172.16.33.0這個子網(wǎng),可以跨路由器。 
      172.16.255.255叫全子網(wǎng)廣播,廣播給172.16.0.0這個主網(wǎng),可以跨路由器。 
      大家以前學網(wǎng)絡的時候,老師會給一個概念,說路由器是三層設備,隔離廣播,對吧,我也是這樣給同學介紹的,但我在后面會告訴同學,并不是所有廣播都隔離。 
      事實上只有255.255.255.255這類本地廣播,路由器才不轉(zhuǎn)發(fā),對于子網(wǎng)廣播和全子網(wǎng)廣播,路由器是轉(zhuǎn)發(fā)的,這是為什么呢? 
      我們來看4個255的廣播,在MAC的封裝中,對應的目的MAC是廣播,而子網(wǎng)廣播和全子網(wǎng)廣播,對應的目的MAC是單播,所以路由器會轉(zhuǎn)發(fā)。(范老師在演示)所以我們注意到,路由器隔離的廣播是目的MAC為全1的廣播,對于目的MAC是單播的上層廣播,路由器是不能隔離的。 
      現(xiàn)在想想沖擊波震蕩波為什么影響那么大,因為它采用的是全子網(wǎng)廣播,可以跨路由感染。所以對于這種流量我們要小心,希望下次再出現(xiàn)蠕蟲病毒時,大家能快速發(fā)現(xiàn),做個世界第一(同學們笑),同樣我們要關(guān)注MAC層的廣播。 
      第三,就是我們可以關(guān)注單一主機流量。 
      第一種辦法,抓包。選中主機,點一下抓蝴蝶的工具,這樣通過專家系統(tǒng)和解碼你就可以分析他在干什么了。這個我們后面再講 
      第二種辦法,用single station。選中主機,點一下下面這個電腦的圖標,你可以看到他在跟誰通信,如果你看到他跟幾十臺、上百臺機器同時通訊,可能是什么?(同學們:BT),對,像BT,電驢等P2P應用會有這個特征。 
      第四,就是我們?nèi)绻覀儼褑我粯I(yè)務服務器的接口鏡像過來,我們就可以看到這臺機器的流量狀況,我們也可以采用過濾的方式。 
      Sniffer有一種叫Monitor 過濾器。大家選中一臺機器,假設這是你要關(guān)心的業(yè)務主機,再點一下這個定義過濾器的圖標,(范老師在演示),你看他自動產(chǎn)生一個叫NEW1的過濾器,就是這臺機器跟任何機器通訊這樣的一個過濾器。我們點一下確定。 
      我們在選擇monitor菜單上的select filter,選apply monitor filter,再選new1,確定。 
      大家注意到,現(xiàn)在host table就只有和這臺機器通訊的所有主機流量情況。要注意一點是,monitor filter應用的時候,對所有monitor功能生效,所以在分析單一業(yè)務的時候,特別好用。當然如果你們買的是InfiniStream的話,就更方便了,想分析那個業(yè)務就分析哪個業(yè)務。 
      怎么樣?Host table好用吧? 
      (同學問:為什么廣播也是一臺主機?不是說廣播地址不會作為主機地址嗎?)(編者:這個問題好像比較低級) 
      這是流量分析技術(shù)的特點,再流量分析中,它純粹從包結(jié)構(gòu)中去取得主機信息,也就是目的MAC,源MAC,目的IP,源IP,他都作為主機處理,廣播地址不會在原地址中出現(xiàn),但在目的地址中出現(xiàn),也是一臺主機。這并不影響我們分析。 
      好。還有什么問題嗎?大家用5分鐘自己試一下。

      好,我們繼續(xù)看第3個monitor功能,Matrix,我們叫他矩陣,其實就是主機會話情況,很多人用他來發(fā)現(xiàn)病毒,其實用他來評估網(wǎng)絡狀況,和異常流量,是一個很好用的工具。 
      大家看,一下子就滿了,大多數(shù)網(wǎng)絡中都是這樣的,我們可以按一下嶄停。 
      然后來分析 
      分析什么呢? 
      看那一臺主機的連接數(shù)最多,要注意這個連接數(shù)不是傳輸層的連接數(shù),是指誰跟最多的主機連接 
      按右建選zoom,放大。 
      找到對外連接最多的機器,選中,按右建,選show select nodes,大家自己試一下。
      我們注意到這臺機器向公網(wǎng)發(fā)出大量的ICMP包,那是在作什么?(同學們:在ping) 
      對!PING采用ICMP協(xié)議,ping可以用來掃描,也可以用來攻擊。 
      掃描就是看那一臺機器活著,接著掃描端口,在攻擊,所以掃描是攻擊主機的前奏。 
      另外,還可以用ping 來沖擊路由器,或占用帶寬,是一種DOS攻擊。 
      大家看這個過程更像哪一種類型。 
      (同學們:掃描,DOS攻擊) 
      一般情況下,掃描會是比較連續(xù)的地址,我們看這個地址并不連續(xù),我們先排除掃描,當然不是絕對的,也有比較聰明的掃描。 
      有同學說,這是DOS攻擊,那是沖擊路由器,還是占用帶寬? 
      (同學們:沖擊路由器) 
      嘿,這次比較統(tǒng)一,我也覺得他在沖擊路由器,我們看,他的目標地址基本不在一個網(wǎng)段,這樣路由器收到這樣的數(shù)據(jù)包會消耗大量資源在查找路由表上面。所以對路由器有一定沖擊。 
      一般來說,如果他想占用帶寬的話,會發(fā)大包,我們發(fā)現(xiàn),包的長度不大,并且一秒鐘才發(fā)10幾個包,所以對貸款沖擊不大。 
      或許大家會覺得這沒秒10幾個包對路由器沖擊也不大呀。大家想像一下,如果有很多機器在作這個操作,那影響就會很大。 
      大家自己在找一找,是否還有其他機器在作同類事情。 
      (同學們找出7臺這樣的機器) 
      好大家找出7臺這樣的機器,怎么找出來的?有同學用鋼材的辦法,有同學用過濾,都市好辦法。 
      現(xiàn)在假設在你們的網(wǎng)絡中出現(xiàn)這樣的情況,我們發(fā)現(xiàn)了異常,接下來怎么做? 
      (同學們:找到這臺機器) 
      然后呢? 
      我們可以看看這臺機器的任務管理器,看看有什么不常見的進程,把他去掉,看是否解決。在看其他的機器,是否有類似的特征。 
      這是我的一個學員發(fā)給我的,當時他發(fā)現(xiàn)這7臺機器都有一個特殊的進程,但是他的防病毒軟件沒有查出來。他手工解決了。 
      這很好說明用Sniffer可以比防病毒軟件更快發(fā)現(xiàn)病毒,因為防病毒軟件是后知后覺得,什么意思?防病毒軟件必須有相應的特征才能查病毒。而Sniffer通過流量可以發(fā)現(xiàn)一些特征,一些異常。 
      但是有一點,我們不能拿Sniffer當防病毒軟件用,那不是他的特長,同時也太低沽Sniffer的功能了(同學們笑) 
      好我們在看看掃描是怎么一回事,大家看這個trace file(范老師在演示,我就不寫了) 
      先是ARP掃描,再端口掃描,接下來就是攻擊了。 
      (編者:接著我們做了一個游戲,范老師讓大家用Sniffer攻擊他的機器,結(jié)果1臺機器就把他的機器搞死了,這個就不細說了)

       
      #p#7、多用鼠標拷貝與粘貼來提高操作速度 
        Linux系統(tǒng)安裝后,每次啟動到字符界面時都會自動運行一個叫“gpm”的程序,該程序運行后就可以用鼠標來拷貝與粘貼了。具體做法是按住鼠標左鍵拖動使要拷貝的地方突出顯示,這時突出顯示的區(qū)域已經(jīng)被拷貝,再按鼠標右鍵拷貝的內(nèi)容就會被粘貼在光標所在位置了。如果我們在Xwindow下運行Linux系統(tǒng),拷貝與粘貼的操作與在Windows 9x系統(tǒng)下一樣。
        8、快速啟動Linux系統(tǒng) 
        在DOS下,有一種簡單快速啟動Linux的方法,那就是load Linux。loadlin.exe是DOS下的可執(zhí)行程序,它可以在純DOS環(huán)境下迅速啟動Linux,而且無需重啟計算機,通常我們可以在光盤的“/kernels”目錄下找到這個程序。如果不知這個程序被放置于安裝盤的何處,可以使用“find -name loadlin*”命令來尋找。找到之后將其復制到DOS分區(qū)中,同時還需要復制一份你所使用的Linux內(nèi)核文件??梢酝ㄟ^Windows直接從光盤復制,也可在Linux環(huán)境下使用“mcopy”命令將文件復制到DOS分區(qū);接著再編寫一個名為“Linux.bat”的批處理文件,文件內(nèi)容如下:c:loadlin c:vmlinuz root=/dev/hda1 ro(我們假設loadlin.exe和vmlinuz這兩個內(nèi)核文件都在c盤根目錄下,“root”為Linux的根設備,而且Linux處于硬盤第一分區(qū),所以設備名為“/dev/hda1”,“ro”意為readonly)。以后在DOS下要啟動Linux時,運行“Linux.bat”就可以了。

        9、增加虛擬緩存 
        使用命令:mkswap /dev/hda(假設Linux的驅(qū)動器是/dev/hda),swapon /dev/hda;要自動啟動Swap,可以把新的分區(qū)加入到etc/fstab中去,照著原來swap的寫就行了。用"free"檢查swap的大小,Linux支持最多16個交換分區(qū),每個交換分區(qū)最大128M,沒有空閑分區(qū)的時候,可以用個大文件來建立。

        下面是執(zhí)行的一系列命令:
        #dd if=/dev/zero of=swapfile bs=1024 count=8192
        #mkswap swapfile 8192
        #sync
        #swapon swapfile

        10、巧妙使用Tab鍵
        大家知道在Linux字符界面中輸入命令時,有時需要輸入很多字符,如果經(jīng)常這樣逐個逐個地輸入字符,比較煩瑣。假設鍵入的字符足以確定目錄下一個唯一的文件時,我們只須按鍵盤上的Tab 鍵就可以自動補齊該文件名的剩下部分,例如要把目錄/ccc 下的文件ddddddd-1.2.3.tar.gz 解包時,當我們在命令行中鍵入到tar xvfz /ccc/d時,如果該文件是該目錄下唯一以d起頭的文件的話就可以直接按下鍵盤上的Tab鍵,這時命令會被自動補齊為:tar xvfz /ccc/ddddddd-1.2.3.tar.gz,從而提高了輸入效率。 

        11、多用拷貝與粘貼來提高操作速度
        Linux系統(tǒng)安裝后,每次啟動到字符界面時都會自動運行一個叫g(shù)pm的程序,該程序運行后就可以用鼠標來拷貝與粘貼了。具體做法是按住鼠標左鍵拖動讓要拷貝的地方突出顯示,這時突出顯示的區(qū)域已經(jīng)被拷貝, 再按鼠標右鍵拷貝的內(nèi)容就會被粘貼在光標所在位置了。如果我們在Xwindow下運行Linux系統(tǒng),拷貝與粘貼的操作與在普通的Win9x系統(tǒng)下一樣。 

        12、提高讀盤速度
        在Linux下進行一些設置,讓Linux在32位輸入輸出方式和DMA通道方式下進行工作。設置時,在Linux命令界面中輸入命令/sbin/hdparm -cl /dev/hda來打開32bit傳輸方式,輸入命令/sbin/hdparm -dl /dev/hda來打開DMA傳輸方式,接著再輸入命令/sbin/hdparm -kl /dev/hda來使硬盤在Reset之后仍然保持上述的設置,通過這些設置,我們就能提高Linux的讀盤速度到1倍以上。
      #p#我還真想實現(xiàn)唐無敵的假設:
      動動網(wǎng)絡結(jié)構(gòu):所有設備都接HUB
      假設把PC2的網(wǎng)關(guān)設置為10.41.221.2,而PC1的IP改為10.41.222.6,也許能實現(xiàn)唐無敵的設想,PC1發(fā)出到PC2的請求,可以獲得IP,經(jīng)過重定向后達到PC2,而PC2并不直接回復PC1,因為不在一個網(wǎng)段,于是發(fā)到網(wǎng)關(guān),NAT轉(zhuǎn)發(fā),而PC1由于同“上級”網(wǎng)關(guān)(外網(wǎng)網(wǎng)關(guān))同MAC,于是可以得到報文,于是就建立連接了,嬉嬉 tongue.gif 

      對Linux做的NAT實現(xiàn)同一更簡單

      修改NAT規(guī)則,增加這樣一行就可以了:
      iptables -A POSTROUTING -s 10.41.221.0/255.255.255.0 -d 10.41.221.253 -p tcp -m tcp --dport 80 \
      -j SNAT --to-source 10.41.221.2
      繼續(xù)實驗:簡單分析QQ登陸方式 

      1,關(guān)閉DNS之后

      在NAT上關(guān)閉DUP53端口出站后QQ依然能登錄服務器,這也是有些用戶判斷DNS解析是否正常的一種手段,顯示服務器地址是218.18.95.221
      二、QQ3種登錄方式
        新版QQ不僅僅通過UDP方式登錄服務器,還能夠以TCP方式登錄。本文利用SNIFFER PRO工具監(jiān)視QQ登錄全過程,為了讓大家更好的理解QQ登錄過程,抓包過程結(jié)合防火墻技術(shù),每出現(xiàn)一種登錄方式先抓取報文,然后用防火墻關(guān)閉該通道,這樣QQ就會自動選擇其它方式試圖登錄服務器,反復如此就可以弄清楚QQ所有登錄方式和QQ服務器的地址及端口。

      1 登錄速度最快的UDP方式

      報文中61.53.187.229是本地IP地址,219.157.70.130是ISP的DNS服務器IP地址。從報文中可以看到QQ 首先發(fā)出7個DNS解析請求,并且順利獲得了相應IP:

      sz.tencent.com 61.144.238.145
      sz2.tencent.com 61.144.238.146
      sz3.tencent.com 202.104.129.251
      sz4.tencent.com 202.104.129.254
      sz5.tencent.com 61.141.194.203 
      sz6.tencent.com 202.104.129.252
      sz7.tencent.com 202.104.129.253

      以上IP也可以通過PING 域名的方法得到。接著,QQ向這7個服務器中的3個發(fā)送UDP數(shù)據(jù)包,它們是發(fā)送到

      202.104.129.254 的 UDP 數(shù)據(jù)包
      202.104.129.252 的 UDP 數(shù)據(jù)包
      61.144.238.146 的 UDP 數(shù)據(jù)包

      如果服務器在5秒中沒有回應,就發(fā)如下UDP數(shù)據(jù)包

      202.104.129.251 的 UDP 數(shù)據(jù)包,
      61.141.194.203 的 UDP 數(shù)據(jù)包,
      61.144.238.145 的 UDP 數(shù)據(jù)包,

      再過5秒后發(fā)送到 202.104.129.253 的 UDP 數(shù)據(jù)包

      在此過程中如果服務器有回復,QQ選擇回復速度最快的一個作為連接服務器,圖QQ1中顯示分別得到了SZ4/SZ7/SZ6.tencent.com的回應,QQ選擇SZ4.tencent.com作為登錄服務器。。通過分析可以知道,如果防火墻不允許QQ走UDP方式,那么QQ至少需要10秒才能登錄服務器。圖QQ1報文清晰的顯示本地端口是4000,目的端口是8000。為了以后的實驗,這里設置防火墻攔截發(fā)往以上7個IP地址的8000端口的UDP數(shù)據(jù)包。攔截后再也沒有發(fā)現(xiàn)新的UDP服務器地址。

      2 通過80端口的TCP方式

      防火墻攔截UDP數(shù)據(jù)包后,QQ登錄服務器的報文。從圖中可以看出幾點變化:

      域名   從類似sz?.tencent.com 改為tcpconn?.tencent.com
      協(xié)議   不再是UDP而是TCP
      端口   目標端口80,本地端口1042(不固定1024-65534)

      80端口是HTTP協(xié)議默認的端口,瀏覽網(wǎng)頁一般都是走80端口,許多防火墻允許用戶瀏覽網(wǎng)頁,所以80端口獲準允許通過。tcpconn.tencent.com域名對應的IP是218.17.209.23,繼續(xù)做實驗,發(fā)現(xiàn)如下域名與IP對應關(guān)系:

      tcpconn.tencent.com 218.17.209.23
      tcpconn3.tencent.com 218.17.209.23
      tcpconn2.tencent.com 218.18.95.153
      tcpconn4.tencent.com 218.18.95.153

      雖然有4個域名,但是只有2個服務器IP。

      3 通過443端口的TCP方式

        繼續(xù)實驗,用防火墻攔截上面提到的服務器80端口通道,繼續(xù)探索QQ的登錄方式。
      QQ是通過TCP協(xié)議連接到服務器的443端口,443是HHTPS協(xié)議的默認端口,HTTPS也是提供用戶網(wǎng)頁瀏覽服務的,不過是加密了。

      圖QQ3中看到的QQ服務器IP是218.18.95.153,實驗中還發(fā)現(xiàn)218.17.209.23也可以提供服務。反復實驗只發(fā)現(xiàn)這兩個IP地址。

        ,把實驗環(huán)境換到WINDOWS 2000做NAT方式下的網(wǎng)絡中,防火墻安裝在服務器上,封堵上面提到的IP和相應端口。局域網(wǎng)內(nèi)部所有QQ用戶都無法登錄服務器了。也可以把這些地址加入安全策略中的“IP安全策略”,并選擇BLOCK通訊即能有效作到禁止LAN內(nèi)用戶登陸使用QQ。
        還有一類軟件需要提一下,就是以MYIM為代表的兼容多種即時通信軟件的聊天軟件。MYIM可以在QQ卸載后獨立運行,而且可以使用多個QQ賬號登錄,是不是它的登錄過程不同于QQ呢?實驗中安裝最新版的MYIM (版本:MyIM 1.0 Beta build 0225),防火墻成功的封堵了MYIM的登錄,這也好理解,畢竟QQ服務器是相同的。

      #p#4 用防火墻封QQ廣告

        流行的木子版QQ客戶端具備去廣告功能,本文提供另外的方法,使用防火墻也可以達到禁止QQ廣告的目的。用防火墻攔截所有來自下面網(wǎng)址的數(shù)據(jù)報文,QQ就無法訪問服務器的廣告網(wǎng)頁了。這些地址是QQ成功登錄后在QQ通訊過程中通過SNIFFER PRO抓到的。

      61.172.249.133
      61.172.249.134
      61.172.249.135
      218.17.217.105
      218.17.217.106
      219.133.40.154
      219.133.40.152
      219.133.40.153
      219.133.40.155
      219.133.40.15 qqshow-ufs.tencent.com
      219.133.40.157 qqring.clent.tencent.com

        不過,QQ仍然彈出系統(tǒng)消息等窗口也非常討厭,找到QQ的安裝目錄(默認在C:\Program Files\Tencent\qq),把其中的可執(zhí)行文件QQexternal.exe文件改名為QQexternalb.exe。再登錄QQ就沒有窗口彈出來了。以上實驗在騰訊QQ2003III Build0117簡體中文版下通過。

      5 關(guān)于QQ安裝目錄下的Config.db文件

        用記事本打開Config.db文件,發(fā)現(xiàn)跟上面提到的域名極為相似的域名:

      61.144.238.146:8000 
      sz.tencent.com:8000 
      sz2.tencent.com:8000 
      sz3.tencent.com:8000 
      sz4.tencent.com:8000 
      sz5.tencent.com:8000 
      sz6.tencent.com:8000 
      sz7.tencent.com:8000 
      tcpconn.tencent.com:80
      tcpconn2.tencent.com:80 
      tcpconn3.tencent.com:80 
      tcpconn4.tencent.com:80 
      tcpconn2.tencent.com:80 
      tcpconn3.tencent.com:80 
      tcpconn4.tencent.com:80 
      http2.tencent.com:80 
      http.tencent.com:443 

        也許這就是QQ記錄服務器地址的文件,不過,最后兩項用普通QQ賬號沒有涉及到,根本就沒有發(fā)起連接包。也許是收費用戶的服務器吧,這里也提供出他們的IP地址:

      http.tencent.com 218.17.209.42 
      http2.tencent.com 61.144.238.149

      結(jié)束語

        如果騰訊增加新的QQ服務器,QQ也還是可以登錄的。另外,用第三方的代理軟件如NEC E-BORDER等,支持Anonymous的Socks5代理還是可能繞過去,登陸使用QQ。
      終結(jié)實驗,溫故知新,網(wǎng)關(guān)的作用

      在實驗中,利用ping命令來檢驗主機間能否進行正常的雙向通信。在“ping”的過程中,源主機向目標主機發(fā)送ICMP的Echo Request報文,目標主機收到后,向源主機發(fā)回ICMP的Echo Reply報文,從而可以驗證源與目標主機能否進行正確的雙向通信。 

      A與B為實驗用的PC機,使用Windows2000 Professional作操作系統(tǒng)。 

      實驗方案: 

      步驟1: 

      設置兩臺主機的IP地址與子網(wǎng)掩碼: 
      A: 10.2.2.2 255.255.254.0 
      B: 10.2.3.3 255.255.254.0 
      兩臺主機均不設置缺省網(wǎng)關(guān)。 

      用arp -d命令清除兩臺主機上的ARP表,然后在A與B上分別用ping命令與對方通信,在A與B上分別顯示, 
      A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128 
      B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=128 
      用arp -a命令可以在兩臺PC上分別看到對方的MAC地址。 

      分析:由于主機將各自通信目標的IP地址與自己的子網(wǎng)掩碼相“與”后,發(fā)現(xiàn)目標主機與自己均位于同一網(wǎng)段(10.2.2.0),因此通過ARP協(xié)議獲得對方的MAC地址,從而實現(xiàn)在同一網(wǎng)段內(nèi)網(wǎng)絡設備間的雙向通信。 


      步驟2: 

      將A的子網(wǎng)掩碼改為:255.255.255.0,其他設置保持不變。 

      操作1:用arp -d命令清除兩臺主機上的ARP表,然后在A上ping B,在A上顯示結(jié)果為:Destination host unreachable 

      用arp -a命令在兩臺PC上均不能看到對方的MAC地址。 

      分析1:A將目標設備的IP地址(10.2.3.3)和自己的子網(wǎng)掩碼(255.255.255.0)相“與”得10.2.3.0,和自己不在同一網(wǎng)段(A所在網(wǎng)段為:10.2.2.0),則A必須將該IP分組首先發(fā)向缺省網(wǎng)關(guān)。由于A的缺省網(wǎng)關(guān)沒有配置,無法對分組進行正確發(fā)送,因此顯示“目標主機不可到達”。 


      操作2:接著在B上ping A,在B上顯示結(jié)果為:Request timed out 
      此時用arp -a命令可以在兩臺PC上分別看到對方的MAC地址。 

      分析2:B將目標設備的IP地址(10.2.2.2)和自己的子網(wǎng)掩碼(255.255.254.0)相“與”,發(fā)現(xiàn)目標主機與自己均位于同一網(wǎng)段(10.2.2.0),因此,B通過ARP協(xié)議獲得A的MAC地址,并可以正確地向A發(fā)送Echo Request報文。但由于A不能向B正確地發(fā)回Echo Reply報文(原因見分析1),故B上顯示ping的結(jié)果為“請求超時”。在該實驗操作中,通過觀察A與B的ARP表的變化,可以驗證:在一次ARP的請求與響應過程中,通信雙方就可以獲知對方的MAC地址與IP地址的對應關(guān)系,并保存在各自的ARP表中。 


      步驟3: 
      在前面實驗的基礎上,把A的缺省網(wǎng)關(guān)設為:10.2.2.1,網(wǎng)關(guān)的子網(wǎng)掩碼為:255.255.0.0。 
      在A與B上分別用ping命令與對方通信,各自的顯示結(jié)果為: 
      A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128 
      B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=127 

      在A與B上分別用tracert命令追蹤數(shù)據(jù)的傳輸路徑,結(jié)果分別為: 

      A: tracert 10.2.3.3 
      Tracing route to 10.2.3.3 over a maximum of 30 hops: 
      1 <10 ms <10 ms <10 ms 10.2.2.1 
      2 <10 ms <10 ms <10 ms 10.2.3.3 
      Trace complete. 


      B: tracert 10.2.2.2 
      Tracing route to 10.2.2.2 over a maximum of 30 hops: 
      1 <10 ms <10 ms <10 ms 10.2.2.2 
      Trace complete. 

      分析:如步驟2中的分析,由于A認為B與其不在同一個網(wǎng)段,故從A發(fā)向B的報文需要經(jīng)過網(wǎng)關(guān)轉(zhuǎn)發(fā);而B認為A與其在同一個網(wǎng)段,故B不需要經(jīng)過網(wǎng)關(guān)直接向A發(fā)送報文,從而可以觀察到A與B雙向通信時傳輸路徑的不對稱性。由于ping命令結(jié)果顯示的是從目標主機返回的Echo Reply報文的TTL的值,而B收到從A返回的Echo Reply報文經(jīng)過了網(wǎng)關(guān)的轉(zhuǎn)發(fā),所以在B中顯示該IP報文的TTL值降為了127(從A發(fā)出的IP分組的TTL的初始值為128,每經(jīng)過一個網(wǎng)關(guān),TTL值減1)。 


      步驟4: 
      用arp -d命令清除A中的ARP表,在A上ping一臺外網(wǎng)段的主機,如中大的WWW Server(202.116.64.8),再用arp -a可觀察到A的ARP表中只有缺省網(wǎng)關(guān)的MAC地址信息。 

      分析:當源主機要和外網(wǎng)段的主機進行通信時,它并不需要獲取遠程主機的MAC地址,而是把IP分組發(fā)向缺省網(wǎng)關(guān),由網(wǎng)關(guān)IP分組的完成轉(zhuǎn)發(fā)過程。如果源主機沒有缺省網(wǎng)關(guān)MAC地址的緩存記錄,則它會通過ARP協(xié)議獲取網(wǎng)關(guān)的MAC地址,因此在A的ARP表中只觀察到網(wǎng)關(guān)的MAC地址記錄,而觀察不到遠程主機的MAC地址。 


      步驟5: 

      使用典型的NAT結(jié)構(gòu)

      ADSL----NAT(10.41.221.2/24)-----PC

      在PC上做如下改變:
      網(wǎng)關(guān):無網(wǎng)關(guān)/網(wǎng)關(guān)為自己/網(wǎng)關(guān)為未使用的本網(wǎng)段IP/網(wǎng)關(guān)為未使用的網(wǎng)段IP(10.42.22.10或/11.22.33.44)

      Y表示能通訊,N表是不能建立通訊

      改變MASK 內(nèi)部 外部
      10.41.221.10/24/30/16 Y N
      10.41.222.10/8/24/16/25 N N

      網(wǎng)關(guān)為10.41.221.2/24

      改變MASK 內(nèi)部 外部
      10.41.221.10/24/30/16 Y Y
      10.41.222.10/8/24/16/25 N N

      網(wǎng)關(guān)為10.41.221.2/255.255.0.0

      改變MASK 內(nèi)部 外部
      10.41.221.10/24/30/16 Y Y
      10.41.222.10/8/16/24/25 Y Y

      以最后一個例子分析,當PC的MASK設置為8和24時,雖然它們都可以上網(wǎng),但是走路的方式1卻不同

      以8位做MASK時,10.41.222.10經(jīng)過與運算認為10.41.221.2在一個網(wǎng)段,于是直接發(fā)起連接,經(jīng)過NAT,回應的報文經(jīng)過10.41.221.2時,它經(jīng)過運算也認為PC在自己的網(wǎng)段,通訊就建立了。
      以24位做MASK時,PC10.41.222.10經(jīng)過與運算認為10.41.221.2不在一個網(wǎng)段,于是發(fā)起ARP請求得到網(wǎng)關(guān)的MAC,并把報文發(fā)送給網(wǎng)關(guān),經(jīng)過NAT,回應的報文經(jīng)過10.41.221.2時,它經(jīng)過運算認為PC在自己的網(wǎng)段,通訊就建立了。

      #p#
      毫無疑問,一個好的及時通訊軟件必須具備良好的穿越防火墻的能力,隨著微軟加強MSN的開發(fā)步伐,MSN的用戶對其闖關(guān)能力提出了更高的要求,了解MSN怎樣

      本節(jié)內(nèi)容介紹了對受NAT和防火墻問題影響的Windows Messenger功能,這些功能包括:即時消息和出席(Presence) 、音頻和視頻、應用程序共享和白板、文件傳輸以及遠程協(xié)助。 

      一、防火墻或者NAT組件的具備通用即插即用(UpnP)能力

      如果通信雙方使用的是具有通用即插即用(UpnP)能力的防火墻或者NAT組件,所有的Windows Messenger功能都可以正常使用。如果使用的是WINME/XP/2003的ICS共享,那么具備UpnP功能,而2000的NAT共享就不具備UpnP功能。
      具有UPnP能力的防火墻 比如Windows XP防火墻,即Internet Connection Firewall(Internet連接防火墻),便是具有UPnP能力的防火墻。 Windows XP 中的Windows Messenger可以通過打開數(shù)據(jù)發(fā)送、連接或媒體流所需的端口對這種能力加以利用。 

      這是由于UPnP規(guī)格中具有"NAT Traversal"功能,使用該功能可以使WindowsXP中標準安裝的聊天軟件"Windows Messenger"在運行中不會出現(xiàn)任何問題。 所謂的NAT(network address translation),是指在因特網(wǎng)中使用的全球IP地址可以同在LAN內(nèi)使用的私人IP地址互換的功能。所謂連續(xù)Traversal,則意味著"完全搜索"。Windows Messenger雖然具IP電話及視頻聊天功能,但這種功能無法經(jīng)由使用NAT的寬帶路由器使用。這是由于在使用此項功能時,Windows Messenger在數(shù)據(jù)部分也嵌入了IP地址的緣故。在NAT功能中,雖然位于IP數(shù)據(jù)包頭部的收信方及發(fā)信方的IP地址可以更換,但數(shù)據(jù)內(nèi)的地址無法更換,因此前后不統(tǒng)一,無法進行通信。NAT Traversal 由路由器將服務提供商分配的全球IP地址等信息通知給LAN內(nèi)的計算機。LAN內(nèi)的個人電腦收到來自路由器的信息后,可以向因特網(wǎng)應用方傳送WAN方面的IP地址等信息。如果因特網(wǎng)應用方采用這一結(jié)構(gòu),可以在一開始就將WAN方面分配到的IP地址寫入分組的數(shù)據(jù)中,所以在通過NAT進行通信時,IP數(shù)據(jù)包頭部和數(shù)據(jù)部可以使用相同的全球IP地址,從而便可以進行通信。 

      Windows Messenger使用了Windows XP及較早期Windows版本中的UPnP架構(gòu)。隨著越來越多的Internet網(wǎng)關(guān)設備開始為UPnP提供支持,這種解決方案的可用性將變得越來越強。

      實驗:驗證ICS的UPnP自動端口映射功能(來自info521)

      MSN Messenger中已經(jīng)使用了UPnP自動端口映射,我們不妨先來看看MSN Messenger中的UPnP自動端口映射究竟是什么樣子的。
      網(wǎng)絡絡環(huán)境:
      網(wǎng)關(guān):192.168.0.1,Windows XP Professional SP1,中國電信ADSL,速率1M,使用ICS讓內(nèi)網(wǎng)電腦共享上網(wǎng)。內(nèi)網(wǎng)電腦192.168.0.99,Windows XP Professional SP1,使用MSN Messenger 6.1。

      圖截于網(wǎng)關(guān),注意我們關(guān)閉了“允許其他網(wǎng)絡用戶控制禁用共享的Internet連接”。與此同時,我們在內(nèi)網(wǎng)電腦192.168.0.99上運行MSN Messenger 6.1的截圖。

      請注意,在關(guān)閉了網(wǎng)關(guān)上“允許其他網(wǎng)絡用戶控制禁用共享的Internet連接”的情況下,內(nèi)網(wǎng)電腦192.168.0.99上MSN Messenger 6.1的高級連接信息顯示為“您是通過非UPnP IP受限的NAT連接到Internet的?!?br style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">
      如果我們打開網(wǎng)關(guān)上的“允許其他網(wǎng)絡用戶控制禁用共享的Internet連接”,情況又將如何?
      打開網(wǎng)關(guān)上的“允許其他網(wǎng)絡用戶控制禁用共享的Internet連接”后,內(nèi)網(wǎng)電腦192.168.0.99上MSN Messenger 6.1的高級連接信息顯示為“您是通過UPnP IP受限的NAT連接到Internet的?!?br style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">
      這時候,如果你使用內(nèi)網(wǎng)電腦上的MSN Messenger 6.1與其他朋友語音聊天或傳輸文件的同時,再看看網(wǎng)關(guān)上的ICS的高級選項,請注意奇妙的變化,如圖4(在4樓)。


      我們可以驚奇地發(fā)現(xiàn)在ICS的“高級設置”中,比圖1多了一項“msnmsgr(192.168.0.99:2292)16328 TCP”。etuotech以BTFans的人格擔保,這一項并非我手動加上去的,而是由內(nèi)網(wǎng)電腦192.168.0.99上運行的MSN Messenger 6.1向網(wǎng)關(guān)發(fā)出的UPnP自動端口映射指令自動添加的。

      經(jīng)由這項實驗,可以得出以下幾個結(jié)論:
      1、ICS確實支持UPnP自動端口映射;
      2、ICS中有權(quán)限設置,可以手動設置網(wǎng)關(guān)是否接受內(nèi)網(wǎng)電腦發(fā)起的端口映射的請求;
      3、MSN Messenger 6.1的確具備UPnP自動端口映射功能,而且不用在MSN Messenger 6.1中進行任何設定。

      二、防火墻或者NAT組件不具備通用即插即用(UpnP)能力

      1、在防火墻同一側(cè)的通信雙方可以使用Windows Messenger的所有特性。 
      2、不同的應用需要映射不同的端口

      即時消息和出席(Presence)功能,不需要映射任何端口。

      一般來說,防火墻和NAT設備對IM和出席功能不會有任何的影響。如果Windows XP客戶機可以創(chuàng)建并維護一條到服務器的連接,那么其它的IM和出席也能夠沿著相同的途徑進行通信。如果在SIP客戶端與服務器間存在一個NAT設備,那么,反映在SIP消息中的端口和地址可能會與實際的端口和地址有所不同。Windows Messenger擁有的某些機制可以解決這些問題。


      音頻和視頻 

      在協(xié)商進行一個音頻-視頻會話的時候,音頻-視頻流會選擇使用動態(tài)端口。在使用動態(tài)端口時,應用程序無需考慮系統(tǒng)中還運行了哪些其它的應用程序以及這些程序都使用哪些端口資源即可正常工作。


      用來傳輸應用程序共享(AS)和白板(WB)數(shù)據(jù)的TCP連接使用1503端口,您需要啟用該端口,以便數(shù)據(jù)能夠通過所有的防火墻。 因為TCP數(shù)據(jù)連接使用一個特定的端口(1503),如果客戶端位于一個不具備UPnP能力的NAT設備之后,該端口必須被映射到該客戶端上。以確保能夠通過最常見的NAT設備進行通信。這還意味著:該端口一般不能被NAT設備后面的其它客戶端所使用;在一個時間中,只有位于相同NAT設備后面的一個客戶端能夠擁有一個AS或WB會話。


      文件傳輸 

      外來和外出的TCP連接都使用6891到6900間的端口。這使得每個發(fā)送方最多只能建立10條文件傳輸連接。在通信雙方之間的所有防火墻上,這些端口都必須被開放。如果您僅僅開放6891端口,用戶每次只能建立起一條文件傳輸連接。 

      遠程協(xié)助 

      遠程協(xié)助使用遠程桌面協(xié)議(Remote Desktop Protocol,RDP);與Microsoft Terminal Services使用同一個協(xié)議。RDP建立在TCP連接之上。Windows Messenger使用基于服務器的會話邀請邏輯(與FT類似)建立遠程協(xié)助會話。所以,它同樣會因為NAT產(chǎn)生與FT同樣的問題。 

      遠程協(xié)助包括了一個附加邏輯,以應對可能遇到的NAT環(huán)境。該邏輯會簡單地嘗試從會話雙方兩個方向上建立TCP連接。如果只有一個客戶端位于NAT設備之后,那么連接仍然可以建立,遠程協(xié)助會話也依然可以進行。如果兩個客戶端都位于(不具備UPnP能力)NAT設備的后面,那么連接將不能建立。只有在遠程協(xié)助中加入了語音會話時,這個附加的SIP邀請邏輯才會被加入。 

      除了由NAT地址轉(zhuǎn)換產(chǎn)生的問題(只有在通信路徑中存在多個NAT設備才會出現(xiàn)問題)之外,遠程協(xié)助協(xié)議需要 使用3389端口建立TCP連接。這意味著,通信雙方之間的所有防火墻都必須開放3389端口。


      三、總結(jié)

      IM 和出席功能在大多數(shù)防火墻配置中都可以使用。 

      要想為處于防火墻兩側(cè)的通信雙方提供AV支持,5004到65535之間的所有UDP端口都必須打開,以允許SIP和媒體流(RTP)數(shù)據(jù)通過防火墻。這種設置是必需的,因為這些操作使用動態(tài)端口。AS 和 WB也使用動態(tài)端口進行通信。 
      Ft可以通過在防火墻上開放6891到6900間的端口得以實現(xiàn)。使用遠程協(xié)助功能需要開放3389端口。 

      為了使Windows Messenger的語音和視頻通信能夠通過一個不支持UPnP的防火墻,您需要對防火墻進行配置,使其允許UDP端口5004 – 65535間的外來流量能夠通過防火墻。 

      對于其它通信目的,您可以相應啟用以下端口: 

      文件傳輸:tcp 6891(如果想實現(xiàn)10條并發(fā)的文件傳輸連接,您需要開放6891到6900間的所有端口) 
      應用程序和白板共享:tcp1503 
      遠程協(xié)助:3389 


      縮略術(shù)語表

      ALG–應用程序?qū)泳W(wǎng)關(guān) 
      AS–應用程序共享 
      AV–音頻和視頻 
      FT–文件傳輸 
      ICF–Internet連接防火墻 
      ICS–Internet連接共享 
      IM–即時消息 
      ISA–Internet Security and Acceleration 
      ISP–Internet 服務提供商 NAT–網(wǎng)絡地址轉(zhuǎn)換 
      RDP–遠程桌面協(xié)議 
      RTC–實時通信 
      RTP–實時傳輸協(xié)議 
      SDP–會話描述協(xié)議 
      SIP–會話初始化協(xié)議 
      SSL–安全套接字層 
      TCP–傳輸控制協(xié)議 
      UDP–用戶數(shù)據(jù)報協(xié)議 
      UPnP–通用即插即用 
      WB–白板(共享) 
      #p#好,我們再看第四個monitor功能,ART,Application Response Time,應用響應時間。 
      應用響應時間是分析應用的一個很好工具,主要用來分析應用的性能。 
      ART是指一個客戶端發(fā)出一個請求,到服務器響應回來的時間差。 
      一般來說,應用響應的快慢,是應用性能的一個重要指標。 
      應用性能主要決定于幾個因素:網(wǎng)絡因素、服務器因素、客戶端因素、應用協(xié)議因素 
      我們先看看如何操作,再來看看應用這個功能。 
      我們打開ART,大家看到Http的應用響應時間分析,這里有幾個列,server Address,Client Address. 
      他是怎么知道誰是Server,誰是Client?其實也就是看端口號和IP的對應關(guān)系,比如如果一個數(shù)據(jù)包的目的IP是1.1.1.1,目的端口是80,Sniffer就會認為1.1.1.1就是Http服務器。對應的源IP就是Client。 
      AvgRsp—平均響應時間 
      90%Rsp—90%響應時間,去掉頭尾個5%,其實我個人覺得去掉最大的10%更合理一些。 
      還有最大最小的響應時間,這些都是以毫秒為單位。 
      接著就是TotalRsp,這個是響應次數(shù),單位是次。 
      接著是0到25毫秒的響應有多少次,25到50毫秒的響應有多少次。。等等。 
      后面還有server發(fā)送子節(jié)數(shù),client發(fā)送子節(jié)數(shù),timeout次數(shù)等等,5秒不響應則Timeout。 
      我們再看看怎么增加其他應用,按屬性,選擇display protocol,添加你關(guān)心的協(xié)議,再確定,ART會重新刷新(范老師在演示) 
      你看我這里就有了telnet,Oracle。 
      (同學們:我們沒有Oracle) 
      我知道,其實平時我們更關(guān)心的是我們關(guān)鍵業(yè)務,所以我們要把我們關(guān)鍵業(yè)務的端口添加進來,怎么添加?大家跟我來, 
      選菜單上的toolsàoptionsàprotocol,拉到下面,添加一種應用,比如Oracle,端口1521。 
      再在屬性里把這個新協(xié)議選上,有了嗎?(跑去解答問題去了) 
      好,大家都做出來了,我們平常分析關(guān)鍵業(yè)務就行了,有一點要說明,一種業(yè)務可能有多個應用,也就是多個端口,需要同時分析。 
      有些同學喜歡把所有well known的協(xié)議添加到協(xié)議列表里,我在共享目錄上有兩個注冊表注入工具,大家只要運行以下就可以將這些常用端口都注入到協(xié)議列表里,就不用一個一個敲了。其實我個人覺得不太必要,多了反而亂。 
      大家打開注冊表,我們看一下協(xié)議列表,找到這兩項: 
      HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates, Inc.\Sniffer\4.7\1CommonSettings\Protocols\IP Protocols\TCP 
      HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates, Inc.\Sniffer\4.7\1CommonSettings\Protocols\IP Protocols\UDP 
      這就是協(xié)議列表。注意不要有重復的,否則會報錯。

       
      (編者:這是范老師的板書) 
      應用響應時間是評估影響應用性能因素的一種很好的工具。我們看這樣一個例子。 
      比如通過client通過廣域網(wǎng)連接到服務器。 
      我們同時在AB兩點部署Sniffer,分析某一業(yè)務的響應時間。 
      假設Sniffer在A點,他所看到的響應時間包括網(wǎng)絡消耗時間和服務器處理時間 
      在B點的Sniffer看到的響應時間主要是服務器處理時間。這樣我們比較AB兩點的響應時間,來判斷影響性能的主要因素是網(wǎng)絡還是服務器。 
      假設A點的響應時間是400毫秒,B點的響應時間是100毫秒,我們就知道A點的400毫秒中有300毫秒是消耗在網(wǎng)絡上的,我們可以認為對于這個業(yè)務,性能的主要瓶頸在網(wǎng)絡上,如果我們在深入分析是距離因素還是貸款因素,我們就可以判斷是否有改善空間。這個細節(jié)我們在第二門課講。 
      如果B點的響應時間達到250毫秒,我們可以認為改善服務器的性能對于這個應用來說會更明顯一些。 
      如果我們Sniffer用多了。我們就可以做一個AB點的響應時間的基準線,假設正常情況下A點的響應時間是400毫秒,有一天你發(fā)現(xiàn)平均響應時間達到600毫秒,你就應該關(guān)注了,或許用戶還沒有抱怨,如果你這時分析應用性能下降的原因,你就可以避免故障的產(chǎn)生,同時避免用戶投訴。當然你也會有B點的基準線,比較跟平時有何不同,很快就知道應該檢查網(wǎng)絡還是服務器。 
      對于ART還有什么不清楚地嗎?或者大家平常還有其他用法? 
      (編者:本來這次想寫完第一天課程再共享,看到論壇中大家在催,就先寫到這吧,過幾天就可以把第一天全部內(nèi)容發(fā)完) 
      (編者:范老師已經(jīng)找過我了,他說他的MSN有很多陌生人,后來看了內(nèi)容就知道是我寫的,他說分享知識可以,但不要透露敏感信息,還說我比他講得好,汗。。。。所以這次我沒有完全按他的錄音翻譯,自己有所刪節(jié),但基本上是原汁原味。) 
      (編者:我發(fā)現(xiàn)寫這個真的很累,因為有很多演示,很難寫出來,最近很忙,我都沒有忘記我的承諾,給我加油,好嗎?) 
      (編者:所有PPT都市我自己做的,范老師的ppt是不給我們的,我很努力吧?。?

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多