(python)使用十六进制文字试图转换为字符串、int或任何内容

2024-06-28 19:04:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个任务,在这个任务中,我们必须模拟在我们创建的dns服务器上的kaminski攻击。我正在尝试生成伪造的dns响应包负载。使用dnslib生成一个包,然后将结果打包。这给了我一个十六进制文字:

'\xcf\x90\x85\x80\x00\x01\x00\x01\x00\x00\x00\x03abc\x03com\x00\x00\x01\x00\x01\x0\x0c\x00\x01\x00\x01\x00\x00\x00\x00\x04\x01\x02\x03\x04'

我不相信这是有效载荷数据的正确格式。具体来说,我想我需要去掉所有的“\x”,这样我的流将 比照90 85 80。。。

不幸的是我好像做不到。字符串操作工具似乎无法处理文字,通常的文字转换(文字计算)失败,并出现错误:

TypeError: compile() expected string without null bytes

我尝试过的其他转换(int(packet,0))失败,因为部分文本是文本(导致奇数长度)。

可能有一个非常简单的解决方案,有什么帮助吗?


Tags: 文本服务器dns文字x00x04x01xcf