Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >如何从TCP数据包中获取有效载荷?

如何从TCP数据包中获取有效载荷?
EN

Stack Overflow用户
提问于 2021-08-24 05:28:54
回答 2查看 143关注 0票数 1

我想使用pcapplusplus库或其他类似的库从tcp数据包中提取tcp有效负载数据。我搜索了文档,但没有找到如何获得tcp有效负载,但我可以通过使用各种api获得tcp报头中的几乎任何内容。我如何获得有效负载?

代码语言:javascript
代码运行次数:0
复制
Public Member Functions
    TcpLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
 
    TcpLayer ()
 
    TcpLayer (uint16_t portSrc, uint16_t portDst)
 
    TcpLayer (const TcpLayer &other)
 
TcpLayer &  operator= (const TcpLayer &other)
 
tcphdr *    getTcpHeader () const
 
uint16_t    getSrcPort () const
 
uint16_t    getDstPort () const
 
TcpOption   getTcpOption (TcpOptionType option) const
 
TcpOption   getFirstTcpOption () const
 
TcpOption   getNextTcpOption (TcpOption &tcpOption) const
 
size_t  getTcpOptionCount () const
 
TcpOption   addTcpOption (const TcpOptionBuilder &optionBuilder)
 
TcpOption   addTcpOptionAfter (const TcpOptionBuilder &optionBuilder, TcpOptionType prevOptionType=TCPOPT_Unknown)
 
bool    removeTcpOption (TcpOptionType optionType)
 
bool    removeAllTcpOptions ()
 
uint16_t    calculateChecksum (bool writeResultToPacket)
 
void    parseNextLayer ()
 
size_t  getHeaderLen () const
 
void    computeCalculateFields ()
 
std::string     toString () const
 
OsiModelLayer   getOsiModelLayer () const

THese是用来获取TCP头数据的接口。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-25 00:30:58

为了获得(任何)层有效负载,您应该使用getLayerPayload()应用编程接口,例如:

代码语言:javascript
代码运行次数:0
复制
pcpp::TcpLayer* tcpLayer = myPacket.getLayerOfType<pcpp::TcpLayer>();
uint8_t* payload = tcpLayer->getLayerPayload();
size_t payloadSize = tcpLayer->getLayerPayloadSize();
票数 2
EN

Stack Overflow用户

发布于 2021-08-24 06:57:19

经过广泛的搜索,我找到了答案。它是TcpStreamData::getData()方法。您可以查看API文档的this链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68908515

复制
相关文章
如何在 Python 中的绘图图形上手动添加图例颜色和图例字体大小?
Plotly 的 update_layout() 方法以及legend_font_color和legend_font_size参数可用于手动添加图例颜色和字体大小。下面提供了语法的插图 -
很酷的站长
2023/08/11
8390
如何在 Python 中的绘图图形上手动添加图例颜色和图例字体大小?
为你的图片添加图例
图例可以帮助我们更好的理解图中的信息,在matplotlib中,通过legend函数来添加图例,有以下两种用法
生信修炼手册
2020/09/14
1.2K0
如何向图形添加曲形文本
R语言数据分析指南
2023/08/18
2190
如何向图形添加曲形文本
如何向数组里添加元素
一般数组是不能添加元素的,因为数组在初始化时就已定好长度了,不能改变长度,我们如何做到向其中添加元素。
算法与编程之美
2023/01/03
3.5K0
swiper组件添加左右箭头
前言:小程序官方swiper组件并未提供带左右箭头功能,但有些时候还是想把左右箭头添加上,今天连胜老师就给大家分享一下自己的实现方式。 思路很简单:在swiper组件内部添加两个image组件,绑定点击事件,动态改变swiper中的current值。不废话,主要看代码: WXML: <swiper indicator-dots="{{swiper.indicatorDots}}" autoplay="{{swiper.autoplay}}" interval="{{swiper.interval}}"
连胜
2018/03/07
2.9K0
swiper组件添加左右箭头
qcustomplot添加图例_qchart显示点数据
LXTracer::LXTracer(QCustomPlot *_plot, TracerType _type, QObject *parent)
全栈程序员站长
2022/11/08
2.2K0
java如何向数组中添加元素[数组的添加]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说java如何向数组中添加元素[数组的添加],希望能够帮助大家进步!!!
Java架构师必看
2022/04/06
7.7K0
java如何向数组里添加元素
1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。 但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素;例子如下:
全栈程序员站长
2022/06/27
20.6K0
Spring 中的 @Import 注解及向容器中添加 Bean 的几种方式
这次介绍一下 Spring 中的一个重要的注解 @Import 以及向容器中添加 Bean 的几种方式 ,该注解在 SpringBoot 自动转配中起到重要的作用。
wsuo
2020/07/30
1.7K0
ggasym轻松给热图添加多个图例
R语言数据分析指南
2023/08/18
2160
ggasym轻松给热图添加多个图例
如何向已有的项目中添加C/C++代码?
  我们需要在src/main下面建立一个cpp目录,然后在其中写一个CMakeLists.txt文件和一个cpp文件,直接给出代码:
故乡的樱花开了
2023/10/22
2930
qpainter画箭头改变方向_visio如何画箭头
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
2.1K0
qpainter画箭头改变方向_visio如何画箭头
Python 中如何向列表或数组添加元素
然而,与其它编程语言不同,数组在 Python 中不是一个内置的数据结构。Python 使用列表取代传统的数组。
Python学习者
2023/09/11
3580
向邮件添加附件
可以将附件添加到电子邮件或消息部分(具体地说,是添加到%Net.MailMessagePart或%Net.MailMessage的实例)。要执行此操作,请使用以下方法:
用户7741497
2022/06/09
2.1K0
2018-07-19 如何重构“箭头型”代码如何重构“箭头型”代码
原文地址:https://coolshell.cn/articles/17757.html
Albert陈凯
2018/07/24
9860
2018-07-19 如何重构“箭头型”代码如何重构“箭头型”代码
如何使用 Bootstrap class 向按钮添加下拉菜单
如何使用 Bootstrap class 向按钮添加下拉菜单。如需向按钮添加下拉菜单,只需要简单地在一个 .btn-group 容器中放置按钮和下拉菜单即可。您也可以使用 <span class="caret"></span> 来指示按钮作为下拉菜单。
好派笔记
2021/09/18
5.6K0
spring:如何用代码动态向容器中添加或移除Bean ?
先来看一张类图: 有一个业务接口IFoo,提供了二个实现类:FooA及FooB,默认情况下,FooA使用@Component由Spring自动装配,如果出于某种原因,在运行时需要将IFoo的实现,则F
菩提树下的杨过
2018/01/18
5.1K0
spring:如何用代码动态向容器中添加或移除Bean ?
质量看板开发实践(五):给echarts图例添加数值
官方文档:https://echarts.apache.org/zh/option.html#legend.formatter
冰霜
2022/05/01
3K0
matlab画图,添加图名,坐标轴名,曲线名称(图例)[通俗易懂]
matlab画完曲线图后,需要添加:图像名称(Title),坐标轴名(Label),图例(Legend)
全栈程序员站长
2022/09/28
5.6K0
matlab画图,添加图名,坐标轴名,曲线名称(图例)[通俗易懂]
点击加载更多

相似问题

如何向ggplot添加图例

11

如何向hline添加图例?

12

如何向散点图添加图例

21

向散点图添加图例

20

向绘图添加图例

129
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档