Я разрабатываю службу сервер-клиент на уровне сокетов.Мой сервер получает спам со случайными пакетами.Мне нужен способ различения хороших и плохих IP-адресов, но я не знаю всех хороших IP-адресов, поэтому белый / черный список не работает.
Сервер управляет списком всех клиентов и информирует всех клиентов о текущей очереди клиентов.Когда первый клиент действовал, он отправляет положительный ответ на сервер, и сервер продвигает очередь.Фильтр, который сканирует данные входящего пакета, может работать, но я не уверен, если это возможно, чтобы перехватить все атаки именно с этим (обычные буквы, ',', '.' И цифры должны быть обойдены, так какэто может быть действительный клиент).
Сегодня я получил этот вывод на консоль (извините за форматирование и вырезание исключений, этот очень хороший веб-сайт думает, что следующее - это код, и хочет, чтобы я использовал некоторые произвольные отступы, которые яне могу решить, поэтому я просто удалил что-то, пока он больше не думал, что это код)
прослушивание: 4444
Адрес подключения ('198.108.67.48', 53556)
Я: \ r \ n
прослушивание: 4444
Адрес подключения :( '198.108.67.48', 62346)
Я: GET / HTTP/1.1\r\nHost
прослушивание 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' ]]