Python-对Pcap文件进行处理,获取指定TCP流

本文介绍了如何使用Python解析Pcap文件,提取IPV4下的TCP流,特别是指定TCP流。通过逐层解析协议头,如IPv4、TCP头,找出数据包中的关键信息,包括源/目标IP、端口、序列号等。完整代码可在GitHub上找到,供学习交流。
摘要由CSDN通过智能技术生成

        通过对TCP/IP协议的学习,本人写了一个可以实现对PCAP文件中的IPV4下的TCP流提取,以及提取指定的TCP流,鉴于为了学习,没有采用第三方包解析pcap,而是对bytes流进行解析,其核心思想为:若想要提取TCP Content,需在下层的IPV4协议中判断Protocol是否为TCP,然后判断下层的以太网协议的Type是否为IPV4协议(此处的IPV4判断,只针对本人所写项目);对于指定流需要获取Client以及Server的[IP,PORT]。

一、Pcap文件解析

  对于一个Pcap文件,其结构为文件头,数据包头,数据包数据,数据包头,数据包数据……,文件头为24字节,如下:

 

 

  • Magic:4Byte:标记文件开始,并用来识别文件自己和字节顺序
  • Major:2Byte: 当前文件主要的版本号
  • Minor:2Byte: 当前文件次要的版本号
  • ThisZone:4Byte:当地的标准时间,如果用的是GMT则全零,一般都直接写 0000 0000
  • SigFigs:4Byte:时间戳的精度<
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值