首页 > 学院 > 网络通信 > 正文

IPsec VPN数据传输过程

2020-04-29 13:43:43
字体:
来源:转载
供稿:网友

  IPsec VPN数据传输过程

  以下是一个数据包经IPsecVPN隧 道的传送过程(如ICMP包),由左边的VPN保护子网内的PC机向右边VPN保护子网内的PC机传送数据时,左边PC发送的数据由左VPN eth1内口接收后发现需要经过隧道,则把数据交由左ipsec0口加密(tunnel, ESP或AH),加完密后再由左eth0外口发送到右VPN的eth0外口,右eth0外口收到数据发现需要解密,则由ipsec0口解完密后交由右 eth1内口进行转发或由本机接收。

  加密  =========================》  解密

  host:eth1===ipsec0<==>eth0==============eth0<=====>ipsec0 ===eth1:host

  解密  《========================= 加密

  eth0为外口(协商口),eth1为内口。

  下面可以在已经建立好Ipsec VPN隧道后进行截包分析,由于隧道模式已经把原来的源IP和目的IP加密无法查看到具体IP地址ESP的真实走向,而传输模式的源和目的IP是不会被加密的,所以可以传输模式隧道为例。

  环境拓扑:

  PC1 VPN1  ============VPN2 PC2

  184.0.0.2  184.0.0.1(eth1)/192.168.95.164(eth0) 192.168.95.195(eth0)/185.0.0.1(eth1) 185.0.0.2

  现从PC1向PC2发送ICMP ping包,在VPN1上tcpdump抓包如下,为观看直观特附加一加截图。

  /tos/bin/ipsec-cmds# tcpdump  -ni any host 184.0.0.2

  tcpdump:WARNING: Promiscuous mode not supported on the "any" device

  tcpdump:verbose output suppressed, use -v or -vv for full protocol decode

  listeningon any, link-type LINUX_SLL (Linux cooked), capture size 68 bytes

  11:26:39.649389R@eth1 IP 184.0.0.2 > 185.0.0.2: ICMP echo request,id 512, seq 12039, length 40 (左VPN内口eth1收到PC1 ICMP明文包)

  11:26:39.649411X@ipsec0 IP 184.0.0.2 > 185.0.0.2: ICMP echorequest, id 512, seq 12039, length 40 (查找route后交由ipsec0加密)

  11:26:39.649485X@eth0 IP 184.0.0.2 > 185.0.0.2:ESP(spi=0x30f18c51,seq=0xc38), length 76

  (加完密后的ESP包由外口eth0发出)

  11:26:39.656606R@eth0 IP 185.0.0.2 > 184.0.0.2:ESP(spi=0xa6e0f4f2,seq=0xb36), length 76

  (右VPN外口eth0收到ESP加密包)

  11:26:39.656606R@ipsec0 IP 185.0.0.2 > 184.0.0.2: ICMP echo reply,id 512, seq 12039, length 40(由右ipsec0解密)

  11:26:39.656672X@eth1 IP 185.0.0.2 > 184.0.0.2: ICMP echo reply, id512, seq 12039, length 40

  (解密后的明文交由内口eth0发送给PC2,此时一个方向的ICMP包传送完成)

  11:26:40.649357R@eth1 IP 184.0.0.2 > 185.0.0.2: ICMP echo request, id 512, seq 12295,length 40(PC2回应ICMP给PC1,此过程与上面分析过程类似。)


(责任编辑:VEVB)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表