我正在Lubuntu上使用Java程序,该程序通过Wi-Fi LAN备份Windows计算机。我需要使用PC-NAME而不是IP地址访问他的Windows共享文件夹。我该怎么办?
我正在使用cifs utils来实现这一目的,并且对于永久挂载,它位于 / etc / fstab :
//PCName/ShareF /media/PCName/ShareF cifs credentials=/home/user/.myrcre
但是我得到这个错误:
mount error: could not resolve address for PCName: Unknown error
我需要通过其名称而不是IP地址访问Windows PC ,因为我不想设置静态IP,因此IP地址有时会更改。无论服务器或客户端是否关闭,我都需要永久安装它。
也许,这是另一种可能性,例如Java代码可以从PCName获取IP地址,但是我不知道为什么。找不到任何东西。
谢谢您的回答。
答案 0 :(得分:1)
首先,Lubuntu需要知道谁是 PCName ,因此从终端ping它并验证:
ping PCName
如果可以将PCName解析为XXX.YYY.KKK.ZZZ,则可以安装它。
如果您无法解析名称,那么Lubuntu无法安装未定义的网络资源,我想这是您的情况:
安装错误:无法解析PCName的地址
这是一个网络问题,而不是编程问题。
网络中是否有域服务器或DNS服务器?
如果有,请在您的Lubuntu PC上将DNS服务器设置为该IP,然后尝试再次解析PCName。 Lubuntu将能够解析向服务器询问的PCName(DNS或DC)。
您是否可以访问DHCP服务器(我认为是在路由器上)?
如果有,可以将PCName的MAC地址映射到特定的固定地址。您的Windows PC仍处于DHCP中,但始终收到相同的IP。
在Lubuntu上的 / etc / hosts 中添加一行,技巧就完成了。
您不能应用这些解决方案吗? ARP扫描
如果您知道Windows PCName的mac地址,则可以在网络上进行ARP扫描。
您将收到一个映射IP-> MAC,因此从MAC获得IP。现在,您可以通过其IP挂载PCName。
如果防火墙,防病毒软件或IPS阻止arp扫描,则此解决方案可能会失败。
请记住:您可以将所有linux命令都抛出Runtime.exec
,阅读this其他问题。如果您可以在Linux中进行操作,则可以在Java中进行操作