问题标签 [packets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1662 浏览

macos - 接收 MAC ID 广播 UDP 数据包的问题

在我的情况下,从硬件 UDP 数据包发送到目标 PC - 192.168.13.250 (45141) 但 MAC ID 为 FF:FF:FF:FF:FF:FF。现在我没有使用套接字绑定到该目标 IP 和端口。但我无法使用套接字程序从 PC 接收 UDP 数据包。它不是来自 recvfrom() 调用。它仍在等待。如果我使用硬件设置将 MAC ID 更改为目标 PC MAC ID(00-12-d5-f6-3e-92),那么我可以接收 UDP 数据包。不改变MAC ID,即如何从广播MAC ID 接收UDP 数据包。任何帮助将不胜感激。提前致谢。以下是来自 Wireshark 的日志。

  • 未收到以下 UDP 数据包(Wireshark)

帧 3609(线路上的 7978 字节,捕获的 7978 字节)以太网 II,Src:0a:dc:0a:dc:0a:dc (0a:dc:0a:dc:0a:dc),Dst:广播 (ff:ff: ff:ff:ff:ff) Internet 协议,Src:192.168.13.25 (192.168.13.25),Dst:192.168.13.250 (192.168.13.250) 用户数据报协议,Src 端口:lbc-control (2780),Dst 端口:45141 (45141) 数据 (7936 字节)

  • 接收到以下 UDP 数据包(Wireshark)

帧 3609(在线上 7978 字节,捕获 7978 字节)以太网 II,Src:0a:dc:0a:dc:0a:dc (0a:dc:0a:dc:0a:dc),Dst:广播 (00:12: d5:f6:3e:92) Internet 协议,Src:192.168.13.25 (192.168.13.25),Dst:192.168.13.250 (192.168.13.250) 用户数据报协议,Src 端口:lbc-control (2780),Dst 端口:45141 (45141) 数据 (7936 字节)

0 投票
3 回答
4218 浏览

c - UDP C 服务器没有收到数据包

我知道已经回答了相关问题,但我没有设法解决我的问题。

我有一个简单的 UDP 客户端-服务器应用程序。客户端和服务器看起来都不错,但是服务器没有从客户端接收数据包,它只是无限接收网络 ID 192(或者客户端可能没有正确发送数据包)。

我似乎无法弄清楚问题所在,地址和端口都可以,我没有任何防火墙,我什至为端口添加了一个例外,只是为了确定。如果我启动服务器,我可以看到它在正确的端口(netstat -a -s -p udp)上监听。你能告诉我什么是错的吗?

这是我的服务器代码:

我的客户代码:

0 投票
1 回答
355 浏览

networking - 以编程方式模拟数据包丢失和延迟

我有一个通过 rpc 公开其服务的服务器和一个使用这些服务的客户端。为了测试这个设置,我需要引入数据包丢失和延迟。我在stackoverflow上发现了一些技术,比如tc、修改iptables等,但它们都需要root密码来模拟丢包。有没有一种方法可以在不需要 root 密码的情况下模拟这些数据包丢失。

注意:代码是用 GO 编程语言编写的

0 投票
1 回答
3016 浏览

ip - 如何将 KDD 99 数据集转换为 tcpdump 格式?

谁能指导我将KDD 99包含ip以下格式的数据包的数据集转换为TCP转储格式?

0 投票
1 回答
1389 浏览

c# - 使用 BitArray C# 解码 IPFIX 数据包

我之前的线程之后,我似乎更接近于使用 C# 中的 UDP 侦听器和 BitArray 从 Sonicwall 防火墙解码 IPFIX 数据。

我现在在我的 BitArray 中获取数据,但它没有意义 - 我以为我会在我的数组中看到二进制但我得到的值非常不同,例如 8 - 10 个字符,有些是正的,有些是负的,并且数组的计数总是变化的。

这是我用来获取位的代码的主要部分:

有谁知道我可以解码我的 IPFIX 数据或有任何可以帮助我的指针?

提前致谢,

詹姆士


Chris 提供的代码的输出:

字节 [] 字节 = {0x00, 0x0A, 0x04, 0xB4, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x6D, 0x8F, 0xC7, 0x16, 0x2B, 0xFC, 0x00, 0x01, 0x01, 0x04, 0xAE,4, 0x 0x8F, 0xD2, 0x8D, 0xCC, 0xC8, 0x20, 0x00, 0x26, 0x99, 0xD4, 0x5F, 0xD7, 0x30, 0x37, 0xA6, 0xD6, 0xBE, 0xB9, 0x51, 0xD,45, 0xF3,6,0 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x69, 0x00, 0x50, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x07, 0xB3, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x03, 0x42, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x03, 0xC7, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x72, 0x4D, 0xAE, 0x8F, 0xD2, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x30, 0, 0x 0x10, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x01, 0x4D, 0xAE, 0x8F, 0xEE, 0x8E, 0x42, 0xF9, 0xA0, 0x30, 0x37, 0xA6, 0xD6, 0xBE, 0xB9, 0x00, 0x50, 0x56, 0800, 0x1, 0x96, 0x1 0x42, 0xFE, 0x51, 0x90, 0xF3, 0x46, 0x51, 0x90, 0xF3, 0x41, 0x51, 0x90, 0xF3, 0x41, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x85, 0x00, 0x50, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x09, 0x6E, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0xDF, 0xE1, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x04, 0x86, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x6E, 0x65, 0x4D, 0xAE, 0x8F, 0xEE, 0xE, 0x4D, 0xF, 0xF 0x31, 0x06, 0x00, 0x00, 0x00, 0x10, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x01, 0x4D, 0xAE, 0x8F, 0xF3, 0x8E, 0x5B, 0x17, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x55, 0xC0, 0xA8, 0x6F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF8, 0x23, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xAE, 0x8F, 0xF3, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x4D, 0xAE, 0x8F, 0xBE, 0x8E, 0xA0, 0xC1, 0, 0xA1, 0xDE, 0, 0xA0, 0xDE 0x2D, 0x01, 0x30, 0x37, 0xA6, 0xD6, 0xBE, 0xB9, 0x0A, 0x00, 0x01, 0x5A, 0x4A, 0xC9, 0x75, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x8F, 0x00, 0x50, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0xA4, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xAE, 0x8F, 0xBE, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x17, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x01, 0x4D, 0,60, 0x8D, 0xA 0x20, 0x1C, 0xC1, 0xDE, 0xA7, 0x2D, 0x01, 0x30, 0x37, 0xA6, 0xD6, 0xBE, 0xB9, 0x0A, 0x00, 0x01, 0x5A, 0x5D, 0xB8, 0xDD, 000, 0x00, 000, 0x00, 000, 0x 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x77, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xAE, 0x8F, 0xB6, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x03, 0x06, 0x00,0x00, 0x00, 0xC0, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x4D, 0xAE, 0x8F, 0xB6, 0x8E, 0x58, 0xD0, 0xE0, 0x1C, 0xC1, 0xDE, 0xA7, 0x2D, 0x01, 0x30, 0x37, 0xA6, 0xD6, 0xBE, 0xB9, 0x0A, 0xDA, 5, 0x01, 0xDD 0xE8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x72, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x04, 0x86, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xAE, 0x8F, 0xB6, 0x4D, 0xAE, 0x8F,0xF4, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00、0x00、0x01、0x4D、0xAE、0x8F、0xB5、0x8E、0x95、0xA4、0x60、0x1C、0xC1、0xDE、0xA7、0x2D、0x01、0x30、0x37、0xA6、0xA6、0xD6、0xA6、0xB、0xB 0x01, 0x5A, 0x40, 0x98, 0xD0, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x6E, 0x00, 0x50, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x05, 0x7E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xAE,0x8F, 0xB5, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x01, 0x4D, 0xAE, 0x8F, 0xB4, 0x8E, 0xDA, 0xAB, 0xE0, 0x1C, 0xC1, 0xDE, 0xA7, 0x2D,, 0x70, 030, 0x70, 0xD6, 0xBE, 0xB9, 0x0A, 0x00, 0x01, 0x5A, 0xD1, 0x55, 0x8F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x5F, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x02, 0x54, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x4D, 0xAE, 0x8F, 0xB4, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x17, 0x00, 0x00, 0x 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x82、0x00、0x00、0x01};

0 投票
2 回答
1218 浏览

c++ - 实现数据包超时c ++

对于一个计算机网络项目,我们正在用 C++ 编写一个具有不同窗口协议的 ftp 服务器。我们在实现工作超时功能时遇到问题。它的要点是在传输数据包时设置时间戳,如果“ack”在一定时间内(比如 2.5 毫秒)没有恢复,则重新传输数据包。我们目前使用该clock_gettime()函数来获取数据包的当前时间和时间戳。

这是我们遇到问题的while循环:

哪里ptimeout是发送数据包的时间,connection_parameters->timeoutInterval是超时间隔。问题在于,由于ptimeout是时间的长整数表示,有时它是一个非常大的值(例如 999715992)。这意味着它永远无法判断是否发生了超时,因为在值变得足够大之前,以纳秒为单位的当前时间将恢复为 0。

有没有其他人在 C++ 中处理过这些时间问题并有可能的解决方案?

谢谢!

编辑:

感谢您的快速回复!我能够弄清楚一些事情。修改while循环以检查超时+时间戳是否大于允许的长整数大小,让我看看clock_gettime在比较之前是否会变为零。知道这一点后,我检查了当前时间是否 >(超时间隔 - (最大长整数值 - 时间戳))。这允许最多 1 秒的超时,这对于这个问题来说应该是足够的。如果有人认为他们有更好的解决方案,请告诉我!谢谢!以下是感兴趣的人的代码:

0 投票
1 回答
339 浏览

java - 如何将突发数据打包成连续拨号式连接?

我正在做一个项目,我需要从 Iridium 的短突发数据服务转换突发数据(在 300 字节范围内) 。这是为了取代拨号连接,所以我需要从短脉冲中提取这些数据,并将它们转换为拨号连接的连续流。

我是一个相对缺乏经验的程序员,我唯一知道的语言是java。

我该如何转换数据?有没有关于信息包类型如何操作以及如何在java中操作它们的背景资料?

[为清楚起见编辑]

EDIT2:我不需要以相反的方式转换数据(从流到块)

0 投票
1 回答
127 浏览

connection - 跟踪程序的连接和数据包

我希望这是一个非常简单的问题。我在 Windows 上有一个编译的 .exe 程序,我知道它连接到某个 Web 服务器上的一些 php 资源并获取一些数据。它们只有一两个 KB,但我想知道的是:它连接到的 php 资源是什么?是否有任何程序能够在 Windows 上跟踪其他程序的连接?

非常感谢你!马泰奥

0 投票
3 回答
64904 浏览

udp - 网络UDP广播设计?

我正在开发一个 C++ 服务器/.NET 客户端应用程序对,其中我的服务器(在 linux 上运行 c++)广播一条消息以表明它对整个网络是活跃的,我的 .NET 程序侦听数据包并解析以获得正常运行时间服务器的。

正如我所读到的,要将常规的 UDP 广播发送到广播地址,我只需将数据包发送到 192.168.0.255(在我的情况下为 192.168.2.255)或 255.255.255.255。这是正确的吗?我可以使用相同的端口地址吗?还有其他必需品吗?

我理解这样一个事实,即如果我的 .NET 程序侦听该特定地址,则可以从我的 C++ 服务器程序以外的其他应用程序接收数据包。是否有任何方法可以在 C++ 服务器端“签名”数据包,以便我的 .NET 程序读取数据包的标头并查看它(几乎)是我正在寻找的那个?

0 投票
1 回答
3143 浏览

c++ - 发送任意(原始)数据包

我在其他地方看到过它被问到,但没有人满意地回答:我怎样才能接收和发送原始数据包?

“原始数据包”是指我必须在哪里生成所有标头和数据,以便字节完全是任意的,并且我不受任何限制。这就是为什么 Microsoft 的 RAW 套接字无法工作的原因,因为您无法发送源地址不正确的 TCP 或 UDP 数据包。

我知道你可以用 WinPCAP 发送我想要的数据包,但你不能用它接收原始信息,我也需要这样做。