Супер-акция от Inferno Solutions! Получи 30$ на халяву и забудь об оплате VPS на все лето!
При анализе загрузке транспортных серверов Exchange одним из интересных показателей будет просмотр IP адресов, которые подключаются к вашему серверу чаще всего.
Для данного анализа вы можете использовать следующие различные наборы лог-файлов:
Лог протокола (Protocol logs)
Журнал отслеживания сообщений (Message Tracking logs)
Их различие заключается в том, что в лог протокола записываются все SMTP подключения, которые далее могли попасть в очередь транспорта, а могли и не попасть. К примеру, все подключения спамеров, которые далее были заблокированы IP фильтрами попадут в лог протокола, но будут отсутствовать в журнале отслеживания сообщений.
Если вы откроете лог протокола, то увидите там все те же команды, которые вы можете вручную использовать при тестировании SMTP через telnet.
В журнал отслеживания сообщений попадают все сообщения, которые обрабатываются транспортным конвейером и туда записывается информация о приеме сообщения и доставке, а не сам SMTP диалог между клиентом и сервером.
Также журнал отслеживания сообщений включен по умолчанию и работает на на уровне сервера, тогда как логирование протокола по умолчанию выключено и применяется на уровне коннектора.
Получение списка самых частых отправителей из лога протокола с помощью Log Parser
Для получения данного списка используем следующий запрос в Log Parser.
SELECT EXTRACT_PREFIX(remote-endpoint,0,':') as IP,
REVERSEDNS(EXTRACT_PREFIX(remote-endpoint,0,':')) as Name,
Count(*) as Hits
FROM *.log
WHERE data LIKE '%EHLO%'
GROUP BY IP
ORDER BY Hits DESC
Для получения нужного результата запрос нужно выполнять из директории с соответсвующими логами (в моем случае это C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive):
"C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT EXTRACT_PREFIX(remote-endpoint,0,':') as IP,REVERSEDNS(EXTRACT_PREFIX(remote-endpoint,0,':')) as Name,Count(*) as Hits from *.log WHERE data LIKE '%EHLO%' GROUP BY IP ORDER BY Hits DESC" -i:CSV -nSkipLines:4 -rtp:-1
Это означает, что только подсчитываются только те записи из лога, где встречается EHLO. Если вы уберете данное значение, то в показатель “Hit” попадет каждая строка содержащая удаленный IP.
Получение списка самых частых отправителей из журнала отслеживания сообщений с помощью Log Parser
Для данного лог формат будет немного отличаться, т.к. в нем изменены имена полей.
SELECT client-ip as IP,
REVERSEDNS(client-ip) as Name,
Count(*) as Hits
FROM *.log
WHERE (event-id='RECEIVE')
GROUP BY IP
ORDER BY Hits DESC
Соответственно по аналогии с первым примером запускать запрос нужно из директории C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking
"C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT client-ip as IP,REVERSEDNS(client-ip) as Name,Count(*) as Hits from *.log WHERE (event-id='RECEIVE') GROUP BY IP ORDER BY Hits DESC" -i:CSV -nSkipLines:4 -rtp:-1
Вы можете использовать данную информацию в самых разных сценариях, начиная от расследования причин загрузки или планирования увеличения числа серверов.
Оставьте комментарий!