網絡地址、端口號太多?這份速查表救命
在學網絡、寫代碼、做抓包、查配置的日子里,各種 IP 地址、MAC 地址、端口號、私有地址、協議端口,全都長得像,但每次用的時候又一臉懵。
神唱今天給大家準備了一份程序員 & 網絡人都能看懂的地址+端口速查表,再也不用臨時百度!
一、常見網絡地址類型
名稱 | 含義 | 舉例 | 用途 |
IP 地址 | 網絡中設備的邏輯地址 | 192.168.1.100 | 用于數據尋址 |
MAC 地址 | 網卡的硬件地址(全球唯一) | 00-14-22-01-23-45 | 局域網內通信 |
子網掩碼 | 劃分網絡與主機 | 255.255.255.0 | 判斷同網段 |
默認網關 | 出網口 | 192.168.1.1 | 通信出本地網 |
公網地址 | 互聯網上唯一 | 8.8.8.8 | 對外通信 |
私有地址 | 內網專用 | 192.168.x.x 、10.x.x.x、172.16.x.x~`172.31.x.x` | 內部通信 |
回環地址 | 自己發給自己 | 127.0.0.1 | 測試網絡棧 |
APIPA 地址 | DHCP 失敗自動分配 | 169.254.x.x | 臨時應急 |
廣播地址 | 群發消息 | 192.168.1.255 | 通知局域網所有設備 |
多播地址 | 發給一組設備 | 224.0.0.1 ~`239.255.255.255` | 視頻會議等應用 |
二、端口號分布速查表
我們經常寫代碼、部署服務時需要用到端口,比如:
- Tomcat 8080
- MySQL 3306
- SSH 22
- DNS 53
但這些端口是有分類的,看下面這張表就懂:
范圍 | 分類 | 舉例 | 說明 |
0 - 1023 | 知名端口(Well-known ports) | HTTP: 80、HTTPS: 443、FTP: 21、SSH: 22 | 被廣泛使用的標準協議 |
1024 - 49151 | 注冊端口(Registered ports) | MySQL: 3306、Oracle: 1521、Redis: 6379 | 各軟件、服務申請使用 |
49152 - 65535 | 動態/私有端口(Dynamic/Private ports) | 本地程序臨時使用,如瀏覽器發請求用 52144 | 一般無需手動指定 |
三、常見協議默認端口號對照表
協議 | 端口 | 協議類型 | 用途說明 |
HTTP | 80 | TCP | 網頁訪問 |
HTTPS | 443 | TCP | 加密網頁訪問 |
FTP | 21(控制)/20(數據) | TCP | 文件傳輸 |
SSH | 22 | TCP | 遠程登錄 |
Telnet | 23 | TCP | 不加密遠程登錄 |
DNS | 53 | UDP/TCP | 域名解析 |
SMTP | 25 | TCP | 發送郵件 |
POP3 | 110 | TCP | 接收郵件 |
IMAP | 143 | TCP | 更高級的收件協議 |
SNMP | 161 | UDP | 網絡管理協議 |
RDP | 3389 | TCP | 遠程桌面 |
四、端口沖突問題
神唱啟動項目時候,經常遇到 “端口被占用” 的報錯。
常見端口沖突場景:
- 本地跑了 Tomcat 占了 8080
- Spring Boot 默認 8080,你第二個項目啟動就沖突
- 數據庫端口 3306 被 Docker 映射沖了
排查命令速查:
# 查找占用 8080 的進程
netstat -ano | findstr 8080
# 或者
lsof -i :8080 # Mac / Linux
# 殺掉占用進程(以 Windows 為例)
taskkill /PID <PID號> /F