您好,这对我来说是个谜。我们公司有一个 FTP 服务器,有些帐户有时会因为使用错误密码重复登录而被锁定。我试图在 ftp 日志文件 (u_ex160330.log) 中搜索,但不知道它是否记录在那里,我该如何找到它。包含用户名和 PASS 命令的行表示用户正在进行身份验证,但我如何查看失败的时间?该日志中没有“错误”或“失败”。我以为成功登录意味着下一行具有相同用户名的行包含 SYST 命令,但有数百个用户,因此来自不同用户名的行到处都是,所以我必须制作一些疯狂的脚本逻辑来浏览它,但无论如何,我不知道要寻找什么。谷歌搜索比写这篇文章花了我更多的时间,所以我认为直接询问会更有效 ;-) 谢谢
答案1
我希望我正确理解了你的问题。
您可以通过选择 W3C 字段来自定义您的 FTP 日志。
首先,请确保您已启用 FTP 扩展功能,方法是在“程序和功能”中搜索它,或者在提升的 PowerShell 中运行此命令:
get-windowsfeature Web-Ftp-Ext | select InstallState
如果它没有返回“已安装”,请使用
get-windowsfeature Web-Ftp-Ext | Add-Windowsfeature
安装该功能。
在您的 IIS 管理器中,在您的 FTP 站点级别,您应该会看到一个名为“FTP 日志记录”的选项。双击该选项,然后在“日志文件滚动更新”部分单击“选择 W3C 字段”并激活您想要记录的所有内容(例如 ip 地址)。
默认情况下,日志信息存储在%SystemDrive%\inetpub\logs\LogFiles
。如果您将日志路径更改为其他位置,则需要找到自定义日志路径。
如果此日志记录不足以收集您想要的信息,我建议收集 FTP 会话的跟踪。您需要 logman 和 logparser 来完成此任务。有了它,您应该能够获取您的身份验证错误。
logman 和 logparser 会告诉您错误发生的确切时间/地点,并提供针对此场景的正确错误代码。
有关如何使用 logman 和 logparser 的详细信息: http://blogs.iis.net/sudt/collecting-etw-traces-for-ftp-sessions