![如何获取尝试连接的 iSCSI 启动器的 IP 地址](https://linux22.com/image/793549/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E5%B0%9D%E8%AF%95%E8%BF%9E%E6%8E%A5%E7%9A%84%20iSCSI%20%E5%90%AF%E5%8A%A8%E5%99%A8%E7%9A%84%20IP%20%E5%9C%B0%E5%9D%80.png)
有一台配置了 iSCSI 目标的 Windows Server,事件日志不断填充如下消息:
iSCSI initiator iqn.1994-05.com.redhat:bdbcb04e20b1 requested an invalid iSCSI target: iqn.2005-10.org.freenas.ctl:target0. The login request was rejected.
每秒都会出现新消息。
之前曾有人尝试在现在用于 Windows 的 IP 地址上配置 FreeNAS。没有人记得是否有人尝试导出任何目标并在其他地方连接到这些目标。名称iqn.1994-05.com.redhat:bdbcb04e20b1
并没有告诉我们任何事情。我们找不到获取有关此事件的更多信息的方法。
问题是:如何知道IP 地址试图登录的假定发起者?
我们在 Windows 日志中没有找到任何有关 IP 地址的信息,只有名称。我甚至可以使用 Wireshark 捕获流量,但这太糟糕了。我想知道为什么微软从日志中省略了这些重要信息?
更新:又有一名员工出现了,他记得那个启动器可能是什么,所以我们找到了那个系统并移除了(未连接的)iSCSI 目标。消息流停止了。这解决了原来的问题。
但是,这并不能解决在 Windows 事件日志中记录发起方 IP 地址的根本问题。正如我所说,流量捕获不是一种“解决方案”,而是一种丑陋的变通方法;它可以帮助识别来源当没有其他办法时但在繁忙的服务器上使用这种解决方法会导致性能问题。因此,我认为这个问题的答案不太令人满意。
答案1
仅使用 Windows 内置工具,无需其他软件,一个简单的方法netstat -n | find ":3260"
就可以解决问题。假设未经授权的主机快速打开和关闭套接字连接,则该源 IP 应该有大量 FIN_WAIT 状态。
此外,iqn.1994-05.com.redhat
显然还表示 RHEL 服务器。
答案2
Get-IscsiConnection
应该会给你你需要的信息。
您还可以尝试过滤目标Get-IscsiConnection -IscsiTarget iqn.2005-10.org.freenas.ctl:target0
答案3
TCPView 有您的答案。启用它并监视 3260 iSCSI 端口的传入连接。
https://learn.microsoft.com/en-us/sysinternals/downloads/tcpview
答案4
要跟踪尝试连接的 iSCSI 启动器的 IP 地址,您可以使用 Windows 事件查看器以及 iSCSI 软件启动器日志。请按照以下步骤操作:
打开事件查看器:
按 Win + X 并从菜单中选择“事件查看器”。导航到应用程序和服务日志 > Microsoft > Windows > iScsiPrt > 操作。过滤事件:
在右侧窗格中,单击“过滤当前日志...”。按事件来源过滤:iScsiPrt。按事件 ID 过滤:42。查看事件详细信息:
对于每个事件,查找启动器节点名称或目标名称字段。启动器节点名称通常包含 iSCSI 启动器的 IQN。此外,检查连接信息字段,其中可能包含 IP 信息。不幸的是,Windows 日志可能并不总是直接包含 IP 地址。如果日志没有提供足够的详细信息,您可能确实需要使用 Wireshark 进行数据包捕获。
要捕获 iSCSI 流量:
在 Windows Server 上安装 Wireshark。通过 iscsi 过滤流量。分析特定启动器 IP 地址的数据包。
我希望这有帮助。