IPSEC隧道抓包分析
IPSEC 隧道抓包分析
整個IPSEC 從建立到資料傳輸可以分為兩個階段。階段一主要是協商建立一個主金鑰,所有後續使用者的金鑰都根據主金鑰產生,階段一主要是在通訊雙方間建立一條經過身份驗證並且加密的通道。階段二使用階段一建立的安全通道,協商安全聯盟和用於保護使用者資料的金鑰。
階段一有主模式和積極模式。現在抓包分析的是主模式,有6個來回互動的包,發起端是60.251.67.10,對端是58.248.41.221。
第一階段
第一個包,發起端協商SA,使用的是UDP協議,埠號是500,上層協議是ISAKMP,該協議提供的是一個框架,裡面的負載Next payload類似模組,可以自由使用。可以看到發起端提供了自己的cookie值,以及SA的傳輸集。第二個包,響應端響應,回包中包括自己的cookie值和協商好的傳輸集。傳輸集是什麼樣的?把security association展開,如下,主要是加密演算法,雜湊演算法,認證演算法,生存時間等。
第三個包,發起端開始交換金鑰的相關材料,記住交換的不是金鑰本身。採用的是DH演算法。這時可以看到ISAKMP的下一負載變成了Key Exchange,不是SA了。
第四個包,響應端回包。這樣,雙方的金鑰材料交換完畢,可以生成共有的主金鑰了。 金鑰生成的公式如下
主金鑰生成後,會跟著產生三個金鑰
其中金鑰d和a是為下一階段用的,而金鑰e是用來加密後續的協商資料的。
第五個包,發起方發起身份驗證,帶有Identification的資料。
第六個包,響應端回應報文,雙方身份驗證通過,注意包的經過加密的,加密的金鑰就是上面產生的金鑰e。
到此,階段一完成了,ISAKMP的SA也建立起來了,後續的金鑰也有了,就要開始階段二的協商了。階段二隻有一種模式:快速模式,通過三個包完成互動。第二階段的資料是經過加密的,該階段會產生ipsec sa,每一端都有兩個,一個進站一個出戰,每個sa的SPI都不同,所以階段二共產生4的SA。
第二階段
第一個包發起方主要是進行IPSEC SA的協商,建立安全聯盟,協商用的封裝是AH或是ESP,以及後面的加密演算法認證完整性演算法以及生存時間和感興趣流等等
第二個包響應方回包,協商好和發起端共同的的規則。
最後一個包是發起端對響應端的確認。以上三個包都是通過HASH進行完整性和可靠性認證的。到此,隧道建立起來。
相關文章
- 採用手工方式建立IPSec隧道示例
- BLE抓包分析
- 通過抓包分析 HTTPSHTTP
- tcpdump抓包分析NAT ping不通TCP
- UDP協議抓包分析 -- wiresharkUDP協議
- IP和TCP抓包分析實驗TCP
- 使用WireShark抓包分析TCP協議TCP協議
- HUAWEI防火牆同一例項場景下配置IPSec隧道防火牆
- 使用tcpdump+wireshark抓包分析網路資料包TCP
- TLS1.3抓包分析----解密Application DataTLS解密APP
- 爬蟲分析利器:谷歌Chrome F12抓包分析爬蟲谷歌Chrome
- wireshark安裝使用與tcpdump的抓包分析TCP
- Https抓包HTTP
- tcpdump抓包TCP
- Debookee 8.1.2 網路資料抓包及分析工具
- 利用Wireshark抓包分析DNS域名解析過程DNS
- iOS防止抓包iOS
- mitmproxy grpc 抓包MITRPC
- iOS Wireshark抓包iOS
- iOS Charles抓包iOS
- 談談HTTPS安全認證,抓包與反抓包策略HTTP
- https 真的安全嗎,可以抓包嗎,如何防止抓包嗎HTTP
- tshark 抓包 mysql 協議包MySql協議
- ? 抓包分析 TCP 建立和斷開連線的流程TCP
- 原來你是這樣的Websocket--抓包分析Web
- SSH 協議基本原理及 wireshark 抓包分析協議
- Https、SSL/TLS相關知識及wireShark抓包分析HTTPTLS
- 一次app抓包引發的Android分析(續)APPAndroid
- IPsec
- wireshark抓包學習
- iperf測試抓包
- Python 爬蟲、抓包Python爬蟲
- 前端抓包神器Charles前端
- APP抓包神器dronyAPP
- Charles 手機抓包
- Wireshark網路抓包
- Android https 抓包指南AndroidHTTP
- 一次app抓包引發的Android分析記錄APPAndroid