IPsec ***数据传输过程
以下是一个数据包经IPsec×××隧道的传送过程(如ICMP包),由左边的×××保护子网内的PC机向右边×××保护子网内的PC机传送数据时,左边PC发送的数据由左××× eth1内口接收后发现需要经过隧道,则把数据交由左ipsec0口加密(tunnel, ESP或AH),加完密后再由左eth0外口发送到右×××的eth0外口,右eth0外口收到数据发现需要解密,则由ipsec0口解完密后交由右eth1内口进行转发或由本机接收。
加密 =========================》 解密
IPsec ×××数据传输过程host:eth1===ipsec0<==>eth0==============eth0<=====>ipsec0 ===eth1:host
解密 《========================= 加密
eth0为外口(协商口),eth1为内口。
下面可以在已经建立好Ipsec ×××隧道后进行截包分析,由于隧道模式已经把原来的源IP和目的IP加密无法查看到具体IP地址ESP的真实走向,而传输模式的源和目的IP是不会被加密的,所以可以传输模式隧道为例。
环境拓扑:
PC1 ×××1 ============×××2 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包,在×××1上tcpdump抓包如下:
# 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 (左×××内口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(右×××外口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包传送完成)
原文来自:http://blog.csdn.net/rosetta
转载于:https://blog.51cto.com/linuxcgi/1965316
IPsec ***数据传输过程相关推荐
- IPSEC建立过程(简)
IPSEC建立过程 文章目录 IPSEC建立过程 阶段一: 阶段一支持两种协商模式: 主模式: 野蛮模式: 阶段二 快速模式共有3条消息完成双方IPSec SA的建立. 主模式和野蛮模式的区别 主模式 ...
- delphi tclientsocket接收不到返回数据_NB-IOT联网及模块UDP数据传输过程
一.NB-IOT联网过程 二.NB模块UDP数据传输过程 1)接通电源/重新启动,模块正常启动. 2)AT+NBAND?检查当前的频带信息,确认是否支持模块模型. 3)在3)AT+NBAND=5通信模 ...
- 分层模型中数据传输过程
考虑图中主机1和主机2之间的数据传输过程.从直观上来看,主机1发送数据给主机2,中间先经过了路由器1和路由器2,最后到达主机2.事实上,整个数据的传送要经过封装和拆封两个过程. 在发送方(也称为源)主 ...
- 几种网络数据传输过程
网络数据传输过程 网络互联(有交换机.没有路由器) 集线器作用:只是做数据转发 ARP协议:建立IP与MAC的映射主机ARP缓存表 场景:主机A发送FTP"下载某个文件数据包"-& ...
- 网络中数据传输过程的解析
网络中数据传输过程的分析 我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?把自己的理解写一下,可能有很多细节还没有能的很清楚!希望在以后可以使之更加的完 ...
- nb移动udp_NB-IOT联网及模块UDP数据传输过程
一.NB-IOT联网过程 二.NB模块UDP数据传输过程 1)接通电源/重新启动,模块正常启动. 2)AT+NBAND?检查当前的频带信息,确认是否支持模块模型. 3)在3)AT+NBAND=5通信模 ...
- 服务器与浏览器数据传输过程中编码问题
一.前言 最近在研究公司的一个项目,无意间注意起平时用的多但是没怎么注意的一个问题,那就是浏览器往服务器传送数据的时候到底是怎么编码的?网上有篇文章写得不错,并且本人亲测确实如文章所述,所以这边特意转 ...
- 微信公众平台开发之数据传输过程
当用户发一条消息到微信公众号,该公众号会返回相应的消息给用户,那么这些消息是经过什么过程才返回到用户的微信里呢. 其实用户发送消息开始,主要经过5个过程: 1.用户发送消息传输到微信服务器 2.微信服 ...
- TCP/IP协议模型详解六数据传输过程
2.4.数据传输流程 2.4.1.发送方 当我们在window系统或unix系统中使用应用程序发送一个"你好"文本数据时,是怎样传输出去并让对方接收的的? 1.在传输层,将&quo ...
最新文章
- java 读utf-8 xml_用Java和UTF-8編碼生成有效的XML。
- 关键字static在C和C++中的区别
- 10行代码理解Java锁消除
- Android AsyncTask简单用法
- C Runtime Library 的来历
- python读取excel生成mysql建表语句_python读取excel文件并自动在mysql中建表导数据
- WEB入门实践-张晨光-专题视频课程
- DevOps通用及版本控制面试题
- 两个数组合成一个json对象_两个jsonarray合并
- leetcode-680-Valid Palindrome II
- 东南大学2014计算机考研真题,2014年东南大学920信号数电考研真题(回忆版)
- l3119双闪_打印机进纸灯和墨水灯双灯齐闪 解决方法
- MS2131 USB 3.0 高清音视频采集+ HDMI 环出+混音处理芯片
- 我得意地笑: 搞定了, 哈哈 如何读取Thermo Scientific Nicolet Omnic *.spa二进制格式的谱图文件中的数据
- 电脑桌面云便签怎么设置短信提醒便签事项?
- 安卓手机开启开发者选项
- Java实例——线程
- cool edit工具介绍及使用
- 运营干货:虾皮店铺装修怎么做?
- 交换机Access端口,Trunk端口与Hybrid的区别与应用