昨天我們認識了 Port。
如果 IP 是門牌,那 Port 就像一扇扇不同用途的窗戶。
但問題來了:
我的電腦現在到底開了哪些窗戶?
老實說,很多人從來沒有認真想過這件事。
我以為電腦就是我開瀏覽器,它才連網路。
但實際上,很多程式可能都正在背景中連線。
例如瀏覽器、通訊軟體、雲端同步、遊戲平台,甚至系統更新。
如果是 Windows,可以打開命令提示字元,輸入:
netstat -ano
如果是 Linux 或 macOS,可以試試:
netstat -an
或 Linux 也可以用:
ss -tunap
如果你電腦有很多軟體、VPN之類的,可能會這樣想:
這也太多了吧?
這裡面可能會看到很多 IP、Port,還有一些狀態,例如:
TCP 192.168.1.5:53000 172.217.xx.xx:443 ESTABLISHED
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
先不用緊張,也不用每一行都看懂。
今天只要先認識兩個狀態。
LISTENING 的意思是:
這個 Port 正在等待連線。
就像某扇窗是開著的,裡面有人準備接待外面的連線。
這不一定是壞事。
有些服務本來就需要等待連線。
但如果出現自己完全不知道的服務,就值得多看一下。
ESTABLISHED 則表示:
連線已經建立。
像是你正在開網頁、登入通訊軟體、使用雲端服務,都可能看到這種狀態。
這也讓我第一次感覺到:
原來我的電腦真的一直在和外面說話。
只是平常我看不到。
雖然目前還看不懂每一條連線代表什麼,但至少我知道可以從這裡開始觀察。
誰在聽?
誰正在連?
哪個 Port 被使用?
這些都是之後判斷異常的重要線索。
下一篇,我想來看一個網路連線裡很重要的問題:
電腦在開始聊天之前,是怎麼先打招呼的?
Day 7,我們來認識 TCP。