【问题标题】:Listener gets pinged with possibly malicious packets. How to prevent IPs from accessing my port?侦听器被可能的恶意数据包ping通。如何防止 IP 访问我的端口?
【发布时间】:2019-02-16 18:24:08
【问题描述】:

我正在开发套接字级别的服务器-客户端服务。我的服务器收到随机数据包的垃圾邮件。我需要一种方法来区分好 IP 和坏 IP,但我不知道所有好的 IP,所以白名单/黑名单不起作用。

服务器管理所有客户端的列表,并通知所有客户端当前的客户端队列。当第一个客户端采取行动时,它会向服务器发送一个肯定的回复,并且服务器会推进队列。扫描传入数据包数据的过滤器可以工作,但我不确定是否有可能捕获所有攻击(普通字母,',','。'和数字必须被绕过,因为这可能是一个有效的客户)。

今天我得到了这个控制台输出(很抱歉格式化和剪切异常,这个非常好的网站认为以下是代码并希望我使用一些我无法解决的任意缩进,所以我只是删除了一些东西,直到它不再认为它是代码)

收听:4444

连接地址('198.108.67.48', 53556)

我是:\r\n

收听:4444

连接地址:('198.108.67.48', 62346)

我是:GET / HTTP/1.1\r\n主机

在 4444 上收听

activeDisps[['198.108.67.48', '\r\n'], ['198.108.67.48', 'GET / HTTP/1.1\r\nHost']]

ValueError: int() 以 10 为底的无效文字:'z\xc2\x00\x00 \xc0/\xc00\xc0+\xc0'

连接地址('198.108.67.48', 7204)

我是\x16\x03\x01\x00\x89\x01\x00\x00\x85\x03\x03\xcf\xef\x1f\xea\xe5\x11\x88\xba\x86

在 4444 上收听

activeDisps[['198.108.67.48', '\r\n'], ['198.108.67.48', 'GET / HTTP/1.1\r\nHost'], ['198.108.67.48', '\x16 \x03\x01\x00\x89\x01\x00\x00\x85\x03\x03\xcf\xef\x1f\xea\xe5\x11\x88\xba\x86']]]

【问题讨论】:

    标签: python self-hosting


    【解决方案1】:

    我找到了一个可行的解决方案:由于恶意数据包似乎都包含非字母数字字符,我可以对接收到的数据运行模式匹配来确定它是否是有效的客户端:

    import re
    
    pattern = re.compile("^([0-9]\*\w+[0-9]\*)+$")
    
    while True:
    
            clientName=''
    
            conn, addr = myPorts[0].accept()
    
            try:
    
                data = conn.recv(BUFFER_SIZE)
    
                dataStr=str(data)
    
                nameStr=dataStr.split("'")[1]
    
                clientName=nameStr.split(",")[0] #This is my own protocoll, might be different for you
    
            except:
    
                print("Connection failed")
    
            if pattern.match(clientName):
    
                listeningThread = threading.Thread(target=myListener, args=(conn, [addr[0], clientName]))
    
                listeningThread.daemon = True
    
                listeningThread.start()
    
            else:
    
                conn.close()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      相关资源
      最近更新 更多