iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0
Security

2026 初學者資安入門技,是誰在敲打我窗系列 第 8 篇

[Day 7] TCP:「可以講話嗎?」——網路也要先打招呼

  • 分享至 

  • xImage
  •  

昨天看 netstat 的時候,我看到一個狀態叫做:

ESTABLISHED

意思是連線已經建立。

但我還是不知道連線到底是怎麼建立的?

總不可能電腦直接大喊:

「我要開始傳資料囉!」

然後對方就莫名其妙開始收。

所以今天來認識一個常聽到的東西:

TCP。

TCP 的運作機制會先確認對方在不在

TCP 是一種比較「有禮貌」的傳輸方式。

在真正傳資料之前,它會先確認對方是否存在、能不能溝通。

最常聽到的就是:

三向交握 Three-Way Handshake (也有人翻譯三次握手)

名字聽起來很怪,但其實可以想成聊天前的確認。

大概像這樣:

我:「哈囉,可以講話嗎?」
對方:「可以,我聽到了,你也聽得到我嗎?」
我:「聽得到,那我們開始吧。」

換成 TCP 的說法就是:

  1. SYN:我想建立連線
  2. SYN-ACK:我收到,也同意連線
  3. ACK:確認收到,那開始傳資料

完成之後,連線才會進入 ESTABLISHED。

原來連線不是突然開始的

這讓我覺得滿有趣的。

以前我以為打開網站,就是瀏覽器直接把資料丟出去。

但其實在真正看到網頁之前,電腦已經默默做了很多事情。

先查 DNS。

找到 IP。

透過 Gateway 出門。

找到對方的 Port。

然後 TCP 先打招呼。

最後才開始傳資料。

所以一個看起來很簡單的「打開網頁」,背後其實是一連串流程。

今日小實驗:看連線狀態

可以再打開命令提示字元,輸入:

netstat -ano

然後找看看有沒有:

ESTABLISHED

如果有,代表你的電腦正在和某個地方保持連線。

因此 ESTABLISHED 不是憑空出現的,它背後代表 TCP 已經完成打招呼。

小結

TCP 在傳資料前,會先確認雙方能不能溝通。

這就像真正開始聊天以前,先確認對方有沒有聽到。

也難怪資安裡常常會提到連線狀態,因為它可以幫我們判斷:

誰正在連?

連線有沒有成功?

對方是不是一直在嘗試建立連線?

明天我們來看另一種比較不囉嗦的傳輸方式。

它不像 TCP 會先打招呼,而是直接把資料丟出去。

Day 8:UDP:不等你回我,我先丟了再說。


上一篇
[Day 6] 我家的窗戶開了幾扇?第一次看自己的連線
下一篇
[Day 8] UDP:不等你回我,我先丟了再說
系列文
2026 初學者資安入門技,是誰在敲打我窗 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言