簡介 Wireshark

Wireshark 是一個可以監聽網路封包的軟體,在這個章節我們拿他來查看 Transport Layer 傳輸層 的 TCP 與 UDP 的封包資料是如何傳遞的,我們以 DNS Query 與 TCP 三向交握為例來學習如何使用 Wireshark。

Wireshark 基礎配置

1. 打開 Wireshark 的畫面,點選擷取封包設定

2. 選擇想要擷取封包的 interfaces,然後按下 start 開始

3. 設定 filter 過濾出我們要的

Wireshark 的 filter 有兩種,分別是 CaptureFilterDisplayFilter
顧名思義,第一種 CaptureFilter 是在開始擷取的時候就設定好,會把我們要的資料在擷取的時候過濾出來
第二種 DisplayFilter 則是在擷取過後我們可以在列舉封包的區塊看到我們的封包,在這個時候可以即時的下 filter 的 expression 去過濾出我們感興趣的封包
在下面的例子我們只會使用 DisplayFilter 來示範,有興趣的朋友可以嘗試使用兩種不同的過濾方式。

DNS Query

我們透過 nslookup 這個指令對 1.1.1.1 的 Domain Name Server 詢問 bit.kuas.edu.tw 的 IP 位置

1
2
3
4
5
6
7
$ nslookup bit.kuas.edu.tw 1.1.1.1
Server: 1.1.1.1
Address: 1.1.1.1#53

Non-authoritative answer:
Name: bit.kuas.edu.tw
Address: 140.127.112.21

我們希望在 Wireshark 查看對伺服器 1.1.1.1 之間的封包往來,所以我們在 Display Filter 下這樣的 expression,來過濾出跟 1.1.1.1 IP 位址之間的封包。

1
ip.addr == 1.1.1.1

看看我們在 wireshark 擷取到的封包
兩張圖我們可以清楚看到 Wireshark 列出了我們跟目標伺服器 1.1.1.1 一來一往的兩個封包

TCP 三向交握

TCP three-way handshake 是 Client 跟 Server 在建立 TCP 連線時候的三個步驟

  1. The first host (Alice) sends the second host (Bob) a “synchronize” (SYN) message with its own sequence number x, which Bob receives.
  2. Bob replies with a synchronize-acknowledgment (SYN-ACK) message with its own sequence number y and acknowledgement number x+1, which Alice receives.
  3. Alice replies with an acknowledgment (ACK) message with acknowledgement number y+1, which Bob receives and to which he doesn’t need to reply.

引用自 wiki TCP three-way handshake

簡單的描述 TCP 三向交握的三個步驟

  1. client 傳送給 server SYN 的請求,並帶著 sequence number x
  2. server 回復一個 SYN-ACK 的訊息給 client,並帶著 secuence number y 與 acknowledgement number x+1
  3. client 傳送給 server acknowledgement message,帶著 acknowledgement number y+1

我們使用 telnet 的指令來對 bit.kuas.edu.tw 80 port 做連線

1
$ telnet bit.kuas.edu.tw 80

透過上面 nslookup 查詢到的我們知道 bit.kuas.edu.tw 的 ip 位址是 140.127.112.21
所以直接在 wireshark 設定下列的 expression

1
ip.addr == 140.127.112.21

我們可以在 wireshark 看到擷取到內容,如上面所敘述的三個步驟成功建立了 TCP 的連線

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×