我正在使用https://github.com/rapid7/smbj-rpc库来获取本地网络中所有计算机的共享smb目录。现在,我需要处理每台计算机具有本地用户帐户(没有活动目录)的网络。但是,将来,我还需要将其概括起来:-
a)识别给定的IP地址是在工作组中还是在域中,以及 b)获取用于身份验证的正确的域值。
因此,我正在寻找以上信息以及如何使用Java获取信息。下面的示例代码段:
final SMBClient smbClient = new SMBClient();
Session session = null;
RPCTransport transport;
try (final Connection smbConnection = smbClient.connect(ip)) {
final AuthenticationContext smbAuthenticationContext = new AuthenticationContext(user,
password.toCharArray(), "what_domain_to_pass\\?");
session = smbConnection.authenticate(smbAuthenticationContext);
我尝试了标准的Java api:
InetAddress inetAddress = InetAddress.getByName(ip);
String hostName = inetAddress.getHostName();
但我不确定这是否正确。