Я использовал Стремясь к жизни веб-сайт для его запросов IIS FTP LogParser 2.2. Моя единственная проблема заключается в том, что я не могу объединить два запроса, которые возвращают как успешный вход, так и имя их учетной записи. Кто-нибудь может помочь?
Это возвращает пользователей, которые вошли в систему
logparser "выберите cs-uri-stem, count (cs-method) из ex * .log, где cs-method как '% USER' group by cs-uri-stem order by count (cs-method), cs-uri-stem "
Это возвращает все успешные входы по IP.
logparser "выберите c-ip, count (sc-status) из ex * .log, где sc-status = '230' сгруппируйте по c-ip, порядок по счету (sc-status), c-ip"
Как я уже сказал, я хотел бы получить лучшее из обоих миров. Заранее спасибо!
Ладно.
Итак, давайте разделим его на более мелкие части в зависимости от того, какие данные нам нужны и на которые мы смотрим.
Это дает нам в качестве основы следующее:
logparser "select cs-uri-stem, cs-method, c-ip from \\192.168.1.104\wwwroot\ex*.log"
Исходя из наших условий, мы имеем следующее:
logparser "select cs-uri-stem, cs-method, c-ip, sc-status from \\192.168.1.104\wwwroot\ex*.log where cs-method like '%USER'"
logparser "select cs-uri-stem, cs-method, c-ip, sc-status from \\192.168.1.104\wwwroot\ex*.log where sc-status = '230'"
Теперь, если вы сделаете это, вы увидите проблему; cs-метод, такой как '% USER', возвращает sc-статус 331, поэтому, если мы попытаемся объединить их, это просто не сработает.
Код состояния 230: «Пользователь вошел в систему, продолжить» - http://support.microsoft.com/kb/318380 - в то время как 331 просто говорит, что имя пользователя в порядке.
Итак, давайте сделаем шаг назад и посмотрим на журнал, когда пользователь входит в систему. В cs-username, поскольку они аутентифицированы, будет подставлено имя учетной записи, которую они используют.
logparser "select cs-username, cs-method, c-ip, sc-status from \\192.168.1.104\wwwroot\ex*.log where sc-status = '230'"
Значит, это должно быть то, что мы хотим:
logparser "select cs-username, c-ip, count(*) from \\192.168.1.104\wwwroot\ex*.log where sc-status = '230' group by cs-username, c-ip order by count(*), cs-username, c-ip"
На основе сканирования файла - http://media.jamesrskemp.com/articles/IIS6FTPSample.log.txt - похоже, это правильно.
Это помогает?
И еще раз взглянув на мой пост, я понял, что упущено было то, что первое помогает «определить, какие имена пользователей использовались для входа в систему, или попробуйте войтина FTP-сайт ». Если вы выполните поиск FTPUser3 в моем примере журнала выше, вы увидите, что IIS возвращает 331, хотя я не создавал учетную запись FTPUser3. По-видимому, в целях безопасности кажется, что IIS 6 FTP в любом случае возвращает 331.