【问题标题】:How to discourage TCP port scanners?如何阻止 TCP 端口扫描程序?
【发布时间】:2019-06-12 12:57:59
【问题描述】:

我有许多自定义应用程序充当服务器,接受 TCP 连接。它们不是网络服务器,也不会说 http;这都是自定义协议。它们对世界开放,尽管通常在不起眼的港口。而且它们经常被探测,我认为主要是扫描仪试图找到无人看管的网络服务器。

我正在努力想出最好的方法来阻止这种情况。检查第一个到达的令牌是 GET 或 POST 等对我来说是微不足道的,这不是我的任何自定义协议的一部分,因此表明我正在被扫描仪戳。我想让尝试这样做的人感到不安,只是作为一项公共服务。

我不熟悉扫描仪中使用的代码,我希望这里有人。理想情况下,我可以回复一些东西来使扫描仪崩溃、混淆它或浪费它的时间。

限制是,我宁愿不必让套接字打开很长时间。如果我这样做,有人可能会以数百个连接进行响应,从而导致 DoS。

到目前为止,我已尝试使用 308(永久重定向)回复 CIA 的网站。但是端口扫描器可能会跟随重定向吗?

我已尝试使用格式错误的 UTF-8 发回请求正文,希望有人处理得不好。但我无法知道这有多有效。

我当前发回的字符串是:

"HTTP/1.1 308 I'm a teapot. And you're an annoyance.\r\n"
"Content-Type: text/html; charset=utf-8\r\n"
//"Content-Length: 7673\r\n" //ugh, browser makes connection linger
//send him somewhere nice:
"Location: https://www.cia.gov\r\n"
"\r\n"
//make the body incomplete, ill-formed trash
"<html \xF0\x9F\x96\x95 \xf3\xf3\xf3\xf3\xf3\xf3\xf3\xf3\xf3\xf3"

我的问题很简单,是“有没有更好的方法?”这一定是人们经常处理的问题。我最好关闭连接,还是喷出二进制垃圾......?注意:我在运送病毒软件时划清界限。我的用户极有可能错误地将浏览器指向这些端口。

【问题讨论】:

    标签: tcp port


    【解决方案1】:

    我对这个问题没有寄予厚望,而且回复程度符合预期。因此,我将宣布我的微不足道的发现 - 扫描仪的重复访问通常相当罕见,但发送格式不正确的响应似乎比什么都不做或重定向到 CIA 更有可能阻止重复访问者的 10%。这是基于小样本量的,所以不要认为它很有价值。

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 2022-01-19
      • 2013-11-28
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多