經過了兩個禮拜扎實的訓練後,我們終於可以往下一步邁進,也就是繼 Nmap 之後的第二個工具:WireShark!
今天先來跟大家分享一下 WireShark 是什麼,能做到的事情有哪些,以及它的安裝步驟。你可以先在自己的 Kali Linux 環境中安裝。
Wireshark 是一個開源的網路封包分析器,它可以即時擷取封包中的資料,比如我們之前提到的來源IP、目標IP、傳輸協議、TCP Flags(SYN、FIN、ACK)等等。適用於 Windows、Linux 作業系統,可以搭配我們的 WSL 把兩邊傳輸的封包擷取下來,看看裡面究竟是怎麼回事。
通常會使用 WireShark 的人有以下幾種情境:
它能夠擷取的網路類型包括:乙太網路、藍芽、USB、無線 WiFi。根據不同的硬體設備和作業系統會有不同的限制。而 WireShark 並不是拿來讓你「入侵系統」,它不會警告你有人在你的網路上做了什麼,但你可以透過它來「檢查別人對你做了什麼」。
目前官方網站提供的最新版本為 4.4.9
,通常每六週就會推出一個新的版本。如果你想要收到有關 WireShark 新版本的通知,你可以時時關注 WireShark-Announce 官方公告清單。
首先打開你的 Kali Linux Terminal,輸入
sudo apt-get update && sudo apt-get upgrade
確認你的 Kali Linux 是最新的版本,然後輸入
sudo apt-get install wireshark
它會詢問你:「是否要安裝此套件?」當然不疑有他,按下 Y
因為 WireShark 搭配 Dumpcap 這個套件來「擷取封包」而這邊會詢問你:「是否讓非 root 的使用者也能抓取封包?」你可以選擇 No
,但是以後操作都必須要以 root
的身分執行 WireShark。而且我們是在自己的內網環境中做測試,所以這邊我們選擇 Yes
。
等待安裝完成以後,你就可以輸入
wireshark
你就會看到 WireShark 的視窗囉!
你可以確認一下左下角「當前版本」是否為官方目前最新的版本,目前我使用的是 4.4.7
比官網提供的要舊一點點,不過不影響我們之後的操作。
如果你在執行 wireshark
時回去看 Terminal 的 log 就會發現有一個 Couldn't run dumpcap in child process: Permission denied
的錯誤,這很正常。
我們剛剛雖然選擇 YES
讓非 root
的使用者也可以啟用 Dumpcap,但它只是建立了一個 wireshark
的群組,讓群組內的成員可以使用這個權限。
目前我們還沒有把自己加入這個群組,所以我們沒辦法使用 Dumpcap。所以你可以輸入
grep wireshark /etc/group
檢查看看是不是沒有你自己。如果沒有的話,我們可以先把使用者加入群組後,重新登入 Linux 就可以了。
sudo usermod -aG wireshark <your_username>
你可以再檢查一次是不是自己有被加入到群組內,然後檢查版本,如果指令是可以使用的那就正常囉!
# 查看自己所在的群組
groups
<your_username> ... wireshark
# 檢查 dumpcap 版本
dumpcap --version
Dumpcap (Wireshark) 4.4.7.
明天我們來簡單介紹一下 Wireshark 的介面有哪些按鈕,讓大家更快的熟悉 WireShark 的操作方式。
WireShark 官方用戶指南
Medium 的文章
Learn4Tech Trainings 的 Youtube 影片