Я заметил пару (якобы -) безобидных записей в журнале, и - надо признать, я сильно над этим задумываюсь - мне стало любопытно узнать о размерах ответов Apache2.
Этот украинский краулер † поразил моего веб-демона, через две секунды запросив дубликат. Apache2 ответил 41298 байтами, а затем 41244 байтами.
У меня вопрос:
Почему размеры ответов разные -всего на 54 байта- для того же URL?
Я не настраивал объявления кэша Apache по умолчанию. Если что-то мы в кэше, я бы ожидал разницу около 100% запрошенного содержимого (или, по крайней мере, более 0,01%).
Все, о чем я могу думать, - это небольшой файл - крошечный файл GIF или .css? - это необъяснимо единственный кэшированный компонент, но поиск файлов такого размера не дал результатов:
find . -type f -size -55c -size +53c
... поиск 53 или 55 находит небольшие файлы .GIF, а расширение на несколько байтов дает намного больше. Расширяя это предположение угадайте, "отсутствующие" данные ответа могут быть файлом и соответствующий путь - но это кажется противоречащим тому, как я думал, что кеширование работает.
Что я здесь вижу?
ДОПОЛНИТЕЛЬНЫЙ
Это только две записи:
# grep -r 46.119.77.28 /var/log
/var/log/apache2/example.com-access.log:46.119.77.28 - - [26/Apr/2020:19:56:20 -0600] "GET / HTTP/1.0" 200 41298 "http://www.example.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.64 (Edition Yx)"
/var/log/apache2/example.com-access.log:46.119.77.28 - - [26/Apr/2020:19:56:22 -0600] "GET / HTTP/1.0" 200 41244 "http://www.example.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.64 (Edition Yx)"
† Примерно девятью часами ранее он поразил один из моих других серверов, а вскоре после этого - еще один. Хотя он не занимается активным поиском уязвимостей, он явно сканирует Интернет, поэтому я заблокировал его из принципа - нет необходимости в немедленном или запланированном индексировании за пределами США.
Пытаться wireshark
или tcpdump
для захвата сетевого трафика. Должно быть достаточно легко посмотреть на оба ответа и найти разницу.
Возможно, заголовки ответа немного изменились. Некоторые заголовки меняются в зависимости от клиентов и времени.