gpt4 book ai didi

python - 套接字流量字节重复(?)

转载 作者:行者123 更新时间:2023-11-30 04:03:06 24 4
gpt4 key购买 nike

我会尽量保持简洁。我正在使用原始二进制网络跟踪,我正在针对可以解析其内容的服务进行重播。我粗糙的 python 客户端是这样工作的:

with closing(Telnet('localhost', 5001)) as conn, open(fname, 'rb') as trace:
for seq, source, packet in split(trace):
conn.write(packet)

这(大部分)按预期工作。它是在 C++ 中接收的,代码如下所示:

string temp(8192, '\0');
int status = ::recv(socket, &temp[0], 8192, 0);

问题仅针对重复的字节序列 ff 进行演示。一个 21 字节的数据包有效:

Send: 000000150000000e00000001000000050005d6e480
Recv: 000000150000000E00000001000000050005D6E480

一个 29 字节的数据包不是 - 它被接收为 30 字节:

Send: 0000001d0000000e000000010000000d000dd63380f400ff0000030203
Recv: 0000001D0000000E000000010000000D000DD63380F400FFFF0000030203

一个 53 字节的数据包也失败,在远程端报告 57 字节:

Send: 000000350000000e00000001000000250008d68f001600000008d633000c0001000ed68f001700003840ffffffff0007d68f80f300
Recv: 000000350000000E00000001000000250008D68F001600000008D633000C0001000ED68F001700003840FFFFFFFFFFFFFFFF0007D68F80F300

具有更任意的序列,以及由此产生的接收方:

Send: 54ff68ff69ff73ff20ff69ff73ff20ff61ff20ff74ff65ff73ff74ff2e # chr(255).join('This is a test.') - length 29.
Recv: 54FFFF68FFFF69FFFF73FFFF20FFFF69FFFF73FFFF20FFFF61FFFF20FFFF74FFFF65FFFF73FFFF74FFFF2E // length 43

哇?

最佳答案

此问题与 telnet 协议(protocol)有关。字节 0xff means in telnet解释为命令 IAC,它位于 telnet 命令之前。例如:

IAC BRK 0xff 0xf3
IAC EL 0xff 0xf8

序列 0xff 0xff 用于转义此 IAC 以发送 0xff

关于python - 套接字流量字节重复(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24691610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com