解释填充线

2024-09-26 21:57:07 发布

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

我对unicode字符串没有什么经验。我甚至不确定这是否符合标准。你知道吗

在任何情况下,我使用nmap并运行:

# nmap -sV -O 192.168.0.8 

在我的局域网里的一个盒子里。Nmap在从开放端口返回的几行上生成了一个字符串,但由于其格式的原因,我无法理解很多输出。例如,一个小片段如下所示:

-Port8081-TCP:V=6.00%I=7%D=10/20%Time=52642C3A%P=i686-pc-linux-gnu%r(FourOhFourRequest,37,"HTTP/1\.1\x20503\x20Service\x20Unavailable\r\nContent-Length:\x200\r\n\r\n")%r

我的第一个想法是需要解码的URL编码,但那是不正确的。看起来像是串行通信的填充?任何能够解释“\x200”或“\x20503”或其他经常显示的字符的人都是“x\20”。你知道吗

我考虑编写一个小的Python脚本来接收整个字符串并使用以下命令转换为ASCII:

>>> s = '<STRING>'
>>> eval('\x20"'+s.replace('"', r'"')+'"').encode('ascii')

我走对了吗?你知道吗


Tags: 端口字符串格式unicode情况原因经验nmap
2条回答

您看到的字符串是服务指纹。它包含接收到Nmap发送的各种探测的响应。如果您认为响应中有识别信息,请submit the fingerprint到Nmap项目以改进将来的检测。你知道吗

更有可能的情况是,服务没有发送任何有用的信息。例如,您给出的示例没有标识HTTP服务器的Server:头。你知道吗

回答如何转动这根弦的技术问题:

"HTTP/1\.1\x20503\x20Service\x20Unavailable\r\nContent-Length:\x200\r\n\r\n"

在非scaped版本中,可以执行以下操作:

>>> print mystring
"HTTP/1\.1\x20503\x20Service\x20Unavailable\r\nContent-Length:\x200\r\n\r\n"
>>> print mystring.decode('string-escape')
"HTTP/1\.1 503 Service Unavailable
Content-Length: 0

"

由于前面的“x”,这些数字使人想起了十六进制值。 我知道十六进制值实际上是以'0x'开始的,而不仅仅是x,但我认为值得用google搜索它们作为十六进制值,前面有'0x'。我确实得到了一整页的搜索结果,其中似乎包含这三个值(也许不可避免地,三个随机值会出现在某个地方,但再次,也许不是):

0x200, 0x20503, 0x20

很抱歉,这不是一个这样的答案,但我想我会提到它,因为你没有提到尝试在你的职位。我想发表评论,但由于某些原因,该选项不可用。。。你知道吗

相关问题 更多 >

    热门问题