Portscanner 产生可能的错误

Portscanner producing possible error

我在python中写了一个简单的portscanner。我已经问过了,你可以找到代码 here.

我更正了代码,现在可以创建一个连接,例如Whosebug.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'

我想了解最后一行的意思(第一行对我来说很清楚)。好像是服务器的响应,不过这个"bad request"是什么意思?

referenced script

  • 建立到目标端口的连接
  • 通过网络发送字符串 'ExploitMessage\r\n' 并且
  • 从服务器读回最多 100 个八位字节。

鉴于 Port 80 is reserved for HTTP,可以安全地假设另一端有一台服务器使用该协议。

嗯,正确的 HTTP 请求都以 request line 形式开头:

request-line = method SP request-target SP HTTP-version CRLF

'ExploitMessage\r\n' 不符合那个,因此服务器遵循 RFC:

Recipients of an invalid request-line SHOULD respond with either a 400 (Bad Request) error or a 301 (Moved Permanently) redirect with the request-target properly encoded

您返回的内容匹配截断的 HTTP response 信号错误:

HTTP/1.1 400 Bad Request
Date: Sat, 09 Sep 2017 18:16:50 GMT
Server: Apache/2.4.7 (Ubuntu)
Conten