Hello,大家好,我是網絡工程師強哥,大家有沒有遇到過這種情況,自己家里的寬帶明明是千兆寬帶,但自己的電腦測速只有百兆或者幾兆,接下來強哥就用一分鐘的時間帶大家解決這個問題。首先我們打開瀏覽器進行測速,看現在的網速能夠達到多少。我們可以看到,經過測速后,我們的網絡顯示下載速度只有10.01兆,上傳只有七兆。明明家里的寬帶帶寬有100兆,但為什么測速只有十兆呢?我們打開網絡共享中心,點擊本地連接,我們可以看到現在的連接速度,它顯示只有十兆。接下來我們點擊屬性。配置。然后再對框里面找到高級下拉,找到速率雙工。我們把速率改到最大。現在我們重新測速看一下。現在我們就可以看到下載速度已經達到了103兆,上傳速度27兆。如果你家里的寬帶是千兆寬帶的話。查看你電腦的網卡是不是千兆網卡。如果網卡不是千兆網卡的話,也測不到千兆,只能測到百兆。通過以上兩種情況的操作。可以解決90%的測速達不到帶寬的問題,我是網絡工程師強哥,每天分享生活中的網絡小知識,有什么問題可以留言或打在評論區,歡迎大家點贊收藏加關注。
大多數網絡捕獲都是使用 SPAN 端口記錄的,正如我們在本系列的前一部分所看到的。現在我們知道了 SPAN 的全部內容,是時候了解 TAP 的全部內容,以及為什么您希望(或需要)在網絡捕獲中使用它們。TAP是“TestAccessPort”的首字母縮寫詞 - 它是您添加到網絡中的設備,目的是讓您訪問正在進行的通信。
在捕獲網絡數據包時,沒有比正確使用 TAP 更精確的方法了。是的,我的意思是 - 您可以使用TAP但捕獲設置仍然錯誤,導致次優精度并損害您的分析結果。但在我們開始之前,讓我們談談TAP的作用,以及如何使用它來捕獲數據包。
將TAP視為插入網絡電纜中的小盒子,用于訪問電纜上的數據。如果你聽說過“中間人”這個詞——這正是TAP在物理層面上所做的。TAP的“插入”意味著您從設備中拔出一根電纜,將其插入TAP中,然后使用另一根(額外的)電纜再次將TAP連接到設備,將TAP“內聯”:
圖 1:將全雙工 TAP 插入鏈路
順便說一下,額外的電纜需要是交叉電纜,這在今天幾乎變得無關緊要,因為很少有設備無法通過Auto MDI-X補償這一點 - 所以現在直電纜在大多數情況下都可以正常工作。
因此,讓我們來看看如何使用網絡 TAP。如果您嘗試查找 TAP,您會注意到針對不同的捕獲場景有大量不同的 TAP 系列,最基本的決定是“光纖還是銅纜”——順便說一下,光纖 TAP有時被稱為“分路器”。TAP功能可能會變得非常復雜,因此如果沒有一些尋找內容的經驗,為捕獲情況選擇合適的TAP可能會很耗時。但這也是我想在這些博客文章的過程中幫助你的事情。因此,首先,讓我們看看無論您使用哪種TAP類型,它們都有共同點。
TAP需要插入到物理鏈路中(除非我們談論的是某些供應商為虛擬環境提供的“虛擬TAP”,但這或多或少是一個營銷標簽),這意味著如果您想使用TAP偵聽鏈路上的數據包,則需要至少一個斷開連接/重新連接周期。再次刪除 TAP 需要再次斷開鏈接,這實際上是我不得不每隔一段時間購買新 TAP 的主要原因——我的客戶只是在分析完成后購買它們以避免刪除它們
專業提示:如果您是設計或重建數據中心的網絡團隊的一員,請將 TAP 添加到要購買的東西列表中并從一開始就將它們放入 - 有時這是將 TAP 放入骨干鏈路的唯一方法,因為沒有人會允許您稍后在有數據流時添加 TAP。與高端交換機和路由器的成本相比,TAP成本大多微不足道,并且在您需要進行故障排除或調查時,它們對于快速輕松地訪問數據包非常有用。如果您購買可靠的品牌,則無需擔心增加另一個故障點,因為它們將配備冗余電源和備用機制,以防災難性斷電。當我來到現場時,沒有什么比看到專業 TAP 部署在整個網絡的戰略位置更能告訴我“這些網絡人員是認真的”。
使用 TAP 是訪問物理鏈路上實際發生的情況的唯一方法,而不會丟失數據包,甚至不會被設法滲透您網絡的攻擊者操縱。請記住,即使是交換機上的 SPAN 端口也可能遭到破壞并對您隱藏數據包(或者只是因為過載而丟棄它們)。操縱無源光纖全雙工分路器是絕對不可能的,而對于其他分路器來說幾乎是不可能的。話雖如此,我必須補充一點,有些“花哨的”TAPS具有管理界面,并且總是有可能操縱可以管理的東西。但同樣:如果你選擇了正確的TAP類型,沒有人可以向你隱藏他們的邪惡數據包。這就是為什么熟練的攻擊者試圖模仿合法流量或隱藏在大量數據包中,這樣您仍然不會發現它們。
需要電力才能工作的 TAP(即:所有銅纜 TAP,以及一些更復雜的光纖 TAP,例如在進行鏈路聚合時)通常具有第 1 層回退保護,以防完全斷電。您可以將其視為一個氣隙開關,在斷電時連接兩個生產鏈路端口。這也是為什么當您給銅 TAP 通電時可以聽到銅 TAP 發出咔嗒聲的原因——這是內部的繼電器激活 TAP 引擎而不是鏈路回退。這是它在斷電時關閉時所做的,立即關閉在正常運行期間由電力保持打開的旁路電路:
圖 2:TAP 斷電行為
大多數 TAP 的斷電響應時間不到一秒,這足以輕松保持大多數連接處于活動狀態,這可能會殺死活動連接并可能觸發基礎設施同步過程,但至少允許在沒有技術人員手動交互的情況下重新建立連接。請記住,由于斷電,您將不會在捕獲鏈路上收到更多數據包,并且恢復銅纜 TAP 的電源需要重新同步生產鏈路,這可能需要幾秒鐘。
專業提示:如果您需要將電源恢復到“暗”銅TAP的電源,請在至少5分鐘的維護窗口內進行,因為您的生產鏈路可能關閉時間太長,某些連接無法存活。
大多數TAP型號的輸出鏈路嚴格“僅傳輸”,這意味著TAP不會接受這些鏈路上的任何數據包。這樣,捕獲設備(或您在輸出鏈路上連接的任何設備)就無法將數據注入網絡,從而擾亂常規通信:
圖 3:TAP 拒絕輸出鏈路上的傳入數據包
有時,“數據包注入”功能是TAP用戶想要擁有的,主要是那些認為注入重置數據包作為入侵檢測系統的對策是個好主意的人(事實并非如此。如果您認為需要使用網絡入侵盒阻止攻擊,請改用內聯 IPS。RST注射通常毫無意義)。
專業提示:檢查您的TAP是否在輸出鏈路上丟棄傳入數據包。有一些供應商提供“TAP”(意思是,他們稱之為 TAP),它們不會刪除它們,無論是作為一項功能還是沒有告訴您它。對我來說,數據包注入要么是無用的(IDS),要么是惡意的(使用精心制作的數據包的“Man on the side”/“Man in the middle”攻擊)。
您可能已經注意到,圖 1 中的 TAP 對網絡流量的訪問方式與使用 SPAN 端口時不同:不僅有一個聚合輸出鏈路(如監視器端口),還有兩個單獨的輸出。我們再看一遍:
圖4:重新訪問全雙面打印器TAP。
如您所見,從客戶端傳輸到交換機的數據包通過與從交換機傳輸到客戶端的輸出鏈路不同的 TAP 輸出鏈路傳輸。這就是所謂的全雙工 TAP——通信的兩個方向都通過專用電纜發送到捕獲設備。這意味著它需要有兩個網絡端口,而不僅僅是一個才能記錄兩個方向,這有優勢,但也有代價。
在單獨的鏈路上記錄傳輸和接收意味著您沒有任何超額訂閱:如果生產鏈路以 1Gbps 的速度運行(意味著每個方向的最大數據速率為 2Gbps、1Gbps),TAP 可以將每個輸出鏈路 1Gbps 傳輸到捕獲設備,從而總共提供 2Gbps。因此,除了 SPAN 端口之外,除非發生在捕獲設備本身,否則不會丟棄數據包。
分路器是光纖TAP,可以在沒有任何電源的情況下工作,只需使用光學元件做類似于半透明反射鏡的事情。因此,如果您擔心通過部署 TAP 向網絡添加額外的故障點,則分路器是最終選擇:
圖 5:全無源光纖全雙工 TAP(分路器)
半透明鏡子將電纜的一些光線偏向捕獲設備,同時讓其余部分傳遞到生產鏈路的另一側。對于這種訪問,根本不需要電力,正如您在下面我打開的一臺舊分路器的照片中看到的那樣。這會讓TAP供應商感到畏縮,因為如果你不小心,它會影響TAP效率(灰塵,彎曲電纜),所以不要在家里嘗試這個。很容易看出,不需要電力,分裂發生在兩個金屬管中,一側是輸入的藍色生產電纜,另一側是藍色生產/紅色監視器電纜:
現代分路器可以針對一系列物理鏈路速度做到這一點 - 這意味著您無需購買多個設備即可以 1Gbps 和 10Gbps 的速度捕獲,但您可以使用相同的設備來完成。事實上,從技術上講,相同的分路器可以用于更高的速度,但至少對于多模,連接器類型從 1/10Gbps 到 40/100Gbps 不同,需要不同的設備。
如果您尋找光學 TAP/分路器,您會注意到供應商通常會聲明一種稱為“分光比”的東西:它是鏡子偏轉以進行捕獲的光量。典型的比率是70/30和50/50,這意味著70%的光用于生產,30%用于捕獲,或50%生產,50%捕獲。現在,提醒一下:我看到人們追求90/10的比例,因為擔心從生產鏈路中帶走光線可能會導致問題 - 這對于長距離鏈路可能會發生。雖然這種方法肯定會確保這種情況不會發生,但剩余的10%用于捕獲的光有時太弱了。在這種情況下,捕獲設備將無法在捕獲卡上建立鏈接。我自己更喜歡具有 70/30 分光比的分路器,并且在生產鏈路上的信號強度從未出現問題。
要考慮的另一個屬性是拆分器所需的連接器類型。有許多不同的光纖連接器,網絡使用的連接器并不總是與捕獲卡的端口類型相同。現在最常見的是LC連接器,取代了較舊,更笨重的SC連接器。
以正確的方式插入分路器有時可能是一個挑戰——當您將其放入鏈路并檢查生產電纜是否再次啟動并運行時,并不一定意味著您會在捕獲輸出鏈路上收到數據包。因為根據我的經驗,插入電纜是很常見的,以便光線從后面而不是前面通過鏡子,所以它不會被正確鏡像。如果發生這種情況,請拔下生產鏈路電纜并在兩側切換 RX/TX 以使其正常工作。這也意味著您需要計劃至少 15 分鐘的維護窗口來插入分路器,因為除了銅(插入 TAP 可以在一分鐘內完成,通常只需幾秒鐘)之外,您可能需要時間來檢查和切換電纜。永遠記住:永遠不要直視光纖鏈路來檢查光線,因為激光的強度足以永久損壞您的視網膜!
如果您想知道為什么全雙工分配器只有三個端口,而銅纜 TAP 有四個端口 – 分配器僅在單個物理端口上使用,以便您訪問兩個輸出鏈路:
圖 6:全雙工 TAP 和分路器端口原理圖
這意味著您只需將普通光纜用于分配器的監視端口,但您將另一端的兩個連接器分開并將它們插入捕獲設備的接收端口,而傳輸端口是“盲”的。
對于全雙工 TAP,連接的捕獲設備需要有兩個網絡端口來接收數據包,并在捕獲期間將它們聚合到數據包流中。這比聽起來更棘手,因為以正確的順序合并傳入數據包并不像您想象的那么容易。很多時候,人們認為在任何兩個標準網卡上同時捕獲就足夠了,結果會很好。但通常情況下,他們不會。問題是一臺計算機中的兩個網卡并不總是能夠立即將傳入的數據包傳遞到捕獲過程:
圖 7:使用多個 NIC 的無序捕獲
如您所見,到達上層網卡的數據包比下層網卡的數據包接受得更快——如果您使用標準 PC 網卡,這種情況經常發生,因為在正常的網絡操作中,數據包是否提前幾微秒或納秒到達并不重要。網絡堆棧將簡單地對它們進行排序,然后再將它們交付給應用程序。在捕獲情況下,數據包到達捕獲過程的順序可能非常煩人:
圖 8:捕獲后數據包順序不正常
如果您仔細觀察數據包 2,就會發現在 SYN-ACK 之后有一個 SYN 數據包。在數據包 3 中,您將在握手完成之前和發送 GET 請求之前看到“HTTP 200 OK”數據包。某些數據包之間的增量時間為負數,告訴您它們在捕獲過程中到達得太晚。如果您想知道標準網卡的時間戳是如何工作的,請查看此博客文章。
這個問題有一個修復程序,使用reordercap.exe,這是Wireshark安裝的一部分:
[D:\Traces]reordercap "Out of Order Sample.pcapng" "Out of Order Sample Reordered.pcapng"
12 frames, 3 out of order
生成的跟蹤文件如下所示:
圖 9:使用 reordercap 按絕對時間戳重新排序的數據包
如果您想避免使用全雙工TAP進行無序捕獲,唯一可靠的方法是使用基于FPGA的專業多端口捕獲卡,該卡能夠合并卡內的傳入數據包。基本上,這就是我使用全雙工TAP進行捕獲時所做的- 我有一系列捕獲設備可以做到這一點,包括兩個舊的Network General S6040 19“機架大小的分布式嗅探器,最多4個全雙工捕獲板。我們將在本系列的另一篇文章中介紹這些特殊的采集卡。
聚合 TAP 在插入鏈路的方式上類似于全雙工 TAP:
圖 10:將聚合 TAP 插入鏈路
與全雙工TAP的區別在于,聚合TAP只有一個“聚合”輸出鏈路,因此它更類似于SPAN端口的作用:它將鏈路上發送和接收的數據包合并為單個輸出。這意味著單個網卡足以捕獲數據包,而不必擔心無序到達,因為TAP將確保數據包順序正確。
聚合 TAP 的問題在于,如果接收/傳輸帶寬的總和超過輸出帶寬,它們可能會丟棄數據包——因此,如果您將 1Gbps 聚合 TAP 與 1Gbps 聚合輸出鏈路一起使用,則總帶寬可能高達 2Gbps,從而導致聚合 TAP 再次下降。為避免此類問題,您可以使用輸出帶寬大于最大聚合生產帶寬的聚合 TAP。一種特殊的解決方案是USB3聚合TAP,它像普通TAP一樣插入以太網鏈路,但通過USB3電纜提供捕獲輸出(總帶寬高達6Gbit/s,這對于1Gbps全雙工鏈路的2Gbps聚合最大值綽綽有余)。
由于它們比全雙工 TAP 復雜得多,因此鏈路聚合 TAP 通常更昂貴,通常起價高于 1000 美元/1000 歐元。簡單的全雙工TAP(簡單的意思:沒有花哨的額外管理/LCD顯示器)通常只需幾百美元/歐元。
通常,TAP 為網絡捕獲提供最佳精度,但在某些情況下,結果可能不如應有的效果。當然,這主要涉及聚合 TAP,當聚合帶寬超過監視器/輸出鏈路帶寬時。在這種情況下,您遲早將不得不忍受丟棄的數據包。一些聚合 TAP 有一個緩沖區,可以在峰值到達鏈路時提供幫助,但如果帶寬達到最大值,緩沖區只會在這么長時間內有所幫助,接下來會出現下降。
第二個常見問題是,您有一個完美的全雙工TAP設置,但您的捕獲設備無法正確記錄所有傳入的數據包。雖然這本身不是TAP問題,但它應該是您在進行TAP捕獲時要考慮的事情。
我敢打賭,有些人在閱讀上一段所述的價格范圍時會不同意地搖頭,因為他們認為 TAP 不必那么貴。嗯,這是真的,但這取決于你想做什么。有非常便宜的全雙工 TAP,您可以花幾美元購買或構建,或者低于 200 美元或歐元的聚合 TAP。價格如此之低的原因是它們總是僅限于銅,通常為100MBit或更低,并且缺乏更昂貴品牌的精度和功能集。根據我的經驗,他們通常
由于將銅纜網絡TAP插入生產鏈路會增加另一個可能發生故障的設備,因此應確保您的TAP支持斷電回退。擁有兩個冗余電源是個好主意,但如果存在斷電回退,它并不像您想象的那么重要。
順便說一下,如果你想知道為什么只有100Mbit或更低的“自己動手”銅纜TAP,而沒有類似的千兆TAP:那是因為銅質千兆鏈路在四對250MBit的線上搭載發送方和接收方的信號。因此,中間的設備沒有機會知道哪一側在電線上放了一個位,因為只有發送方和接收方可以從輸入信號中減去自己的信號并確定對方發送的內容。這就是為什么千兆銅TAPs:
我個人自己使用/使用了以下 TAP(NetOptics 現在是 Ixia 的一部分):
我和我的團隊的其他成員在使用NetOptics(iTAP 1GBit銅纜,帶LCD顯示屏)和較舊的DATACOM鏈路聚合TAP方面有非常糟糕的體驗,所以我通常不再在捕獲情況下使用它們。我的規則是,TAP的花里胡哨越少,它就越好。如今,我更喜歡Garland技術和ProfiTAP設備,因為它們便攜,可配置,安靜且可靠。我使用其中哪一個取決于捕獲方案。
更新08 Feb 2017:剛剛發現Garland P1GCCA不支持10MBit/s,這意味著如果至少一個連接的設備將鏈接速度設置為10 MBit/s,則不會有鏈接。較新的加蘭P1GCCAS似乎是三倍速度,支持10/100/1000,但我沒有,所以我無法檢查。
2018 年 4 月 2 日更新:添加了 Garland OM3702 光纖分路器,因為我厭倦了必須為舊的 SC 連接器分配器使用光纖適配器電纜。
如果您要購買光纖分路器/分路器,請檢查以下參數以符合您的要求:
以下是有關網絡 TAP 和拆分器的一些一般個人意見和提示:
在這篇文章中,我只介紹了基本的 TAP——那里有更多的 TAP 模型,我將在某個時候在另一篇文章中回到它們。
使用 TAP 執行捕獲是訪問網絡數據包的最精確方法,在 TAP 中,沒有比使用全雙工無源光纖分路器更精確的了,因為它基本上為您提供了一些來自生產鏈路的原始“光”,沒有任何延遲、修改或聚合。以下是一些典型的場景,您應該部署 TAP(s) 以獲得足夠精確的結果(如果此列表看起來很熟悉 - 它與SPAN 端口帖子中的相同,但當然,相反):
一旦您決定使用 TAP(正如我在本系列的SPAN 端口部分中指出的那樣,在某些情況下是必需的),您就需要考慮您的捕獲設備。如果要使用聚合TAP,則需要確保總帶寬不超過 TAP 的輸出帶寬。如果您使用全雙工TAP,則需要一個帶有兩個網卡/端口的捕獲設備,并考慮數據包的無序到達。對我來說,全雙工TAP總是意味著使用基于FPGA的專業采集卡。
如果您對光纖電纜的工作原理感興趣:有一個很好的指南,可以通過大量動畫對其進行解釋。