【人在營運囧途_06】 藉助 sniffer 診斷 Linux 網路故障

來源:互聯網
上載者:User

    營運者、善假於物也、形如 sniffer(嗅探器)
    sniffer 在網路安全領域是一把雙刃劍、或被駭客作為網路攻擊工具、或協助營運診斷網路故障

    

    本文以 Linux 平台下三個常用的網路嗅探器 Tcpdump、Ethereal 和 EtherApe 為例

    介紹如何藉助 sniffer 來診斷網路故障,從而保障網路高效安全地運行

    但由於 sniffer 實在太強大、本文也只是
入門性
的做些介紹、有興趣的朋友可進一步學習

    

    ● Tcpdump是一個命令列方式的網路流量監測工具。它誕生的時間較早,是許多圖形化嗅探器的雛形

    ● Ethereal是一個圖形化的網路流量監測工具,比命令列方式的Tcpdump友好很多,可以即時地觀看捕獲過程

    ● EtherApe也是一個圖形化的網路流量監測工具、與Ethereal不同,EtherApe可以通過對主機間的串連進行檢測

    

    

   
㈠ Tcpdump 

       

       在網路效能急劇下降的時候,可以通過 Tcpdump 來分析原因,找出造成網路阻塞的根源

       Tcpdump 能截獲網卡上收到的資料包,並能夠協助網路系統管理員對其中的內容進行相應的分析

       

       對於營運人員、瞭解如何使用 Tcpdump 來捕獲感興趣的資料包是一項必須掌握的基本功

       

       ⑴ Tcpdump 安裝

          

          GNU/Linux 發行版預設都會安裝、如果沒有可到:http://www.tcpdump.org 下載

       

       ⑵ Tcpdump 命令列選項

          

          Tcpdump是一個命令列方式的網路嗅探器、如果不進行過濾,過多數量的包會使營運人員很難理清頭緒

          

          Tcpdump 常用命令列選項: 

          

          -a  :         將網路地址和廣播位址轉變成容易識別的名字
          -d  :         將已截獲的資料包的代碼以人容易理解的格式輸出
          -dd :       將已截獲的資料包的代碼以C程式的格式輸出
          -ddd:      將已截獲的資料包的代碼以十進位格式輸出
          -e  :         輸出資料連結層的頭部資訊
          -f  :          將internet地址以數字形式輸出
          -l  :          將標準輸出變為行緩衝方式
          -n  :        不將網路位址轉譯成易識別的主機名稱,只以數字形式列出主機地址(如IP地址),這樣可以避免DNS查詢
          -t  :         不輸出時間戳記
          -v  :        輸出較詳細的資訊,例如IP包中的TTL和服務類型資訊
          -vv :       輸出詳盡的報文資訊
          -c  :        在捕獲指定個數的資料包後退出
          -F  :        從指定的檔案中讀取過濾規則,忽略命令列中指定的其它過濾規則
          -i  :         指定監聽的網路介面
          -r  :        從指定的檔案中讀取資料包(該檔案一般通過-w選項產生)
          -w  :      將截獲的資料包直接寫入指定的檔案中,不對其進行分析和輸出
          -T  :       將截獲的資料包直接解釋為指定類型的報文


          

           

       ⑶ 例子

          

          ① 從指定的網路介面截獲5個 ARP 資料包,並且不將網路位址轉譯成主機名稱 

 

 

[root@Rocky ~]# tcpdump arp -i eth0 -c 5 -ntcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes10:59:46.728425 arp who-has 192.168.1.1 tell 192.168.1.11011:00:17.315719 arp who-has 192.168.1.1 tell 192.168.1.11111:00:17.317911 arp who-has 192.168.1.1 tell 192.168.1.11111:00:17.418271 arp who-has 192.168.1.1 tell 192.168.1.11111:00:17.418980 arp who-has 192.168.1.1 tell 192.168.1.1115 packets captured5 packets received by filter0 packets dropped by kernel

 

             10:59:46:為截獲資料包的時間
             728425  :為毫秒數
             arp:表明該資料包時 ARP 請求
             who-has 192.168.1.1 tell 192.168.1.110:表示 110 請求 1 的 MAC 位址
             
  
          ② 截獲主機“9.185.10.57”所有收到和發出的資料包
             
             tcpdump host 9.185.10.57
                   
             
          ③ 截獲在主機“9.185.10.57”和主機“9.185.10.58”或“9.185.10.59”之間傳遞的資料包
             
             tcpdump host 9.185.10.57 and \>\(9.185.10.58 or 9.185.10.59\)
             
          ④ 截獲主機“9.185.10.57”和除主機“9.186.10.58”外所有其它主機之間通訊的IP資料包
             
             tcpdump ip host 9.185.10.57 and ! 9.185.10.58
             
          ⑤ 截獲主機“9.185.10.57”接收或發出的FTP(連接埠號碼為21)資料包
             
             tcpdump tcp port 21 host 9.185.10.57
             
          ⑥ 如果懷疑係統正受到(DoS)攻擊,可通過截獲發往原生所有ICMP包,確定目前是否有大量的ping流向伺服器
             
             tcpdump icmp -n -i eth0
             
             

    ㈡ Ethereal
       
       ⑴ 下載並安裝
       
       ***請確認 libpcap 包已經安裝****    
       # cp ethereal-0.9.9.tar.bz2 /usr/local/src/
       # cd /usr/local/src/
       # bzip2 -d ethereal-0.9.9.tar.bz2
       # tar xvf ethereal-0.9.9.tar
       # cd ethereal-0.9.9
       # ./configure
       # make
       # make install
       
       ⑵ 簡單的捕獲過程
          
          大概可分 2 步:
          
          Ⅰ 點擊 "filter":可直接在預置的條件裡選擇、也可自己建立、比如:
               Filter name:Rocky
               Filter string: host 124.127.185.106

            

             

 

 

          Ⅱ 點擊 "capture "、在 "capture filter"選項框裡面填上過濾條件

 

               

 

 

 

 

    ㈢ EtherApe
       
       ⑴ 安裝
          
          # gunzip etherape-0.9.11.tar.gz 
          # tar vxf etherape-0.9.11.tar 
          # cd etherape-0.9.11
          # ./configure
          # make 
          # make install
    
  
    
       ⑵ 簡單的捕獲過程 
       
          大致如下:
          
          Ⅰ 單擊“Pref.”按鈕,開啟“Preferences”,在“Capture”屬性頁面中“Capture filter”
          Ⅱ 如果對IP資料包感興趣,這時可以將EtherApe切換到IP模式。單擊“Capture”菜單,選擇“Mode”功能表項目

 

               

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.