any *nix distro
What You'll Need:
In a heterogeneous LAN it is often useful to resolve network addresses by a computer's name (ie. netbios name). This is especially true if the LAN does not have a DNS server so that host names can be used instead of IP addresses (which if dynamically assigned, could change often).
To enable Windows netbios name resolution from a Linux computer, make sure that Samba is installed (although the smb service does not need to be running). The Samba suite includes winbind, which enables Windows host names to be resolved.
Then edit /etc/nsswitch.conf and change this line:
hosts: files dns
hosts: files dns wins
Then test by pinging the computer name of Windows machine on the LAN:
$ ping windowsbox PING windowsbox (192.168.0.100) 56(84) bytes of data. 64 bytes from 192.168.0.100: icmp_seq=1 ttl=128 time=0.117 ms 64 bytes from 192.168.0.100: icmp_seq=2 ttl=128 time=0.127 ms 64 bytes from 192.168.0.100: icmp_seq=3 ttl=128 time=0.127 ms 64 bytes from 192.168.0.100: icmp_seq=4 ttl=128 time=0.127 ms 64 bytes from 192.168.0.100: icmp_seq=5 ttl=128 time=0.128 ms
This setting really comes in handy when mounting a shared folder of a dynamically IP'ed Windows box from Linux. Instead of using the Windows' box IP address, just specify it's netbios name. Example entry in /etc/fstab:
//windowsbox/my_share/ /mnt/my_mount_point/ cifs rw,username=xxx,password=xxx,domain=xxx 0 0