我在python中编写了一个简单的portscanner。我已经问了一些关于它的问题,你可以找到代码here。
我更正了代码,现在可以创建与例如stackoverflow.net
但我得到的输出或多或少对我来说很神秘:
[+] Scan results for: li547-15.members.linode.com , 198.74.50.15
[+]80/tcpopen
[+] b'HTTP/1.1 400 Bad Request\r\nDate: Sat, 09 Sep 2017 18:16:50 GMT\r\nServer: Apache/2.4.7 (Ubuntu)\r\nConten'
我想了解最后一行的含义(第一行对我来说非常清楚)。它似乎是服务器的响应,但这个“坏请求”的东西是什么意思?
答案 0 :(得分:1)
'ExploitMessage\r\n'
和鉴于Port 80保留HTTP,似乎可以安全地假设服务器在另一端说出该协议。
嗯,正确的HTTP请求都以request line格式开头:
request-line = method SP request-target SP HTTP-version CRLF
'ExploitMessage\r\n'
不符合要求,因此服务器遵循RFC:
无效请求行的收件人应该以a响应 400(错误请求)错误或301(永久移动)重定向 请求目标正确编码
您收到的内容与截断的HTTP response信号错误相符:
HTTP/1.1 400 Bad Request
Date: Sat, 09 Sep 2017 18:16:50 GMT
Server: Apache/2.4.7 (Ubuntu)
Conten