按此可放大網頁內容, 重複按可無限放大 按此回復標準網頁大小
最新消息課程教材單元討論區學習日誌

      

* *Packet Sniffering *   *
 
Ethereal
  要了解網路正在傳輸那些資料及運作方式最好的方法便是把網路上的封包截取下來,Ethereal 正是可以監聽網路封包的軟體。我們可在原始網站中找到各種不同 OS 的版本。
軟體原始網站:www.ethereal.com
簡介
  Ethereal 支援 Unix、Windows。你能藉由它抓取資料包,進而查看每一個資料包的摘要和詳細資訊。Ethereal 有多種強大的特徵,如支援幾乎所有的協定、豐富的過濾語言等。
Ethereal 可以說是一套網管人員必備的工具。舉凡在網路故障排除,監聽異常封包,軟體封包問題檢測等等問題,甚至包含針對網路通訊協定的教育訓練,都可以利用這套免費的軟體來做到。
Ethereal 的取得
  原始網站
  本地下載
安裝 Ethereal
  目前 Ethereal 在 Windows 上最新的版本是 0.10.13,05年十月 19 日發佈。所以我們這次就以 0.10.13 版向同學做介紹。Ethereal 安裝簡單容易,基本上只要直接執行下載好的 exe 安裝檔案即可。
有一點請同學注意的是:要執行 Ethereal 需先安裝 WinPcap(Windows Packet Capture),WinPcap 是 Windows 版本的 lippcap 函式庫,它含有支援抓取網路上封包的驅動程式。Ethereal因為使用到這個函式庫去抓取網路上的封包,所以執行 Ethereal 前一定要先安裝 WinPcap。而 WinPcap 已經包含在 Ethereal 的安裝執行檔裡。但如果你的電腦已經有安裝過舊版的 WinPcap,請先移除它,然後再安裝 Ethereal。
若想了解 WinPcap 更多的資訊可以到 WinPcap 的官方網頁流覽 www.winpcap.org
  步驟1: 點選安裝執行檔 “ethereal-setup-0.10.13.exe”。
  步驟2: 出現安裝畫面,請點選 "Next"。
 
  步驟3: 請詳讀合約內容,如果您接受合約內容,請點選 "I Agree"。
 
  步驟4: 請選擇欲安裝的項目,這裡我們使用預設的項目就可以了,選擇完後按 "Next"。
 
  步驟5: 請選擇要讓安裝程式在哪放置捷徑,以及勾選是否要讓 Ethereal 和相關檔案連結。
 
  步驟6: 請選擇程式安裝位置,並點選 "Next"。
 
  步驟7: Ethereal 安裝程式會詢問你是否要安裝 WinPcap,如果想進一步了解 WinPcap 可以選擇 "What Is WinPcap?"。
 
  這裡我們選擇安裝 WinPcap,請點選 "Install" 後開始安裝。
 
  開始安裝 Ethereal。
 
  步驟8: 跳出安裝 WinPcap 的視窗,按 "Next" 繼續。
 
  步驟9: 詳讀合約,同意後按 "I Agree" 開始安裝。
 
  開始安裝 WinPcap。
 
  步驟10: WinPcap 安裝完畢,按 "Finish" 確認,繼續安裝 Ethereal。
 
  繼續安裝 Ethereal。
 
  步驟11: Ethereal 安裝完畢,按 "Finish" 確認。
 
Ethereal 的設定
  步驟1: 執行 Ethereal,如下圖
 
  步驟2: 選擇 「Capture」->「Options」,如下圖
 
  相關設定如下圖
 
  Capture
    Interface: 選擇你要使用的網路卡。
    IP address: 你使用的網路卡的網路位置。
    Buffer size: 抓取網路封包時所用的緩衝區大小。
    Capture packets in promiscuous mode: 如果勾選,代表你要抓取整個 LAN 的封包;如果不勾選,則只會抓取從你的電腦進或出的封包。
    Limit each packet to n bytes: 用來指定對於每個封包要抓取的資料大小。
    Capture Filter: 用來指定抓取時的篩選規則。
  Capture File(s)
    用來指定抓取到的封包檔案所儲存的檔案。
  Stop Capture
    用來指定停止抓取的條件。
  Display Options
    用來指定顯示資訊的方式。
  Name Resolution
    用來指定是否要將抓到的資訊轉換成網路上名稱。建議是不要勾選以減少系統負擔。
Filter 的設定
  Ethereal 的 Filter 兩個,Capture FilterDisplay Filter。Capture Filter 是用來指定抓取封包的規則;而 Display Filter 則是用來指定顯示封包的規則。
  Display Filter
    Display Filter 的設定方式可以直接在主視窗的 Filter 欄位空白處輸入你的規則後按 "Apply" 即可,如下圖所示
   
    或是按 "Filter" 進入更進階的設定,
   
    設定畫面如下,設定的方式不會很難,這裡就不做太多的解釋。
   
  Capture Filter
    Capture Filter 的設定可以在 "Capture"->"Options" 裡的 Filter 欄位空白處直接寫你要的規則,如下圖
   
    也可以在主視窗依序選 "Capture"->"Capture Filters" 進入設定畫面,
   
    設定畫面如下
   
    但在此處 Capture Filter 設定完後只能儲存下來,等到下一次抓取封包時使用。
Display Filter 的使用
  語法:[通訊協定][邏輯運算元][數值]
    例:ip.addr == 192.168.0.3
  比較運算元
   
  邏輯運算元
   
Display Filter 範例
  只顯示 IP Address 為 192.168.0.83
    ip.addr eq 192.168.0.83
  只顯示 IP Address 為 192.168.0.83 且 port 為 23
    (ip.addr eq 192.168.0.83) and (tcp.port eq 23)
  只顯示通訊協定為 ARP 或 UDP
    arp or tcp
  只顯示 ARP Table 中特定 Source MAC 位址
    arp.src.hw_mac == 00:d0:59:a5:d1:76
  其他詳細資料可參考
    www.ethereal.com/ethereal-filter.4.html
Capture Filter 的使用
  Ethereal 的 capture filter 使用 libpcap filter 語言。這在 tcpdump 的網頁有詳盡的解釋,但寫得有點難懂就是了。網址是 http://www.tcpdump.org/tcpdump_man.html
這裡我們不做太多的說明,一方面真的是太多了,再來也不想同學一開始就被這些規則表示式嚇跑了,我們只用幾個實際的例子說明如何設定 capture filter。
Capture Filter 範例
  只抓取某一個 host(例如 IP 是 10.0.0.5) 的 telnet 封包
    tcp port 23 and host 10.0.0.5
  抓取 telnet 的封包但不要抓到從某一 host 的(例如 IP 是 10.0.0.5)
    tcp port 23 and not host 10.0.0.5
  其他更多的範例資料可參考
    http://wiki.ethereal.com/CaptureFilters
Ethereal 使用環境
  必須處於同一個 Collision Domain 之下才能抓到 frame ( Hub 連接或對接)。
單元實驗
  請同學假設現在自己的電腦怪怪的,好像一開機就會自動傳送東西到哪一台電腦,而你想知道到底傳去哪?
請問你該怎麼做?
參考答案:用 Ethereal 抓取所有網路來源為你自己 IP 的封包。
問題與討論
 

 
 


電子商務資訊安全 AntiVirus Ad-Aware AntiSpam PGP SMIME Tripwire SSH Firewall Packet Sniffering Port Scanning Dictionary Attack Vulnerability Scanning VPN 電子商務導論 XML導論