Pages

Friday, 2 December 2016

安裝和使用Wireshark

有一篇介紹如何快速地查看網路封包資訊,然後我才知道有一個神器級的軟體,不但可以用來監測網路狀況,甚致可以在公共網路中利用未加密的網路協議(如ftp/ telent/ http)偷抓取別人傳送的帳戶/密碼明文。

讀了「實戰Wireshark:網路分析其實很簡單」 第一章的介紹,該軟體最初的開發者Gerald Combs因在1990年代中期任職於某家網路供應商,常需要有分析軟體來協助其工作,但當時合適的軟件不多且商業版費用不貲。因此Gerald決定自己 先來寫一套軟件,讓使用者透過這套軟體在查看到網路時不再只是沒有意義的0與1,而是容易理解的簡潔文字。因為這個實用軟體的專業解說,讓我們可以看懂網 路上發生的東西。一開始Gerald把這套軟體命名為「Ethereal」,並以GNU GPL授權方式發佈,好讓全世界的開發者都能參與貢獻改善,也因此它能快速地涵蓋網路推陳出新的各式通訊協議。後來因為商標名稱問題Gerald無法與老 東家達成協議,Ethereal專案遂改名為現在的wireshark,但仍繼續維持其開源免費的授權。

之前我一度試著在自己的筆電上安裝該軟體(分別透過apt-get/ubuntu software center)安裝了wireshark 1.16版。但開啟後先是遇到沒法出現電腦的網路連線介面資訊的問題,這是因為其軟體設計上默認只接受最高權限管理者才能使用它來進行網路活勳偵測,因此 得多幾道修改設定的指令手續。就算搞定了網路介面設定後,又出現欲使用它開始來抓取流量封包資料時該軟體卻當掉沒有回應的囧境。後來又搞工費神地下載 2.2.0版本的原始碼壓縮包回來解壓執行原始碼編譯,東拚西湊地補裝系統欠缺的支援套件等,但仍無法成功地啟動wireshark。因此本文的重點在於 後來如何於ubuntu 作業環境下順利安裝使用wireshark-2.0之後版本,至於它的實作使用與網路分析應用,已有不少文章影片甚致專書可以參考,我就不多述。

安裝篇
wireshark這套免費偵測分析封包的軟體,其官網上提供了windows/apple 環境直接下載壓縮安裝檔,所以前二者的安裝似乎比較方便容 易。而linux系統,則只有原始碼壓縮檔,下載回來後還要再透過執行編譯程序來安裝,感體費時麻煩很多(我的確也有試過用這個方法,但不知哪裏出錯失 敗,無法在指令列叫喚wireshark的執行)
建議ubuntu 用戶可參考這篇:How to Install Wireshark 2.0 in Ubuntu 15.10 Wily
雖然標題說是安裝在Ubuntu 15.10,但其它版本也一樣適用。在終端機的文字命令指列環境中輸入:
$sudo add-apt-repository ppa:wireshark-dev/stable
$sudo apt-get update
$sudo apt-get install wireshark
過程中會出現詢問是否淮許讓非具管理者權限的一般用戶也能使用wireshark。因為我的電腦只有我一名使用者,為了省去麻煩,當然直接說是(yes)

初步看似安裝完成後,先打開wireshark來試試,開啟後卻傳回了"Can't run /usr/bin/dumpcap in child process Permission denied"訊息, 故也無法利用電腦上任何網路介面(interface)來進行封包資訊查看。


找了網路上的解救方法,按別人的建議,在CLI打入這行
$sudo adduser $USER wireshark
重新登出登入或是電腦重開機之後,wireshark就可以正常顯示在這台電腦上有哪些連網的介面可供其封包分析,如無線網路wlan、有線網路eth、藍牙設備bluebooth,甚致連虛擬機器或容器container的網路介面都可以使用。



使用篇
這套軟體發行已久,網路上也不乏各種教學介紹,所以我有點懶得再寫。初安裝者不妨先參考底下這個約9分鐘的入門教學影片,up主示範了如何在未加密的telnet,ftp, http當中找出封包裏包含的帳戶密碼資料。


公共網路中的封包資訊暴露問題
如果在公共場所使用公用無線網路,wireshark也能夠看到這個本地網路區域(Local Area Network, LAN)當中其它用戶的網路封包資訊,例如我試著在某公用無線網路上開啟wireshark,這時可以看到除了自己電腦的虛擬IP之外,也包括連上這個共 享無線網路的其它虛擬IP,如果使用者完全沒有資安概念,輕易地利用未加密的網路協議來登入某些BBS或網站服務,其帳戶密碼很可能被我透過 wireshark輕易地攔截記錄下來。簡單地利用這麼一套開源免費軟體就可以在公共共用網路環境中輕易查看到他人的封包資料(尤其是未加密的活動),那 麼本地區域網連結的ISP供應商到更上游的ISP骨幹網路作為更大範圍的一個互聯系統,試想所謂有國家資源撐腰的黑客state actor、政府本身或是是ISP業者,要在這些互聯網中某個節點進行封包監測攔截與關鍵字詞過濾監控根本是小菜一碟吧。

這也提醒我:上週四(9月29日),英國民權組織Privacy International 與來自其它國家的九個民權團體向歐洲人權法院提交了上訴狀,指控英國政府對互聯網進行了大規模監控(mass surveillance or bulk interception)。由PI發出的新聞稿與補充資料中,以下這二張圖表扼要地表達出了當前互聯網通訊的監控狀況。除了起身團結起來對抗權力者這種 失控無節操法治的全面資訊監控行為外,個別使用者也該好好地認清網路數位安全的脆弱現實,自己到底要給出什麼樣的個資,所能承受的風險,是否有預防保護措 施等等。(沒錯,我就是在說「Threat Modeling」)。



中文入門教學資源:
wireshark 教學
網路封包分析的好幫手—Wireshark 擷取分析、防範攻擊無所不包。
另外,我也簡單地翻過了前面提過的「實戰Wireshark:網路分析其實很簡單」一書,我個人還蠻喜歡作者寫作的講解語調,雖然該書所談的網路協議技術內容我幾乎是理解不能,但還是硬著頭皮地把它翻完一遍,知道自己的無知也是一件重要的事啊.