前幾天我們認識了 IP 和 DNS。
大概可以想成:
DNS 幫我查地址,IP 讓我找到那台電腦在哪。
但問題來了。
如果我真的找到一台電腦,接下來要找誰?
一台電腦可能同時在做很多事:
開網頁、傳檔案、遠端登入、玩遊戲、聽音樂……
那資料到底要送給哪一個服務?
這時候就需要今天的主角:
Port。
我一開始以為 Port 就是「門」。
但後來覺得,它比較像一棟房子裡不同用途的窗戶或櫃台。
IP 負責找到這棟房子。
Port 則負責告訴你:
你要找的是哪個服務?
例如常見的 Port:
80:HTTP,普通網頁443:HTTPS,加密網頁22:SSH,遠端登入53:DNS,查網域名稱25:SMTP,寄信相關服務所以當我打開一個網站時,其實不只是連到某個 IP。
更精確地說,是連到:
某個 IP 的 443 Port
也就是:
找到那棟房子,然後敲它提供 HTTPS 服務的那扇窗。
因為只要有 Port 開著,就代表那裡可能有服務正在等待連線。
正常情況下,這是必要的。
不然網站沒辦法被瀏覽,伺服器也沒辦法被管理。
但如果不該開的 Port 開著,或服務版本太舊,就可能變成風險。
這也讓我理解 Day 0 說的:
有人在敲我的窗。
其實可能就是有人在掃描我的 Port。
他不是一開始就知道哪裡能進來。
而是先到處敲敲看:
22 有開嗎?
80 有開嗎?
443 有開嗎?
還有沒有其他奇怪的窗戶沒關?
今天先不急著掃描別人。
我們只先記幾個常見 Port:
| Port | 常見用途 |
|---|---|
| 22 | SSH 遠端登入 |
| 53 | DNS 查詢 |
| 80 | HTTP 網頁 |
| 443 | HTTPS 加密網頁 |
| 3306 | MySQL 資料庫 |
| 3389 | Windows 遠端桌面 |
看到這些數字不用馬上全部背起來。
但至少要知道:
Port 是用來區分不同服務的號碼。
IP 負責找到電腦,Port 負責找到服務。
如果 IP 是門牌,那 Port 就像不同的窗戶。
有些窗戶本來就該打開。
但有些窗戶如果忘記關,就可能讓陌生人有機會往裡面看。
那問題來了:
我的電腦現在到底開了哪些窗戶?
Day 6,我們就來看看自己家的窗戶開了幾扇。