【问题标题】:Keep getting GET requests on my TCP server不断在我的 TCP 服务器上收到 GET 请求
【发布时间】:2019-05-22 12:26:35
【问题描述】:

我在 python 中使用非标准端口制作了一个 TCP 服务器/侦听器脚本,主要用于测试和学习。我不断收到这些看似随机的 GET 请求,如下所示:

GET /setup/index.jsp HTTP/1.1
User-Agent: curl/7.35.0
Host: xxx.xxx.xxx.xxx:yyyy
Accept: */*

我一直在阅读有关 cURL 和 HTTP 请求的信息,据我所知,它会尝试请求文件。

但这还不是全部,因为它还包含一些在我将请求粘贴到此处时未呈现(未显示)的字符。当我得到它来打印我得到的输入时,python 输出如下所示:

这些请求的目的是什么?方形字符是不是什么都不是?

问候

【问题讨论】:

  • 也许您有一个使用该端口的程序?我最好的猜测是您打开服务器的端口可能与该程序相同,因此您收到的是这些请求而不是该程序。
  • @EmanuelL 我做了一个 netstat -lptn,除了我正在运行的 python 脚本之外,我没有找到任何使用该端口的程序。会不会有一些程序没有出现在 netstat 上?我在树莓派上运行,端口是 9090。

标签: python curl tcplistener get-request


【解决方案1】:

他们是扫描仪。通常是病毒或黑客在寻找易受攻击的服务器。您一直看到的奇怪 [] 似乎是 \r\n 标头分隔符,您的终端似乎在显示 \r\n 样式的换行符时出现问题。

它试图请求一个文件。

正确,这里它尝试获取文件/setup/index.jsp - 很可能存在一个服务器,该服务器具有可以从该特定文件中检测到的漏洞,如果您碰巧在服务器上有该文件,扫描仪会最有可能发起攻击,试图通过/setup/index.jsp 侵入您的服务器

这些请求的目的是什么

增加他们的僵尸网络的规模(人们为访问大型僵尸网络支付高额费用以进行 DDoS 攻击、IP 欺骗等),寻找有价值的信息(服务器是否用于存储信用卡信息?),诸如此类.

方形字符是不是什么都不是?

奇怪的字符是回车字符,看来您的终端有问题,或者您的 python 程序在将 CrLf 打印到终端之前损坏了它们。 (您可以将输出通过管道传输到文件,然后在十六进制编辑器中查看输出以确认 - 如果十六进制编辑器说换行符是 0D 0A,则您的终端有回车问题,但如果不是 0D 0A,您的 python 应用程序在将数据打印到终端之前损坏了数据。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 2013-07-19
    • 2016-11-14
    • 1970-01-01
    • 2016-03-26
    相关资源
    最近更新 更多