作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 C# 应用程序,它使用 PcapDotNet 通过捕获过滤器嗅探 UDP 数据包。
工作正常,有一个 6 字节的有效负载,但我似乎无法将其提取为字节数组。 UdpDatagram.Payload 是一个数据报,没有提取实际负载数据的方法。
数据报有一个 ExtractPayload() 但这提供了一个 ILayer,我似乎无法使用它来获取有效负载。
如何从 TcpDatagram 或 UdpDatagram 中提取最终的负载?
最佳答案
在 PacketCommunicator.ReceivePacket() 传送数据包后,然后使用 Datagram.ToMemoryStream() 写入本地缓冲区:
Packet wpacket;
// wpacket = received packet
UdpDatagram udp = null;
TcpDatagram tcp = null;
Datagram datagram = null;
IpV4Datagram ip4 = wpacket.Ethernet.IpV4;
if (ip4.Protocol == IpV4Protocol.Udp)
{
udp = ip4.Udp;
datagram = udp.Payload;
}
if (ip4.Protocol == IpV4Protocol.Tcp)
{
tcp = ip4.Tcp;
datagram = tcp.Payload;
}
if (null != datagram)
{
int payloadLength = datagram.Length;
using (MemoryStream ms = datagram.ToMemoryStream())
{
byte[] rx_payload = new byte[payloadLength];
ms.Read(rx_payload,0, payloadLength);
}
}
然后 rx_payload 可用于解析、显示或以其他方式使用负载。
关于c# - 使用 PcapDotNet,如何提取最终有效载荷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44825933/
我正在尝试计算 GFP(通用成帧过程)帧的有效负载 FCS (pFCS),但无法获得正确的值。 我所做的是对有效载荷进行解扰,并对从有效载荷报头(4 字节 PTI、PFI、EXI、UPI、eHEC)开
我研究了我的问题并尝试了很多解决方案,但还没有解决。 出于某种原因,Angular 似乎没有在 plunker 中加载。 我的头不确定在更高的 Angular 版本中不再支持,但我尝试加载旧版本但仍然
我是一名优秀的程序员,十分优秀!