ip数据包格式
- 格式:docx
- 大小:367.35 KB
- 文档页数:8
ipip隧道协议报文格式摘要:一、IP 隧道协议概述二、IP 隧道协议报文格式1.报文头部1) 版本与协议类型2) 首部长度3) 服务类型4) 总长度5) 标识6) 标志7) 分段偏移量8) 生存时间9) 协议2.报文数据部分1) 源IP 地址2) 目标IP 地址3) 协议类型4) 序列号5) 确认号6) 数据偏移量7) 标志位8) 窗口缩放9) 紧急指针10) 选项字段正文:一、IP 隧道协议概述IP 隧道协议,又称为IP 封装协议,是一种在网络中传输数据包的协议。
通过使用IP 隧道协议,可以在一个网络中传输另一个网络中的数据包。
这种协议主要应用于虚拟专用网络(VPN)和IPSec 等场景,以实现数据在网络中的安全传输。
二、IP 隧道协议报文格式IP 隧道协议报文主要包括报文头部和报文数据部分。
1.报文头部报文头部包含以下字段:- 版本与协议类型:表示IP 协议的版本号和协议类型,例如IPv4 或IPv6。
- 首部长度:表示报文头部的长度,以4 字节为单位。
- 服务类型:表示数据包的服务质量,例如优先级、延迟等。
- 总长度:表示整个IP 数据包的长度,以4 字节为单位。
- 标识:用于标识数据包的唯一性。
- 标志:表示是否分段以及如何分段数据包。
- 分段偏移量:表示数据包在分段后的位置。
- 生存时间:表示数据包在网络中允许经过的最大路由器数量。
- 协议:表示数据包所使用的协议类型,例如ICMP、TCP 或UDP 等。
2.报文数据部分报文数据部分包含以下字段:- 源IP 地址:表示数据包的源IP 地址。
- 目标IP 地址:表示数据包的目标IP 地址。
- 协议类型:表示数据包所使用的协议类型,例如ICMP、TCP 或UDP 等。
- 序列号:表示数据包在传输过程中的顺序。
- 确认号:表示期望接收到的下一个数据包的序列号。
- 数据偏移量:表示数据包在传输过程中的位置。
- 标志位:表示数据包的传输方向和其他控制信息。
附件:报文格式1.1Ethernet数据包格式(RFC894)1、DstMac的最高字节的最低BIT位如果为1,表明此包是以太网组播/广播包,送给CPU处理。
2、将DstMac和本端口的MAC进行比较,如果不一致就丢弃。
3、获取以太网类型字段Type/Length。
0x0800→IP 继续进行3层的IP包处理。
0x0806→ARP 送给CPU处理。
0x8035→RARP 送给CPU处理。
0x8863→PPPoE discovery stage 送给CPU处理。
0x8864→PPPoE session stage 继续进行PPP的2层包处理。
0x8100→VLAN其它值当作未识别包类型而丢弃。
1.2PPP数据包格式1、获取PPP包类型字段。
0x0021→IP 继续进行3层的IP包处理。
0x8021→IPCP 送给CPU处理。
0xC021→LCP 送给CPU处理。
0xc023→PAP 送给CPU处理。
0xc025→LQR 送给CPU处理。
0xc223→CHAP 送给CPU处理。
0x8023→OSICP 送给CPU处理。
0x0023→OSI 送给CPU处理。
其它值当作未识别包类型而丢弃。
1.3 ARP 报文格式(RFC826)|←----以太网首部---->|←---------28字节ARP 请求/应答------1.4 IP 报文格式(RFC791)(20bytes)TOS1.5 PING 报文格式(需IP 封装)(8bytes)1.6 TCP 报文格式(需IP 封装)(20bytes)紧急指针有效ACK 确认序号有效PSH 接收方应该尽快将这个报文交给应用层RST 重建连接SYN 同步序号用来发起一个连接FIN 发端完成发送认务1.7UDP报文格式(需IP封装)(8bytes)1.8MPLS报文格式MPLS报文类型:以太网中0x8847(单播) 0x8848(组播) PPP类型上0x8281(MPLSCP)1.9MTU1.10TCP与UDP应用2以太网帧,TCP/IP数据报文详解其实也不是很详细,详细起来要很厚一本书,但是都是针对主要的写的以太网2的帧格式前导码:8个字节,这个主要是给信号同步的,给信号的开始传输的第一个bit定位的目的地址:6个字节,目的的MAC地址源地址:6个字节,是自己的MAC地址类型长度:2字节,辨别上层协议的数据:46-1500字节,就是上层的所有数据帧校验FCS:4字节,数据发过去的时候,会随机给个值,对端需要验证这个值,如果值不对,就说明这段数据干扰,或某种原因被修改。
目录1 课程设计目的 (1)2 课程设计要求 (1)3 相关知识 (1)4 课程设计分析 (4)5 程序清单及注释 (7)6 运行结果及分析 (14)7 参考文献 (14)1 课程设计目的本章课程设计的目的就是设计一个解析IP数据包的程序,并根据这个程序,说明IP 数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更好的理解和认识。
2 课程设计要求本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
程序的具体要求如下:1)以命令行形式运行:ipparse logfile,其中ipparse是程序名, 而logfile则代表记录结果的日志文件2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP 地址和目的IP地址等内容3)当程序接收到键盘输入Ctrl+C时退出。
3 相关知识互联网络层是TCP/IP协议参考模型中的关键部分。
IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传递给数据链路层。
IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除个通信子网间的差异,从而为信息发送方和接收方提供了透明的传输通道编制本程序前,首先要对IP包的格式有一定的了解。
图7-1给出了IP协议的数据包格式。
0 4 8 16 19 24 31(位)服务类型总长度版本报头标长标识标致片偏移生存时间协议头校验和源IP地址目的IP地址选项填充域数据部分图7-1 IP数据包的格式IP数据包的第一个字段是版本字段,其长度为4位,表示所使用的IP协议的版本。
本程序主要针对版本值为4的IP数据包的解析。
报头标长(IHL)字段为4位,它定义了以4B为一个单位的IP包的报头长度。
报头中除了选项字段和填充域字段外,其他各字段是定长的。
因此,IP数据包的头长度在20~40B 之间,是可变的。
ipv4报文格式解析IPv4报文格式如下:1. 版本号(Version):占4位,表示IP协议的版本。
目前广泛使用的是IPv4,其版本号为0100。
2. 首部长度(Header Length):占4位,表示IP首部的长度。
首部长度单位为32位字长(4字节),4位二进制表示最大的十进制数值为15,因此,当首部长度为1111时(即十进制的15),首部长度达到最大长度60字节。
通常情况下,首部长度为20字节。
3. 区分服务(Type of Service):占8位,用于表示数据包的服务质量,如延迟、吞吐量、可靠性和成本等。
现在通常使用3位优先级字段和5位TOS字段。
4. 总长度(Total Length):占16位,表示整个IP数据包的长度,包括首部和数据部分。
范围为0-65535字节。
5. 标识(Identification):占16位,用于标识数据包。
当原始报文超过最大传输单元(MTU)时,需要进行分片,每个分片打上相同的标识符,以便接收端识别为同一个报文的分片。
6. 标记(Flags):占3位,用于表示数据包是否分片以及分片顺序。
其中,第一位未使用;第二位表示“不允许分片”(Don't Fragment,DF),第三位表示“更多分片”(More Fragments,MF)。
7. 分片偏移量(Fragment Offset):占13位,用于标记分片在分组中的位置。
8. 生存时间(Time to Live,TTL):占8位,表示数据包可以在网络中传输的最大跳数。
9. 协议(Protocol):占8位,表示传输层使用的协议类型,如ICMP、IGMP、TCP、UDP等。
10. 头部校验和(Header Checksum):用于校验IP报头的正确性,仅校验头部,数据部分由传输层协议负责校验。
11. 源IP地址(Source IP Address):占32位,表示数据包的源IP 地址。
12. 目的IP地址(Destination IP Address):占32位,表示数据包的目的IP地址。
ipip隧道协议报文格式【原创版】目录一、IP 隧道协议概述二、IP 隧道协议报文格式1.控制消息的传输2.ICMP 报文格式3.DEVICENET 转 ETHERCAT 网关连接 CANopen 协议报文解析实例正文一、IP 隧道协议概述IP 隧道协议是一种在网络通信中实现数据包传输的技术,它可以将一个网络协议的数据包封装到另一个网络协议的数据包中,从而实现在不同网络协议之间进行通信。
隧道协议主要应用于 VPN(虚拟专用网络)技术中,通过在公共网络上建立一个虚拟的专用网络,实现对数据的加密和安全传输。
二、IP 隧道协议报文格式(1)控制消息的传输在 IP 隧道协议中,控制消息主要用于传输控制信息,例如:数据包的传输方向、数据包的传输速度等。
这些控制消息虽然并不传输用户数据,但对于用户数据的传递起着重要的作用。
(2)ICMP 报文格式ICMP(Internet Control Message Protocol,互联网控制消息协议)是 IP 隧道协议中常用的一种协议,用于传输控制消息。
ICMP 的报文格式如下:- 类型(Type):用于表示报文类型的整数值,例如:0 表示终点不可达,1 表示源站抑制,2 表示终点抑制等。
- 代码(Code):用于表示报文类型的具体值,例如:0 表示正常传输,1 表示传输超时等。
- 标识(Identification):用于标识数据包的唯一性,该字段的值越大,表示数据包越新。
- 标志(Flags):用于表示是否分段以及如何分段,该字段的值为 3 位二进制数。
- 分段偏移量(Fragment Offset):用于表示数据包在分段后的位置,该字段的值为 13 位二进制数。
- 生存时间(Time to Live):用于表示数据包在网络中的最大传输时间,该字段的值为 8 位二进制数。
- 协议(Protocol):用于表示数据包所使用的协议类型,例如:1 表示 ICMP,2 表示 IGMP 等。
ipv6的格式IPv6的格式IPv6(Internet Protocol version 6)是互联网协议的一种版本,它是为了解决IPv4(Internet Protocol version 4)中IP地址不足的问题而设计的。
IPv4使用32位地址,而IPv6使用128位地址,这使得IPv6能够提供更多的IP地址。
IPv6的地址格式由8个16位字段组成,每个字段用冒号分隔开。
每个字段可以表示为一个4位的十六进制数。
以下是IPv6地址的格式:1. 网络前缀IPv6地址的前64位被称为网络前缀,它用于标识网络部分。
网络前缀由两个16位字段组成。
2. 接口标识IPv6地址的后64位被称为接口标识,它用于标识主机或设备。
接口标识由两个16位字段组成。
3. 压缩表示为了简化IPv6地址的表示,可以使用压缩表示方法。
在压缩表示中,连续的零可以被替换为双冒号(::)来减少地址长度。
但是,在一个IPv6地址中只能出现一个双冒号。
4. 地址类型IPv6定义了几种不同类型的地址,包括单播、多播和任播。
单播地址用于将数据发送到特定主机或设备,多播地址用于将数据发送到一组主机或设备,而任播地址用于将数据发送到一组主机或设备中的一个。
5. 地址分配IPv6地址的分配由Internet号码分配机构(RIR)负责。
RIR将IPv6地址块分配给互联网服务提供商(ISP),然后ISP将这些地址分配给最终用户。
6. 地址表示IPv6地址可以以多种方式表示。
除了标准的十六进制表示外,还可以使用IPv4兼容地址、嵌入式IPv4地址和链路本地地址等特殊类型的IPv6地址。
7. 附加信息IPv6还包含一些附加信息,如流标签和扩展头。
流标签用于识别特定的数据流,而扩展头用于在IPv6数据包中添加额外的信息。
总结:IPv6的格式由8个16位字段组成,每个字段用冒号分隔开。
它包括网络前缀和接口标识两部分,可以使用压缩表示方法来简化表示。
IPv6定义了不同类型的地址,包括单播、多播和任播。
IPSEC数据包格式隧道模式使用 IPSec 隧道模式时,IPSec 对 IP 报头和有效负载进行加密,而传输模式只对 IP 有效负载进行加密。
通过将其当作 AH 或 ESP 有效负载,隧道模式提供对整个 IP 数据包的保护。
使用隧道模式时,会通过 AH 或 ESP 报头与其他 IP 报头来封装整个 IP 数据包。
外部 IP 报头的 IP 地址是隧道终结点,封装的 IP 报头的 IP 地址是最终源地址与目标地址。
IPSec 隧道模式对于保护不同网络之间的通信(当通信必须经过中间的不受信任的网络时)十分有用。
隧道模式主要用来与不支持 L2TP/IPSec 或 PPTP 连接的网关或终端系统进行互操作。
可以在下列配置中使用隧道模式:•网关到网关•服务器到网关•服务器到服务器AH 隧道模式如下图所示,AH 隧道模式使用 AH 与 IP 报头来封装 IP 数据包并对整个数据包进行签名以获得完整性并进行身份验证。
ESP 隧道模式如下图所示,ESP 隧道模式采用 ESP 与 IP 报头以及 ESP 身份验证尾端来封装 IP 数据包。
数据包的签名部分表示对数据包进行签名以获得完整性并进行身份验证的位置。
数据包的加密部分表示受到机密性保护的信息。
由于为数据包添加了隧道新报头,因此会对 ESP 报头之后的所有内容进行签名(ESP 身份验证尾端除外),因为这些内容此时已封装在隧道数据包中。
原始报头置于 ESP 报头之后。
在加密之前,会在整个数据包上附加 ESP 尾端。
ESP 报头之后的所有内容都会被加密,ESP 身份验证尾端除外。
这包括原始报头,该报头此时被视为数据包的数据部分的一部分。
然后,会将整个 ESP 有效负载封装在未加密的新隧道报头内。
新隧道报头内的信息只用来将数据包从源地址发送到隧道终结点。
如果通过公用网络发送数据包,则数据包会路由到接收方 Intranet 的网关的 IP 地址。
网关对数据包进行解密、丢弃 ESP 报头并使用原始 IP 报头将数据包路由到 Intranet 计算机。
实验四IP包的分片和重组实验目的通过实验掌握IP数据包的分片和重组的方法。
实验内容对一个较长的IP分组进行分片,然后再将所有的分片重新组装成一个IP分组。
实验要求(1) 从数据包文件如“packet.pkt”中读取分组,并输入一个整数值作为MTU。
首先计算分组头校验和,判断分组接收是否正确,然后检查分组长度是否超过MTU。
如果长度超过MTU,则检查DF位:若DF位为1,打印出错信息;否则对IP包进行分片,生成各分片的文件,如Fragment1.pkt、Fragment2.pkt等。
(2) 读取上一步得到的各分片文件,首先计算头校验,检查分片是否正确;然后将各个分片组装成一个完整的分组,并保存在一个数据包文件如“MergedPkt.pkt”中;比较MergePkt.pkt与原始的packet.pkt的数据部分内容,以检验分组分片和重组是否成功。
尝试不按顺序读入各个片段,验证重组程序是否仍然能够正确重组分组。
实验提示(1) IP数据包的格式为:4位版本4位首部长度8位服务类型(TOS)16位总长度(字节为单位) 16位标识3位标志13位片偏移8位生存时间(TTL)8位协议16位首部检验和32位源IP地址32位目的IP地址与数据报的分片与重组有关的字段是:总长度、标识、标志、分片偏移、TTL、16位首部校验和。
总长度:总长度以字节为单位,指该IP数据报的总大小,包括首部的20字节以及实际的来自应用层的数据。
判断一个数据包是否要进行分片,就是将收到的数据报的总长度与MTU进行比较。
如果总长度大于MTU,就需要进行分片。
标识:这个16位的字段标识从源主机发出的数据报。
当数据报离开源主机时,这个标识与源IP地址唯一地定义了这个数据报。
为了保证唯一性,IP协议使用了一个计数器来标识数据报。
当IP协议发送数据报时,就把这个计数器的当前值复制到标识字段中,并把这个计数器的值加1。
当数据报被分片时,标识字段的值就被复制到所有的分片中,即同一个数据报的所有分片具有相同的标识。
ipip隧道协议报文格式IPIP(Internet Protocol in IP)隧道协议是一种在IP 网络中封装另一种IP 协议的协议。
其主要作用是在不同网络环境中实现IP 协议的穿越,从而实现异构网络的互通。
本文将对IPIP 隧道协议的报文格式进行详细解析,以帮助读者更好地理解和使用该协议。
一、IPIP隧道协议概述IPIP 隧道协议是一种隧道协议,其主要功能是将原始IP 数据包封装在另一个IP 数据包中,使原始IP 数据包能够在不同网络环境中传输。
IPIP 隧道协议通常用于虚拟专用网络(VPN)和网络地址转换(NAT)等场景。
通过使用IPIP 隧道协议,可以在不同地域、不同运营商的网络之间实现IP 数据的传输,提高网络资源的利用率。
二、IPIP隧道协议报文格式解析IPIP 隧道协议报文分为两部分:报文头部和报文payload。
下面将分别对这两部分进行详细解析。
1.报文头部格式报文头部包含了版本号、协议类型、序列号、标记、数据包长度等字段,具体格式如下:```+----+----+----+----+----+----+| 版本号| 协议类型| 序列号| 标记|+----+----+----+----+----+----+```各字段含义如下:- 版本号:表示IPIP 协议的版本,目前仅支持版本4。
- 协议类型:表示原始IP 协议的类型,如TCP、UDP 等。
- 序列号:用于保证报文的顺序,序列号相同的报文表示是连续的。
- 标记:用于标识报文是否需要加密和压缩。
- 数据包长度:表示整个IPIP 报文的长度,包括头部和payload。
2.报文payload 格式报文payload 部分包含了原始IP 头部和原始IP 数据payload,具体格式如下:```+----+----+----+----+| 原始IP 头部|+----+----+----+----+|| 原始IP 数据payload|+----+----+----+----+```原始IP 头部和原始IP 数据payload 保持了原始IP 数据包的结构,以便在目的端解封装后能够正常处理。
IP数据报格式(转)
TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram)。
这是一个与硬件无关的虚拟包, 由首部和数据两部分组成,其格式如图所示。
首部的前一部分是固定长度,共20字节,是所有IP 数据报必须具有的。
在首部的固定部分的后面是一些可选字段,其长
度是可变的。
首部中的源地址和目的地址都是IP协议地址
1、IP数据报首部的固定部分中的各字段
(1)版本占4位,指IP协议的版本。
通信双方使用的IP协议版本
必须一致。
目前广泛使用的IP协议版本号为4(即IPv4)。
(2)首部长度占4位,可表示的最大十进制数值是15。
请注意,这
个字段所表示数的单位是32位字长(1 个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。
当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填
充字段加以填充。
因此数据部分永远在4字节的整数倍开始,这样在
实现IP协议时较为方便。
首部长度限制为60 字节的缺点是有时可能
不够用。
但这样做是希望用户尽量减少开销。
最常用的首部长度就是
20字节(即首部长度为0101),这时不使用任何选项。
(#我们一般看到的版本和首部长度两个字段是十六进制45,就是版
本号version=4,headlength=5,也就是首部长度是60个字节)
(3)区分服务占8位,用来获得更好的服务。
这个字段在旧标准
中叫做服务类型,但实际上一直没有被使用过。
1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。
只有在使用区分服务时,这个字段才起作用。
(4)总长度总长度指首部和数据之和的长度,单位为字节。
总长
度字段为16位,因此数据报的最大长度为216-1=65535字节。
#可以看这个以太网frame总长为336字节,而IP数据包Total length =322,336-322=14正好是Ethernet包头的长度,所以就可以看出这IP数据包总长度一值就是除去Ethernet头的剩余长度,也就是IP包头加数据的长度。
在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。
当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。
(5)标识(identification)占16位。
IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。
但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。
当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。
相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。
(6)标志(flag)占3位,但目前只有2位有意义。
●标志字段中的最低位记为MF(More Fragment)。
MF=1即表示后面“还有分片”的数据报。
MF=0表示这已是若干数据报片中的最后一个。
●标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。
只有当DF=0时才允许分片。
(7)片偏移占13位。
片偏移指出:较长的分组在分片后,某片在原分
组中的相对位置。
也就是说,相对用户数据字段的起点,该片从何处
开始。
片偏移以8个字节为偏移单位。
这就是说,每个分片的长度一
定是8字节(64位)的整数倍。
(8)生存时间占8位,生存时间字段常用的的英文缩写是
TTL(Time To Live),表明是数据报在网络中的寿命。
由发出数据报的
源点设置这个字段。
其目的是防止无法交付的数据报无限制地在因特
网中兜圈子,因而白白消耗网络资源。
最初的设计是以秒作为TTL的单位。
每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。
若数据报在路由器消耗的时间小于1秒,就把TTL值减1。
当TTL值为0时,就丢弃这个数据报。
#TTL通常是32或者64,scapy中默认是64
(9)协议占8位,协议字段指出此数据报携带的数据是使用何种
协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。
(在scapy中,下层的这个protocol一般可以从上曾继承而来,自动填充,我们一般可以省略不填此项)
(10)首部检验和占16位。
这个字段只检验数据报的首部,但不
包括数据部分。
这是因为数据报每经过一个路由器,路由器都要重新
计算一下首部检验和(一些字段,如生存时间、标志、片偏移等都可
能发生变化)。
不检验数据部分可减少计算的工作量。
(11)源地址占32位。
(12)目的地址占32位。
2、IP数据报首部的可变部分
IP 首部的可变部分就是一个可选字段。
选项字段用来支持排错、测量以及安全等措施,内容很丰富。
此字段的长度可变,从1个字节到
40个字节不等,取决于所选择的项目。
某些选项项目只需要1个字节,它只包括1个字节的选项代码。
但还有些选项需要多个字节,这些选
项一个个拼接起来,中间不需要有分隔符,最后用全0 的填充字段补
齐成为4字节的整数倍。
增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。
这就增加了每一个路由器处理数据报的开销。
实际上这些选项很少被使用。
新的IP版本IPv6就将IP
数据报的首部长度做成固定的。
目前,这些任选项定义如下:
(1)安全和处理限制(用于军事领域)
(2)记录路径(让每个路由器都记下它的IP地址)
(3)时间戳(让每个路由器都记下它的IP地址和时间)
(4)宽松的源站路由(为数据报指定一系列必须经过的IP地址)(5)严格的源站路由(与宽松的源站路由类似,但是要求只能经过指定的这些地址,不能经过其他的地址)
这些选项很少被使用,并非所有主机和路由器都支持这些选项。
附:scapy中的IP层实现:各个参数对应的非常清楚,我们经常关心
的可能是ttl,proto,src,dst等等
>>> ls(IP)
version : BitField = (4)
ihl : BitField = (None)
tos : XByteField = (0)
len : ShortField = (None)
id : ShortField = (1)
flags : FlagsField = (0)
frag : BitField = (0)
ttl : ByteField = (64)
proto : ByteEnumField = (0) chksum : XShortField = (None) src : Emph = (None)
dst : Emph = ('127.0.0.1') options : IPoptionsField = ('') >>> IP().show()
###[ IP ]###
version= 4
ihl= None
tos= 0x0
len= None
id= 1
flags=
frag= 0
ttl= 64
proto= ip
chksum= 0x0
src= 127.0.0.1
dst= 127.0.0.1
options= ''
>>>。