数据包重组相关知识


因为网络状态、协议相关的因素,大的packet在网络中进行传输的时候不可避免的要被进行分组切片,当到达目的地的时候再进行重组之后传给上层进行处理。其中这重组的过程是个关键,特别是在要自己进行抓包嗅探、分析的时候。

下面先给出几个参考链接,有时间了(准确的说应该是我弄懂了`(*∩_∩*)′)之后,我再来好好写写这方面的经验:

1.先看一个用Wireshark进行抓包的实际情况

tcp_segments_

2.其中的“TCP segment of a reassembled PDU”是什么意思?

wireshark里的“TCP segment of a reassembled PDU”

抓包专家系统提示_百度文库

总而言之一句话:由TCP的MSS(Maximum Segment Size,最大报文段长度)决定一个大的报文在底层传输时需要进行分片处理。

那在收到一个报文后如何确定它是一个”TCP segment”?如果有几个报文的ACK序号都一样,并且这些报文的Sequence Number都不一样,并且后一个Sequence Number为前一个Sequence Number加上前一个报文大小再加上1的话,肯定是TCP segment了,对于没有ACK标志时,则无法判断。

3.相关说明/讨论

Packet splitting and reassembly

tcpip – Why a single(?) TCP packet gets split to multiple PDU units here? – Super User

TCP数据包重组实现分析

TCP_Reassembly – The Wireshark Wiki

http://www.sans.org/reading-room/whitepapers/detection/ip-fragment-reassembly-scapy-33969

4.待续

……


《 “数据包重组相关知识” 》 有 2 条评论

  1. 用docker+elastic打造属于自己的网络探针
    http://blog.nsfocus.net/docker-elastic/
    `
    1. 安装docker
    2. 尝试运行一个CentOS docker容器
    3. 安装必要的软件
    4. 将运行的容器生成为镜像
    5. 将镜像打包
    6. 将镜像导入到另外一台需要使用此镜像的机器上
    7. 使用探针进行数据分析
    7.1 查看访问最多的目的IP
    7.2 查看某个特定IP在时间范围内的下行流量趋势情况
    7.3 DNS请求的域名分布情况
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注