Wireshark 介面與操作介紹
主視窗結構分為三區
上方的封包清單可以在封包清單上方可以進行過濾
常見的過濾語法:
http、tcp #依協定過濾封包
ip.src_host=192.168.0.0 #過濾來源IP為192.168.0.0的封包
ip.src_host=192.168.0.0 or ip.src_host=192.168.0.1 #可搭配邏輯運算子使用
tcp.flag.ack == 0 and tcp.flags.syn == 1 #過濾SYN但沒有ACK的封包(SYN/ACK 的關係後面會提到,這裡先展示用法)
ip.addr=192.168.0.0 #顯示來源或目標IP為192.168.0.0的所有封包
tcp.srcport == 443 #過濾來源Port為443的封包
not arp #排除ARP封包
tcp.port == 443 #過濾Port為443的封包
下圖是Wireshark自定義的著色規則
其實在 Wireshark 裡,封包的顏色只是幫助我們快速判斷狀態。一般來說,那些黑色和紅色的封包大部分不用太在意,紅色通常代表TCP錯誤或異常,黑色則是被標記成未知或不明原因的封包。至於其他顏色,基本上是Wireshark預設根據不同協定去做的區分,不需要特別記住。真正需要多花點注意力的,其實就是TCP連線時的SYN跟ACK,因為它們和連線是否成功有關,下期我們將會介紹到。
好的!那在看懂封包以前,要先了解Wireshark常見到的協定有哪些
ARP 則是把 IP 位址和 MAC 位址對應起來,常常可以看到「Who has xxx? Tell yyy」這種請求。
ICMP 通常用來測試網路狀態,像是我們常用的 ping 指令就是靠它在回應。
TCP 是最常見的傳輸層協定,透過三次握手、確認和重傳來確保資料完整,封包裡會出現SYN、ACK這些標記。
DNS 是把網址翻譯成 IP 位址的系統,像我們輸入 google.com,它會回傳對應的 IP。
HTTP 是網頁傳輸協定,可以看到明文內容,而 HTTPS 則透過 TLS/SSL 加密,封包裡就看不到直接的內容了。
TLS/SSL 主要負責加密和驗證身份,在 Wireshark 裡會看到 Client Hello、Server Hello 這些握手過程。
FTP 是傳輸檔案的協定,但它的缺點是明文傳輸,帳號密碼都可能被截取,(很少用了,現在很多環境改用SFTP /FTPS(加密版本))
DHCP 是用來自動分配 IP 位址的,整個流程是 Discover、Offer、Request、Acknowledge,很容易在 Wireshark 裡看到。
以上就是各種在Wireshark常見的協定,用途各有不同,裡面有些名詞我將在之後與大家一一介紹
下期我會講網路的各種層次(從實體層、網路層、傳輸層到應用層),並示範SYN/ACK之間的關係,讓大家理解資料是如何可靠傳輸的。