Portscanner产生可能的错误

时间:2017-09-09 18:19:24

标签: python port-scanning

我在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'

我想了解最后一行的含义(第一行对我来说非常清楚)。它似乎是服务器的响应,但这个“坏请求”的东西是什么意思?

1 个答案:

答案 0 :(得分:1)

referenced script

  • 建立与目标端口的连接
  • 通过电汇发送字符串'ExploitMessage\r\n'
  • 从服务器读取最多100个八位字节。

鉴于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