Обратный поиск DNS отключен внутри Apache, теперь я хочу видеть, откуда берутся IP-адреса в журналах. Как я могу легко преобразовать IP-адреса моих старых журналов Apache в имена хостов?
Apache по умолчанию поставляется с logresolve; отдельная программа пост-обработки для разрешения IP-адресов в лог-файлах доступа Apache.
logresolve [ -s statistics-filename ] [ -c ] < access_log > access_log.new
Обычно использование постобработки значительно эффективнее, чем позволить Apache выполнять обратный поиск DNS для каждого запроса.
Вы можете выполнить обратный поиск DNS с помощью dig
команда:
dig +short -x <IP-ADDRESS>
Вы получите обратно имя хоста системы с указанным IP-адресом, однако то, каким будет это имя хоста, зависит от того, как настроены записи PTR для домена. Другими словами, вы не должны ожидать возврата какого-либо конкретного имени хоста.
Что касается журналов Apache, поскольку HBruijn уже упоминалось, вы можете использовать logresolve
или вы можете написать собственный сценарий для сканирования файла журнала, извлечения IP-адреса, выполнения обратного поиска и вывода всей информации в требуемом формате. Какое решение вы выберете, зависит от того, чего вы пытаетесь достичь. logresolve
ожидает, что IP-адрес будет первым в каждой строке и будет отделен от оставшейся части строки пробелом, что может быть или не иметь место в ваших файлах журнала.