I'm testing this application in our small office which has a mix of Windows and Linux Desktops and Servers. I've noticed that my Windows machines when scanned come back with a hostname but my Linux machines don't.
I have a Security Router which has my DHCP and DNS server. I do have a mix of using our DHCP server for saving IP by MAC address and I have some servers/desktops with a static IP on their individual NICS.
Where does netscanner get the hostname from? Do the Linux machines broadcast their hostname or is this something my security router sees but isn't broadcasting to netscanner?
I realize this question isn't specifically a netscanner issue and probably more of my inexperience with Linux and DHCP servers. But any advice you can give to me would be greatly appreciated.
Firstly, host name resolution is done via a standard system call gethostbyaddr that performs reverse lookups. Unfortunately its behavior is not clearly explained by Microsoft, but as far as I know it performs a reverse DNS lookup and attempts to resolve address to name with SMB (file sharing).
Secondly, if the above fails, it attempts to lookup a NetBios name, similar to how nbtstat works.
So in order to lookup a host name:
Host must be registered in the local DNS server; or
Host must run a file sharing service, in case with Linux that'd be Samba; or