網絡及其協議基礎
1. 基礎概念與分層思想
1.1 什么是網絡協議
網絡協議是計算機或網絡設備之間通信時必須遵守的一組規則,規定了數據的格式、交互順序、錯誤檢測、重傳與連接管理等。把協議想象成“計算機之間的語言和禮儀”。
1.2 為什么要分層
分層將復雜系統拆成若干互相獨立且職責明確的模塊:便于設計、實現、測試與維護;每層只向上/下層暴露必要接口。常見參考模型:OSI七層和TCP/IP四層(實際網絡設計與實現多基于TCP/IP模型)。
2. 模型回顧(快速、實用)
2.1 OSI 七層(簡要職責)
- 物理層:比特的電氣/光學/無線傳輸(光纖、網卡、交換機物理端口)。
- 數據鏈路層:幀封裝、MAC地址、差錯檢測、局域網轉發(以太網、Wi-Fi)。
- 網絡層:路由與邏輯地址(IP),分片與轉發(IPv4/IPv6、ICMP、ARP)。
- 傳輸層:端到端通信、端口、可靠性(TCP、UDP)。
- 會話層:會話管理(多數場景被上層/傳輸層功能替代)。
- 表示層:數據表示、加密、壓縮(例如TLS的一些功能可視作此層)。
- 應用層:終端協議與應用(HTTP、DNS、SMTP 等)。
2.2 TCP/IP(四層)對應
- 應用層(HTTP、DNS 等)
- 傳輸層(TCP/UDP)
- 網絡層(IP/ICMP/ARP)
- 鏈路層(以太網/Wi-Fi/物理)
3. 重要協議詳解(功能、重點字段與安全注意)
3.1 IP(Internet Protocol)
功能:負責跨網絡分組轉發與尋址。
重點字段:版本、首部長度、TTL、源/目的IP、協議字段(上層類型)。
安全注意:無加密/認證,易被偽造源地址(spoofing)——可被用于反射/放大攻擊。防護:防火墻規則、反向路徑過濾(RPF)、網絡ACL、部署更高層認證(如IPsec)等。
3.2 ICMP(Internet Control Message Protocol)
功能:網絡診斷與錯誤報告(ping、traceroute)。
風險:可被濫用做網絡掃描或ICMP洪水。防護:邊界速率限制、限制ICMP類型或在防火墻上只允許必要類型。
3.3 ARP(Address Resolution Protocol)
功能:在局域網內將IPv4地址解析為MAC地址(ARP請求/應答廣播)。
風險:無認證,容易被ARP欺騙/緩存中毒導致中間人攻擊。防護:靜態ARP、交換機的動態ARP檢測(DAI)、端口安全、使用加密隧道(VPN)等。
3.4 TCP(Transmission Control Protocol)
功能:面向連接、可靠傳輸、順序保證、流控與擁塞控制。
關鍵機制:三次握手(SYN → SYN/ACK → ACK),序列號/確認、四次揮手斷開。
風險:SYN Flood、連接劫持、序列號預測。防護:SYN cookie、連接跟蹤(conntrack)、防火墻/負載均衡器限速、合理的超時與連接數限制。
三次握手示意(簡化):
Client -> SYN -> Server
Client <- SYN/ACK <- Server
Client -> ACK -> Server
3.5 UDP(User Datagram Protocol)
功能:無連接、低延遲、不保證到達順序,適合實時音視頻、DNS等。
風險:易被偽造源地址用于反射/放大(例如 DNS 放大)。防護:源地址驗證、速率限制、ACL、對公共服務控制訪問。
3.6 DNS(Domain Name System)
功能:域名到IP的解析。遞歸/權威/緩存等角色。
風險:明文查詢易被監聽、緩存中毒、域名劫持。防護:DNSSEC(防篡改)、DoT/DoH(加密解析)、限制遞歸服務對外暴露、監控異常查詢模式。
3.7 HTTP / HTTPS
- HTTP:明文超文本協議(請求行/頭/體)。
- HTTPS:在HTTP上使用TLS加密(保證機密性、完整性與認證)。
安全要點:使用 TLS1.2+(優先 TLS1.3)、正確證書配置、HSTS、禁用弱密碼套件及舊協議、使用強證書私鑰保護與自動化續期(如ACME)。
3.8 TLS(Transport Layer Security)
功能:為上層協議提供加密通道、密鑰協商與證書驗證。
注意:選擇現代套件、避免 RSA 小模數或過時哈希、維護證書吊銷/OCSP、私鑰保護、及時更新庫(避免心臟出血類漏洞)。
3.9 郵件協議:SMTP / POP3 / IMAP
功能:SMTP(發送),POP3/IMAP(接收/管理)。
風險:偽造發件人、明文傳輸。防護:使用 STARTTLS/SMTPS,部署 SPF / DKIM / DMARC 來防止郵件偽造與釣魚。
4. CDN(內容分發網絡)補充
功能:將靜態/動態內容緩存并分發到離用戶更近的邊緣節點,減小延遲、分散流量負載并提升可用性與抗DDoS能力。
主要組件:邊緣節點、回源服務器(origin)、智能路由(基于地理/負載/時延)、緩存策略(TTL、Cache-Control)。
安全與注意點:
- 使用CDN可以緩解大規模流量攻擊,但配置錯誤可能會暴露源站地址導致繞過CDN。
- 正確配置TLS(邊緣與回源都應加密),并設置合適的緩存控制與訪問控制。
- 注意緩存污染與敏感內容緩存(設置合適的Cache-Control、Vary頭)。
- 使用WAF功能(很多CDN提供WAF/速率限制)防止應用層攻擊。
5. 常見網絡攻擊類別與防御措施
5.1 被動監聽(Eavesdropping)
方式:截取明文流量。
防御:端到端加密(HTTPS、SSH、VPN)、避免明文協議。
5.2 中間人攻擊(MitM)
方式:介入通信鏈路,攔截/篡改數據(如ARP欺騙、DNS劫持)。
防御:使用認證與加密(TLS、SSH)、網絡接入控制、交換機端口安全、ARP保護、DNSSEC。
5.3 拒絕服務(DoS/DDoS)
方式:利用大量流量或資源耗盡目標服務。
防御:DDoS清洗服務、CDN、流量過濾、速率限制、黑洞路由與冗余設計。
5.4 掃描與指紋識別
方式:探測端口與服務版本獲取攻擊面。
防御:最小暴露原則、端口/服務硬化、入侵檢測系統(IDS)與日志監控、及時打補丁。
5.5 協議/實現漏洞利用
方式:利用設計缺陷或實現漏洞(如TLS實現錯誤、HTTP頭注入)。
防御:安全配置、代碼審計、靜態/動態測試、及時更新依賴庫。
6. 常用排錯工具與實操命令(實戰示例)
下列命令多在 Linux 系統中使用,部分需管理員權限(sudo)。
6.1 基本網絡信息與連接查看
ip addr # 查看網絡接口與IP
ip route # 路由表
ss -tunlp # 顯示TCP/UDP端口和監聽進程
netstat -antp # 舊系統常用
6.2 連通性測試
ping <目標IP或域名>
traceroute <目標> # Unix/Linux
tracert <目標> # Windows
6.3 域名解析
dig 111.com
nslookup 111111.com
6.4 抓包與分析
tcpdump -i eth0 -w capture.pcap # 抓包到文件
tshark -r capture.pcap # 命令行分析
# 用 Wireshark 打開 capture.pcap 進行圖形化分析
6.5 HTTP 與 TLS 調試
curl -I http://example.com # 查看響應頭
curl -v https://example.com # 詳細請求/響應
openssl s_client -connect host:443 -servername host # 查看證書鏈與握手
6.6 掃描與滲測(授權環境)
nmap -sS -sV 目標IP/網段 # 端口探測與服務版本
# 注意:僅在有授權的情況下使用滲透測試掃描
7. 常見安全配置與加固
- 最小暴露:僅開放必要端口與服務。
- 網絡分段:生產/管理/訪客等不同網絡隔離(VLAN/防火墻)。
- 訪問控制:基于角色的訪問、強密碼、多因素認證(MFA)。
- 加密通信:HTTP→HTTPS(TLS1.2+)、SSH、VPN,使用現代加密套件。
- 日志與監控:集中日志、SIEM、異常流量告警與響應機制。
- 補丁管理:操作系統、網絡設備與應用定期打補丁。
- 防御邊界:WAF、IDS/IPS、DDoS 防護、RPF 與 ACL。
- DNS 安全:使用 DNSSEC、保護遞歸服務、監控域名解析異常。
- ARP/DHCP 安全:啟用端口安全、DAI、靜態綁定(關鍵設備)。
- 備份與恢復:配置備份、演練恢復流程、制定事故響應計劃。
8. 常見排查與故障定位快速流程
- 確認范圍:單機、子網還是全站不可達?
- 物理層檢查:鏈路燈、網線、交換機端口與接口狀態(
ip link/ethtool)。 - 接口與IP:
ip addr、ip route檢查IP/路由。 - 連通性:
ping(本機→網關→外網)與traceroute分段定位。 - 端口/服務:
ss -tunlp或nmap掃描本機端口。 - 抓包分析:在源/中間/目的地抓包(
tcpdump)看三次握手、重傳、RST、ICMP錯誤等。 - 日志:查看防火墻、應用與系統日志(/var/log/*)。
- 回退測試:禁用可能影響的中間件(WAF/ACL)做對比測試(授權環境下)。
9. 附錄:常見端口與用途(快速參考)
- 20/21 — FTP
- 22 — SSH
- 23 — Telnet(不安全,盡量禁用)
- 25 — SMTP
- 53 — DNS
- 80 — HTTP
- 110 — POP3
- 143 — IMAP
- 443 — HTTPS
- 3306 — MySQL
- 3389 — RDP
(僅做參考,實際使用請按需配置防護)

浙公網安備 33010602011771號